现在我数据库一条字段中的值是用逗号分开的,类似于下面:XXX,XXX,XXX 。有几个逗号不确定,可能没有,可能好几个。现在我需要把这个字段的内容添加到combobox,按照逗号隔开的内容分条显示,就是要显示成
XXX
XXX
XXX 这个样子。我想了好久,没想出合适的办法,现在想定义数组,然后按照逗号截取字符串添加到数组中,然后再把数组内容添加进combobox,不知道能不能行,大家有没有更好的办法啊,谢谢了
XXX
XXX
XXX 这个样子。我想了好久,没想出合适的办法,现在想定义数组,然后按照逗号截取字符串添加到数组中,然后再把数组内容添加进combobox,不知道能不能行,大家有没有更好的办法啊,谢谢了
你用 pos 跟 copy 两个函数 把 字段截出来 放到 数组里
然后添加 到combobox 就行了
究其根源 还是统一下 数据格式 才会使操作方便
lStrList : TStringList;
I: Integer;
begin
lStrList.Delimiter := ',';
lStrList.DelimitedText := 字段值;
for I := 0 to lStrList.Count - 1 do
if Pos(',',lStrList[i])> 0 then
lStrList[i] := StringReplace(lStrList[i],',','',[rfReplaceAll]);//用''替换','号
end;
var
str,str1 : string;
begin
str := '1111,2222,3333,4444';
str1 := stringReplace(str,',',' ');
ComboBox1.Items.CommaText := str;
end;
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
ComboBox1: TComboBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
str :string;
begin
str := '1,2,3';
str := stringreplace(str,',',' ',[]);
combobox1.Items.CommaText := str;
end;end.