Thema: Delphi Nur zahlen im string

Einzelnen Beitrag anzeigen

angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Nur zahlen im string

  Alt 18. Jul 2007, 09:28
Hallo Achim,
Hallo alzaimar,


vielen Dank für die Erklärungen. Leuchtet mir ein. Für mich ist dieser Code als Verbesserung zu sehen, da ich aus Erfahrung sagen kann, das die Geschwindkeit eines Programmes sehr häufig ein KO - Kriterium für mögliche Kunden ist. Somit sind optimierte Routinen für mich Gold wert. Also besten dank für den Code, er wird Verwendung finden


[Edit]: Ich möchte euch dann auch meinen erweiterten Vorschlag nicht vorenthalten . So ist die Funktion recht allgmein:

Delphi-Quellcode:

type
  TCharSet = set of Char;

//------------------------------------------------------------------------------
// RemoveChars
// Wenn KeepCharSet = False, werden die in CharSet übergebenen Zeichen aus
// dem String s entfernt, ansonsten werden alle anderen Zeichen entfernt
//------------------------------------------------------------------------------
function RemoveChars(s: String; CharSet: TCharSet;
  KeepCharSet: Boolean): String;
var
  i, iLength: Integer;
  bAddChar: Boolean;
begin
  iLength := 0;
  for i := 1 to Length(s) do
  begin
    if (((KeepCharSet) and (s[i] in CharSet))
      or ((KeepCharSet = False) and not (s[i] in CharSet))) then
    begin
      Inc(iLength);
      if iLength <> i then
        s[iLength] := s[i];
    end;
  end;

  Result := Copy(s, 1, iLength);
end; // RemoveChars


// Für das hier benötigte Ergebnis die Funktion folgendermassen aufrufen:
Edit1.Text := RemoveChars(Edit1.Text, ['0'..'9'], True);

Grüße
Ansgar
  Mit Zitat antworten Zitat