Einzelnen Beitrag anzeigen

Phillip0405

Registriert seit: 25. Jan 2016
Ort: NRW
24 Beiträge
 
Delphi XE3 Professional
 
#9

AW: Rechnung mit Sonderzeichen in Rechnung ohne Sonderzeichen konvertieren

  Alt 2. Feb 2016, 15:28
Dann schau Dir doch mal Deine Löschroutine an und analysiere, was sie macht:
Delphi-Quellcode:
function TForm5.Löschen(text:string;alt:string): string;
  var
  b,a :integer;
 begin
  b:=Pos(alt,text); // Wo ist die zu löschende Zeichenfolge?
  a:=length(alt); // und wie lang ist sie?
  while b>0 do begin // Ist sie überhaupt vorhanden?
   text:=copy(text,b,a); // Text ist alles, ab der Fundstelle, alles was davor ist, geht "verloren".
   Delete(text,b,a); // Im Rest löschen wir jetzt ab der Position im Ursprung soviel Zeichen, wie die Zeichenfolge lang ist. Allerdings hat sich die Postition durch das Entfernen des Anfangs verschoben. Hier löschen wird also irgendwo irgendwas.
   b:=Pos(alt,text); // Position der Zeichenfolge im Rest suchen.
  end;
  result := Text; // Wenn denn was übrigbleiben sollte, geben wir das zurück.

end;
Um Fehler in 'ner eigenen Routine zu vermeiden, würd' ich mich auf vorhandene Routinen von Delphi verlassen:
Delphi-Quellcode:
sl.Text := AnsiReplaceText(sl.Text,'\A+','');
sl.Text := AnsiReplaceText(sl.Text,'\A-','');
sl.Text := AnsiReplaceText(sl.Text,'\S+','');
sl.Text := AnsiReplaceText(sl.Text,'\S-','');
sl.Text := AnsiReplaceText(sl.Text,'\U+','');
sl.Text := AnsiReplaceText(sl.Text,'\U-','');
Das klappt leider auch nicht.
P.B.
  Mit Zitat antworten Zitat