Doch, es ist gegeben.
Beide Teile haen eine Wertigkeit,
also erstmal den Provider vergleichen und wenn gleich, dann den Rest vergleichen.
Delphi-Quellcode:
if ProviderA < ProviderB then x := -1
else if ProviderA > ProviderB then x := +1
else if PersonA < PersonB then x := -1
else if PersonA > PersonB then x := +1
else x := 0;
Delphi-Quellcode:
x := CompareString(ProviderA, ProviderB);
if x = 0 then
x := CompareString(MailA, MailB);
(natürlich kann man jetzt noch alles so zusammenrechnen, daß es nur noch <= und > gibt)
Genauso werden die Strings verglichen, also zuerst das erste Zeichen, wenn gleich, dann das nächste Zeichen und so weier.
Nun kann man die Zeichen auch in einer anderen Reihenfolge vergleichen, wie z.B. nach dem @ beginnen und am Ende vorne wieder anfangen.