zu DeddyH:
Also ich lerne von anderer Leute code mehr als aus Büchern.
Damit (hal > hallo) oder (hal < hallo), muss man erst mal entscheiden, was sinnvoll wäre.
Eine Wahl wäre z.B. so:
Delphi-Quellcode:
function TForm1.StrCompare(s1, s2: String): Integer;
var
j, minLen: Integer;
begin
minLen := Length(s1);
if Length(s2) < minLen then
minLen := Length(s2);
j := 1; result := 0;
while (j <= minLen) and (result = 0) do
begin
if ord(s1[j]) < ord(s2[j]) then
result := -1
else
if ord(s1[j]) > ord(s2[j]) then
result := 1
else
result := 0;
inc(j);
end;
if (result = 0) and (Length(s2) > minLen) then result := -1;
if (result = 0) and (Length(s1) > minLen) then result := 1;
end;
zu Biby90:
Du brauchst kein ChartoInt. Die Funktion ord macht das schon.
Zum Vergleichen musst Du synchron durch beide Strings laufen: (j = 1..minLen) bis einer von beiden zu Ende ist. Sobald ein Unterschied in der Zeichenfolge besteht, kann die Funktion beendet werden.