G
gotiger
Unregistered / Unconfirmed
GUEST, unregistred user!
在我写的程序中,出现了字符串和动态数组的相互转换。程序一直出现问题。后来独立出来一段一段测试,发现是字符串和数组转换问题。<br>下面是我写的俩个独立的函数,测试结果乱码,大家帮忙看下。<br><br>省略.........<br><br>type<br> TArrayChar=Array of Char;<br><br>var<br> Form1: TForm1;<br><br>implementation<br><br>{$R *.dfm}<br><br>function StrToArray(StrText:String;var TextArray:TArrayChar):Boolean;<br>var i:integer;<br> Len:integer;<br>begin<br> Result:=True;<br> try<br> Len:=Length(StrText);<br> SetLength(TextArray,Len);<br><br> for i:=0 to Len do<br> begin<br> TextArray:=StrText;<br> end;<br> except<br> Result:=false;<br> end;<br>end;<br><br>function ArrayToStr(TextArray:TArrayChar;var StrText:String):Boolean;<br>var Len:integer;<br>begin<br> Result:=True;<br> try<br> len:=Length(TextArray);<br> StrText:=copy(Strpas(@TextArray),1,Len);<br> except<br> Result:=false;<br> end;<br>end;<br><br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var _TextArray:TArrayChar;<br> _StrText:String;<br>begin<br> Try<br> if StrToArray(Memo1.Text,_TextArray) then<br> Memo3.Lines.Add('StrToArray Success!!')<br> else<br> Memo3.Lines.Add('StrToArray Success!!');<br><br> if ArrayToStr(_TextArray,_StrText) then<br> Memo3.Lines.Add('ArrayToStr Success!!')<br> else<br> Memo3.Lines.Add('ArrayToStr Failed!!');<br><br> Memo2.Text:=_StrText;<br> except<br> Memo3.Lines.Add('Btn Error');<br> end;<br>end;<br><br>procedure TForm1.Button2Click(Sender: TObject);<br>begin<br> Memo1.Clear;<br> Memo2.Clear;<br> Memo3.Clear;<br>end;<br><br>end.