一个字段的内容可以分开赋到不同的地方吗?(100分)

  • 主题发起人 主题发起人 lyg011
  • 开始时间 开始时间
L

lyg011

Unregistered / Unconfirmed
GUEST, unregistred user!
一个字段'NAME',里面有几个人的姓名,中间用','分开,如'张三,李四',现在我想去张三的名字出来放到Edit1.text里面,而李四则在Edit2.text里面,这个是否要自己写函数实现?又该如何写呢?谢谢大家了!
 
用 TStringList 将名字分开,然后分别赋值给 Edit1、Edit2...
你的'NAME'字段每条记录是否含有固定个数的姓名?
 
str:='张三,李四';
edit1.text:=leftBStr(str,ansipos(',',str)-1);
Edit2.text:= delete(str,1,ansipos(',',str));
 
{=================================================================
功 能: 字符分隔转换为数组
参 数: Source ch
返回值:
=================================================================}
Function SplitString(const Source, ch: String): TStrings;
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;

// 调用方法是:
memo1.Lines.text:=SplitString('张三,李四',',').text;
 
to:kaida
是固定的。

我先试试。。。
 
BBSCOM的方法比较灵活
 
to bbscom兄:
// 调用方法是:
‘memo1.Lines.text:=SplitString('张三,李四',',').text; ’这句费解,
如何绕过字段‘NAME’来获取呢?我的字段内的名字是固定最多四个
 
var
List : TStringList;
begin
List := TStringList.Create;
List.CommaText := ADOQuery1.FieldByName('Name').AsString;
edit1.Text := List[0];
edit2.Text := List[1];
edit3.Text := List[2];
 
var
StrList: TStringList;
begin
StrList := TStringList.Create;
try
StrList.CommaText := s;
Edit1.Text := StrList[0];
Edit2.Text := StrList[1];
Edit3.Text := StrList[2];
Edit3.Text := StrList[3];
finally
StrList.Free;
end;
end;
 
搞定,谢谢各位了!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部