Delphi6中要为空的字符
在Delphi6中,如何将索引指定的字符设置为空字符Delphi6中要为空的字符,delphi,char,delphi-6,Delphi,Char,Delphi 6,在Delphi6中,如何将索引指定的字符设置为空字符 procedure TMainForm.Button1Click(Sender: TObject); var i: integer; s_ord_account : String[10]; begin s_ord_account := '0930002930' ; i := 1; REPEAT IF s_ord_account[i] = '0' THEN s_ord_account[i] := ''; INC(i
procedure TMainForm.Button1Click(Sender: TObject);
var i: integer;
s_ord_account : String[10];
begin
s_ord_account := '0930002930' ;
i := 1;
REPEAT
IF s_ord_account[i] = '0' THEN
s_ord_account[i] := '';
INC(i);
UNTIL (i=5) OR (s_ord_account[i] <> ' ');
MessageDlg(s_ord_account,mtError, mbOKCancel, 0);
yend;
程序TMA通知。按钮1点击(发送者:ToObject);
varⅠ:整数;
s_ord_账户:字符串[10];
开始
s_ord_账户:='0930002930';
i:=1;
重复
如果s_ord_账户[i]=“0”,则
s_ord_账户[i]:='';
公司(一);
直至(i=5)或(s_ord_账户[i]”);
MessageDlg(s_ord_账户,mtError,mbOKCancel,0);
yend;
当我试图执行这段代码时,我得到了一个错误
[错误]Main.pas(30):不兼容的类型:“Char”和“String”
首先,停止使用Turbo-Pascal字符串并使用本机Delphi字符串类型,
string
,对您来说是非常有意义的
没有空字符这样的东西。可以使用该函数从字符串中删除字符。更简单的方法是使用函数。这使得您的代码完全没有必要
{$APPTYPE CONSOLE}
uses
SysUtils;
var
s: string;
begin
s := StringReplace('0930002930', '0', '', [rfReplaceAll]);
Writeln(s);
end.
输出
93293
93293
没有空字符!字符总是有一个值。您可以设置一个字符值,将其视为空白,如
#32
或'
或#0
''
是一个空字符串,没有字符。空字符串意味着删除/删除字符,也许您希望像@SirRufo建议的那样使用空格字符?FastCoders是一个更快的替代方案,合并到以后的Delphi版本中。