此程序有三个控件:Edit1、Button1和Memo1。 代码如下: procedure Form1.Button1.Click(Sender:Tobject); var index:integer; begin with Edit1 do for index:=0 to Length(Edit1.Text) do Memo1.Lines.Add(Text[index]); end; 运行后在Edit1中输入英文,如"My Delphi",单击Button1后,Memo1的显示为: M y
D e ........ 可是如果输中文的话,如“我爱德尔非”,单击Button1后,Memo1里的内容是每行一个空格,请问这是什么原因,有办法解决吗?,谢谢!
----------------------------------------------
秋风清,秋月明 落叶聚还散, 寒鸦栖复惊。 相知相见知何日, 此时此夜难为情。
原因:中文站两个字符 procedure TForm1.Button1Click(Sender: TObject); var index:integer; begin with Edit1 do for index:=0 to Length(Edit1.Text) do if (index mod 2 <>0) then Memo1.Lines.Add(Text[index]+Text[index+1]);
procedure TForm1.Button1Click(Sender: TObject); var i : integer; //循環用 s : shortstring; //輸出字符串,可不用 begin i := 1; //將i至爲1 while i <= length(edit1.text) do begin //循環到edit1.text的末尾 if ord(edit1.text[i]) > 127 then begin //ASC值大於127,認爲是漢字 s := edit1.text[i] + edit1.text[i + 1]; //拼起這個漢字 i := i + 1; //跳一位 end else s := edit1.text[i]; //是字符 memo1.Lines.Append(s); //添加到Momo i := i + 1; //循環 end //While i< ... end;
----------------------------------------------
——混世生