Compare Text
Zuletzt geändert: 11.06.2023 21:40

CompareText (Pascal-Script) #

Beschreibung #

CompareText vergleicht zwei Strings anhand ihres Ordinalwertes ohne Berücksichtigung der Groß-/Kleinschreibung.

CompareText vergleicht S1 mit S2 und gibt 0 zurück, wenn beide identisch sind. Ist S1 größer als S2, wird ein Integer-Wert größer als 0 zurückgegeben. Ist S1 kleiner als S2, ist der Rückgabewert kleiner als 0. Beim Vergleich wird nicht zwischen Groß- und Kleinschreibung unterschieden und die aktuelle Windows-Ländereinstellung nicht berücksichtigt.

Zum Beispiel gibt CompareText an, dass der String

ABC
kleiner als
aaa

ist, weil A in der ASCII-Reihenfolge kleiner als a ist. Dies steht im Gegensatz zu einem Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung. In diesem Fall würde durch den Buchstaben B oder durch einen Vergleich, der auf der Ländereinstellung (in die meisten Sprachtreibern haben Großbuchstaben höhere Werte als Kleinbuchstaben) beruht, der erste String als der größer ausgewiesen werden.

Syntax #

function CompareText(const S1, S2: String): Integer;

Argumente #

S1 ist der erste Text, der verglichen werden soll, S2 ist der zweite Text, der mit dem ersten Text verglichen werden soll.

Beispiel #

var
  S1: String;
  S2: String;
  i:Integer;
  S3: String;
begin
  S1:='Berta';
  S2:='Markus';
  i:=CompareText(S1,S2);
  S3:=IntToStr(i);
  ShowMessage(S3);
end;

Regeln zum Nachvollziehen des Scripts finden Sie hier.

In diesem Beispiel werden die Texte S1 und S2 miteinander verglichen. Die Funktion CompareText erzeugt für den Fall dass der Inhalt von S1 kleiner ist einen negativen Integer-Wert, ist er größer einen positiven Integerwert, bei Gleichheit wird 0 geliefert. Das Ergebnis von CompareText wird der Integer-Variablen i zugewiesen, die anschließend über IntToStr in den Text S3 umgewandelt und über ShowMessage ausgegeben wird. Das Ergebnis wird erwartungsgemäß negativ werden, da S1 kleiner ist als S2.

ShowMessage zeigt: -11