Thema: Delphi Problem mit if-Bedingung

Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Problem mit if-Bedingung

  Alt 3. Mär 2006, 12:45
Delphi-Quellcode:
function vergleicheStringsN(s1, s2:string; n:Word): Boolean;

var i: Word;

  function delLZ(s: string): string;
  var ss: string;
      i, j: Word;
  begin // hier auch einen Haltepunkt setzen
   j:=0; ss:='';
   for i:=1 to Length(s) do
   begin
    if (s[i] <> ' ') and (s[i] <> '-') then
    begin
     Inc(j);
     ss:= ss + s[i]
    end;
    if j=n then Break
   end;
   Result := UpperCase(ss)
  end;
 
begin // hier Haltepunkt setzen und s1 und s2 abfragen
  if delLZ(s1)=delLZ(s2) then Result:=True else Result:=False;
end;


  var flag:word
;

Delphi-Quellcode:
function vergleicheStringsN(s1, s2:string; n:Word): Boolean;

  function delLZ(s: string): string;
    begin
      s:=trim(s); // entfernt führende und folgende Leerzeichen

      while pos('-',s) <> 0 DO // entfernt - aus dem String
        delete(s,pos('-',s),1);
      
     while pos(' ',s) <> 0 DO
       delete(s,pos(' ',s),1) // entfernt Leerzeichen aus dem String;
      
     if length(s) >= n then
       result:=''
     else
       result:=uppercase(s);
    end;

begin
  if (s1 = '') and (s2 = '') then // abfangen wenn s1 und s2 leer sind
     result:=false
  else
    result:=(delLZ(s1)=delLZ(s2));
end;
Kannst Du bitte mal in Deiner Funktion einen Haltepunkt an der obigen Stelle setzen
und schauen wie s1 und s2 aussehen.
Wie schauen s1 und s2 nach der Bearbeitung durch delLZ aus?
s1 und s2 kannst Du mit Ctrl-F5 anschauen, vorher die Variable markieren.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat