Thema: Delphi Zuweisungsscanner????

Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Zuweisungsscanner????

  Alt 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
  Mit Zitat antworten Zitat