小编Jus*_*tin的帖子

如何使过程更改变量参数的值?

我试图做一个简单的过程,从输入的字符串中删除空格:

procedure RemoveSpaces(StringParameter : String);
var
   SpacePosition: Integer;
begin
   SpacePosition := Pos(' ',StringParameter);
   while SpacePos <> 0 do
   begin
      Delete(StringParameter,SpacePos,1);
      SpacePosition := Pos(' ',StringParameter);
   end;
end;
Run Code Online (Sandbox Code Playgroud)

但在测试以下代码中的过程之后:

var
   Input : String;
begin
   Readln(Input);
   RemoveSpaces(Input);
   Writeln(Input);
   Readln;
end.
Run Code Online (Sandbox Code Playgroud)

很明显,输入变量只是从程序中反过来,好像它从未改变过一样.

我认为这可能仅限于我可以用我尚未实现的程序做什么但后来我记得我之前已经创建了一个带有StringList参数的过程,并按字母顺序对StringList中的字符串进行排序并保存更改到StringList变量参数:

var
   myStringList : TStringList;

implementation

procedure StringListSort(StringList : TStringList);
begin
   //Sort StringList
end;

procedure TFormName.ButtonNameClick(Sender: TObject);
begin
   StringListSort(myStringList);
end; 
Run Code Online (Sandbox Code Playgroud)

欢迎解决我的问题.

delphi delphi-2010

5
推荐指数
1
解决办法
1720
查看次数

标签 统计

delphi ×1

delphi-2010 ×1