procedure StrToStrings(S: AnsiString; Sep: AnsiString; const List: TStrings);
var
I, L: Integer;
Left: AnsiString;
begin
Assert(List <> nil);
List.Clear;
L := Length(Sep);
I := Pos(Sep, S);
while (I > 0) do
begin
Left := StrLeft(S, I - 1);
List.Add(Left);
Delete(S, 1, I + L - 1);
I := Pos(Sep, S);
end;
if S <> '' then
List.Add(S);
end;function StrLeft(const S: AnsiString; Count: Integer): AnsiString;
begin
Result := Copy(S, 1, Count);
end;
var
I, L: Integer;
Left: AnsiString;
begin
Assert(List <> nil);
List.Clear;
L := Length(Sep);
I := Pos(Sep, S);
while (I > 0) do
begin
Left := StrLeft(S, I - 1);
List.Add(Left);
Delete(S, 1, I + L - 1);
I := Pos(Sep, S);
end;
if S <> '' then
List.Add(S);
end;function StrLeft(const S: AnsiString; Count: Integer): AnsiString;
begin
Result := Copy(S, 1, Count);
end;
解决方案 »
- 开辟线程显示子窗口,返回主窗口后,整个主窗口不能操作
- 请问谁有:《Delphi串口及语音传真高级编程》电子书?
- 出卖毕业设计
- SocketConnection和AdoTable和clientDataset问题??马上给分
- 在win2000开发的程序,在win98下运行的问题
- 这款软件蛮爽呢,可以看很多电视
- 请问:在不关闭窗体的情况下怎么让某个菜单的快捷键失效??先谢了
- 数据库引擎错误(BDE)
- 两个DateTime 数据类型相减后的值,如何运算能得到月数?(delphi ,access数据库)
- 寻找TPolyline控件
- 使用TDBDataSet的TUpdateRecordTypes属性出错,代码如下,一定给分。
- 愚蠢问题在于,98与Win2000怎么联不上?
abc:TStringList;
begin
abc := TStringList.Create;
abc.Delimiter := '#';
abc.DelimitedText := '1234.23#43432.3231#2342323#23423#1212.3232';
然后
abc.Strings[0] 中就是 1234.23;
MyStrings : array of String;
Temp : string;
i : integer;
begin
Temp := '1234.23#43432.3231#2342323#23423#1212.3232';
I := lastDelimiter('#',temp); while (i<>0) and (Temp <>'') do
begin
setlength(MyStrings,Length(MyStrings) + 1);
MyStrings[High(MyStrings)] := Copy(Temp,I+1,Length(Temp) - I -1);
Delete(Temp,I,Length(Temp) - I);
I := LastDelimiter('#',temp);
end; setlength(MyStrings,Length(MyStrings) + 1);
MyStrings[High(MyStrings)] := temp;//加上最后一个; for I := 0 to High(MyStrings) do
ShowMessage(MyStrings[I]);
用不了这么复杂的var
abc:TStringList;
begin
abc := TStringList.Create;
abc.Delimiter := '#';
abc.DelimitedText := '1234.23#43432.3231#2342323#23423#1212.3232';
然后
abc.Strings[0] 中就是 1234.23;