请各位高手分析一下,下面这段代码为什么执行不过去。谢谢
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject); private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}
function SplitString(const source,ch:string):tstringlist;
var
temp:string;
i:integer;
begin
result:=tstringlist.Create;
temp:=source;
i:=pos(ch,source);
while i<>0 do
begin
result.Add(copy(temp,0,i-1));
delete(temp,1,i);
i:=pos(ch,temp);
end;
result.Add(temp);
end;procedure TForm1.Button1Click(Sender: TObject);
var s:string;
I:integer;
begin
S:=SplitString('afsdfsdaaa|bbfdsfsdb|ccc','|');
for i:=0 to s.Count-1 do
b:=b+s.Strings[i]+#13;
showmessage(b);
s.free;
end;end.
小弟调用此函数执行S:=SplitString('afsdfsdaaa|bbfdsfsdb|ccc','|');此条语句是执行不过去,请
各位高手帮忙,谢谢了!
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject); private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}
function SplitString(const source,ch:string):tstringlist;
var
temp:string;
i:integer;
begin
result:=tstringlist.Create;
temp:=source;
i:=pos(ch,source);
while i<>0 do
begin
result.Add(copy(temp,0,i-1));
delete(temp,1,i);
i:=pos(ch,temp);
end;
result.Add(temp);
end;procedure TForm1.Button1Click(Sender: TObject);
var s:string;
I:integer;
begin
S:=SplitString('afsdfsdaaa|bbfdsfsdb|ccc','|');
for i:=0 to s.Count-1 do
b:=b+s.Strings[i]+#13;
showmessage(b);
s.free;
end;end.
小弟调用此函数执行S:=SplitString('afsdfsdaaa|bbfdsfsdb|ccc','|');此条语句是执行不过去,请
各位高手帮忙,谢谢了!
解决方案 »
- 怎么获得一个popmenu是由哪个组件弹出来的?
- 急!如何将数字字符串发音朗读?
- 如何开发一个软件自动安装系统?
- 如何才能真正的销毁窗体呢??
- 建了一个UC(与QQ一样)组,共邀大家一起探讨
- 我做一个串口软件,运行时出现一个“Range Check Error"的提示,请问是什么意思?
- 对于使用CreateOleObject创建的对象,怎样定义它的fire 事件。
- 高分求购fastreport2.47的注册码!!!
- Tadoquery执行SQL语句后,若没返回数据,则不能关闭Tadoquery,怎么办?
- 动态生成了treeview控件,怎么给这个动态的treeview加入响应事件的代码?
- 请问 fwjindream(梦中飞) 在不在啊 有急事找哈 ~~~~~~~~~~~~~在线等待哈
- 急求播放控件,高分求购
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}
function SplitString(const source,ch:string):tstringlist;
var
temp:string;
i:integer;
begin
result:=tstringlist.Create;
temp:=source;
i:=pos(ch,source);
while i<>0 do
begin
result.Add(copy(temp,0,i-1));
delete(temp,1,i);
i:=pos(ch,temp);
end;
result.Add(temp);
end;procedure TForm1.Button1Click(Sender: TObject);
var s:TstringList;
I:integer;
B: string;
begin
S:= SplitString('afsdfsdaaa|bbfdsfsdb|ccc','|');
for i:=0 to s.Count-1 do
b:=b+s.Strings[i]+#13;
showmessage(b);
s.free;
end;end.
S:=SplitString('afsdfsdaaa|bbfdsfsdb|ccc','|');
函数的返回值为Tstrings;与接受返回值的变量S类型不匹配;
将S定义为TStrings类型
然后增加变量B的定义就可以了;
你的s是string类型,而splitstring返回stringlist类型,怎么匹配??
基本概念模糊,变量没定义就拿来用 b:=b+s.Strings[i]+#13;
函数没声明
类型不一致 S:=SplitString('afsdfsdaaa|bbfdsfsdb|ccc','|');