(Co-Admin)
Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
Turbo Delphi für Win32
|
Re: Eigenen Scripter
23. Mär 2006, 18:06
Zitat von Spider:
Wie?
Mit diesem nicht ganz performanten Bsp für etwas wie Msg (Hallo,Blubb):
Delphi-Quellcode:
procedure TForm1.Parse;
var
SL: TStringList;
i, j: Integer;
InFkt: Boolean;
Temp: string;
Pos1, Pos2: Integer;
Param1, Param2: string;
begin
SL := TStringList.Create;
try
SL.Text := Memo1.Text; // Kannst au die externe datei mit
// SL.LoadFromFile laden
// Zeilen durchgehen
for i := 0 to SL.Count - 1 do
begin
Temp := '';
Param1 := '';
Param2 := '';
// unnötige Leerzeichen entfernen (nicht performant, aber geht)
InFkt := false;
for j := 1 to Length(SL[i]) do
begin
if (SL[i][j] = '(') or (SL[i][j] = ')') then
InFkt := not InFkt;
if ((not InFkt) and (SL[i][j] <> ' ')) or (InFkt) then
Temp := Temp + SL[i][j];
end;
// Abfrage auf Msg
if Pos('Msg', SL[i]) = 1 then
begin
// 1. Parameter
Pos1 := Pos('(', Temp) + 1;
Pos2 := PosEx(',', Temp, Pos1);
Param1 := Copy(Temp, Pos1, Pos2 - Pos1);
// 2. Parameter
Pos1 := Pos2 + 1;
Pos2 := PosEx(')', Temp, Pos1 + 1);
Param2 := Copy(Temp, Pos1, Pos2 - Pos1);
end;
if (Param1 <> '') and (Param2 <> '') then
Application.MessageBox(PAnsiChar(Param2), PAnsiChar(Param1), 64);
end;
finally
FreeAndNil(SL);
end;
end;
|
|
Zitat
|