今天刚从花山回来。花果山实习共花两天,第一天从早上8:30出发,下午4点回校,第二天早上7:00出发,下午3点回校,总算是搞完了。我的手严重晒伤,好痛,昨晚那么晚了还跑出去买了药,希望不要脱皮!
前天拿到全站仪就写了最后一个功能,但是由于时间太仓促,功能上有点问题,昨晚上又改了一下,才没有问题。这个软件就到这里了,不想再写下去了!就让2.0成为最后一个版本吧,可能也只有我本人才有这个版本……
帖上两非常重要的函数。
//将数据转换成南方CASS的数据格式 procedure Tform1.StringToNF(s:AnsiString); var temp2,tempData:AnsiString; i,j:integer; begin dataString:=dataString+s; repeat i:=pos('+',string(dataString)); j:=pos('_',string(dataString)); if((i<>0) and (j<>0)) then begin dataString:=Copy(dataString,i+1,length(dataString)-i); j:=pos('_',string(dataString)); tempData:=AnsiString(trim(string(Copy(dataString,1,j-1)))); dataString:=copy(dataString,j+1,length(dataString)-j); case times mod 4 of 1: tempNFstr:=tempNFstr+tempData+',,'; 2,3: begin temp2:=AnsiString(IntToStr(strtoint(string(tempData)))); Insert('.',temp2,length(temp2)-2); tempNFstr:=tempNFstr+temp2+','; end; 0: begin temp2:=AnsiString(IntToStr(strtoint(string(tempData)))); Insert('.',temp2,length(temp2)-2); tempNFstr:=tempNFstr+temp2; bsSkinMemo1.Lines.Add(string(ExchangeXY(tempNFstr))); label102.Caption:='已下载点数:'+IntToStr(times div 4); tempNFstr:=''; end; end; end; times:=times+1; until ((pos('+',string(dataString))=0) or (pos('_',string(dataString))=0)); end; //将X,Y坐标互换(因测绘坐标系与数学的X,Y反的) function ExchangeXY(s:Ansistring):Ansistring; var i:integer; s1,s2,s3,s4:AnsiString; begin i:=pos(',',string(s)); s1:=copy(s,1,i+1); s:=Copy(s,i+2,length(s)-i); i:=pos(',',string(s)); s2:=copy(s,1,i); s:=Copy(s,i+1,length(s)-i); i:=pos(',',string(s)); s3:=copy(s,1,i); s4:=Copy(s,i+1,length(s)-i); Result:=s1+s3+s2+s4; end;