我有一行描述如下:'| 0200 | 4 | SALGADOS ||| KG | 00 | 19051000 |||| 17 |'
我想分隔管道在数据库中保存数据的位置.
我正在错误地使用pos功能.但我得到的数据.
在if中,我将数据插入db.
ReadLn(txt, line);
if True then
if (Pos('|0200|', line)) = 1 then
begin
fArq.Add(line);
end;
if (pos('|0000|', line)) = 1 then
begin
fArq.Add(line);
end;
if (pos('|0005|', line)) = 1 then
begin
fArq.Add(line);
end;
if (pos('|C460|', line)) = 1 then
begin
fArq.Add(line);
flagCF := True;
end
else
begin
if flagCF = True then
if (pos('|C490|', line)) = 0 then
fArq.Add(line)
else
flagCF := False;
end
Run Code Online (Sandbox Code Playgroud)
您还可以使用TStringList:
lStringList := TStringList.Create;
lStringList.delimiter := '|';
lStringList.DelimitedText := '|0200|4|SALGADOS|||KG|00|19051000||||17|';
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用lStringList.Items [index]访问每个字段
注意(来自注释):如果字符串中包含空格字符,则设置StrictDelimiter为true以避免将它们视为分隔符.
| 归档时间: |
|
| 查看次数: |
1176 次 |
| 最近记录: |