-6

这是我的代码:

var
aChar,temp : char ;
test : string ;
k : integer ;
begin
K := 1 ;
test := edit1.Text ;
for k := 1 to 10 do
temp := test[k] ;
aChar := upcase(Temp) ;
richEdit1.Lines.Add(aChar);
richEdit1.Lines.Add(#13) ;
end;

出于某种原因,它返回随机值,例如 # 和 T 但我已经初始化了它们?任何人都可以弄清楚请让我知道,因为我明天会写这些东西。

4

1 回答 1

3

正如杰里已经说过的,你的循环是错误的:

  var
    Len: Integer;
  ...
    Test := Edit1.Text;
    Len := Length(Test);
    if Len > 10 then 
      Len := 10;
    for K := 1 to Len do
    begin // !!!
      Temp := Test[K] ;
      AChar := UpCase(Temp) ;
      RichEdit1.Lines.Add(AChar);
      RichEdit1.Lines.Add(#13);
    end; // !!!
  end;

您可能会发现您是否使用了调试器(这在 Delphi 中非常简单)和/或您是否正确格式化了代码(IDE 也可以为您执行此操作)。

正确的格式是查找看起来很奇怪或格式不符合预期的东西的好工具。这些通常是错误的。

于 2017-06-26T16:19:46.283 回答