Registriert seit: 6. Apr 2005
10.109 Beiträge
|
Re: TextFile auslesen mit Funtion
11. Mär 2008, 10:40
Hallo,
hier ein imperativer Ansatz:
Delphi-Quellcode:
function AnsiExtractStr(var p: PAnsiChar; delimiters: string): string;
var
pStart: PChar;
begin
pStart := p;
while (p <> '') and (AnsiPos(p[0], delimiters) = 0) do
Inc(p);
if p <> '' then
begin
SetString(Result, pStart, Integer(p) - Integer(pStart));
end else Result := '';
end;
procedure ExtractValues(stmt: string; values: TStrings);
const
S_VALUES = ' VALUES';
var
s: string;
iVal, iPar: Integer;
p: PChar;
begin
values.Clear;
p := PChar(stmt);
iVal := Pos(S_VALUES, AnsiUppercase(stmt));
iPar := PosEx('(', stmt, iVal + Length(S_VALUES));
Inc(p, iPar);
while Assigned(p) do
begin
if AnsiStartsStr('''', p)
then s := AnsiExtractQuotedStr(p, '''')
else s := AnsiExtractStr(p, ',)');
values.Add(s);
while Assigned(p) and (p[0] in [' ', ',']) do
Inc(p);
if AnsiStartsStr(')', p) then
Break;
end;
end;
Getippt und nicht ausführlich getestet.
Freundliche Grüße
|
|
Zitat
|