Wieso denn so umständlich (das bezieht sich auf InternetCrackUrl...)? Ich meine, wenn die
URL tatsächlich immer genau diese Form hat, muss doch nur mit Copy / Pos / Delete nacheinander durch die Bestandteile gegangen werden:
Delphi-Quellcode:
var
tmpURL, Prot, User, Pass, Host, Dir,
File, FileExt:
String;
function GetAndDelete(Delim:
String):
String;
begin
Result := Copy(tmpURL, 1, Pos(Delim, tmpURL) - 1);
Delete(tmpURL, 1, Pos(Delim, tmpURL) + Length(Delim) - 1);
end;
begin
tmpURL := '
ftp://benutzername:kennwort@hostname:21/Verzeichnis/Datei.txt';
Prot := GetAndDelete('
://');
User := GetAndDelete('
:');
Pass := GetAndDelete('
@');
//Und so weiter...
end;
Dann braucht man nicht InternetCrackUrl benutzen und das damit verbundene Speichermanagement entfällt.
Abgesehen davon kann man so auch auf Fehler besser reagieren, da man bei InternetCrackUrl nur weiß, dass es nicht geklappt hat, aber nicht wo...
Ich seh grad, so ähnlich aber nicht so kompakt hat es auch schon Spider gepostet...