(Moderator)
Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
Delphi 2006 Professional
|
Re: Zuweisungsscanner????
26. Apr 2005, 20:38
So siehts aus:
Delphi-Quellcode:
procedure doit(AStr: String; ADestList: TStrings);
type
TCharType = (ctZahl, ctBuchstabe, ctOther);
function LGetCharType(AChar: Char): TCharType;
begin
if pos(AChar, '1234567890') > 0 then
result := ctZahl
else if pos(AnsiLowerCase(AChar), 'abcdefghijklmnopqrstuvwxyz') > 0 then
result := ctBuchstabe
else
result := ctOther;
end;
var LTmpStr: String;
LCurrType, LType: TCharType;
LCount: Integer;
begin
AStr := StringReplace(AStr, ' ', '', [rfReplaceAll]);
if (AStr <> '') then
begin
LTmpStr := '';
LCurrType := LGetCharType(AStr[1]);
for LCount := 1 to length(AStr) do
begin
LType := LGetCharType(AStr[LCount]);
if LType <> LCurrType then
begin
if LTmpStr <> '' then
begin
ADestList.Add(LTmpStr);
LTmpStr := '';
end;
LCurrType := LType;
end;
LTmpStr := LTmpStr + AStr[LCount];
end;
if LTmpStr <> '' then
ADestList.Add(LTmpStr);
end;
end;
beispielaufruf:
Delphi-Quellcode:
var LDestList: TStringList;
begin
LDestList := TStringList.Create;
doit('anna:=34 + jojo;', LDestList);
ShowMessage(LDestList.Text);
LDestList.Free;
Jens Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
|
|
Zitat
|