Einzelnen Beitrag anzeigen

Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: FTP URL in Bestandteile splitten

  Alt 25. Jul 2005, 14:19
Hi,

hier mal ein schnelles Quick and Dirty Beispiel. In wie weit das richtig funktioniert, weiß ich nicht, aber mit dem FTP-Dings im ersten Post geht es

Delphi-Quellcode:
type
  TFTPURL = record
    Username, Password, Host, Path, FileName: String;
    Port: Integer;
  end;

// Die passende Funktion:

function ParseFTPURL(const FTPURL: String): TFTPURL;
var
  Temp: String;
begin
  Temp := FTPURL;

  Delete(Temp, 1, 6); // ftp:// entfernen

  Result.Username := Copy(Temp, 0, Pos(':', Temp) - 1); // Benutzername kopieren
  Delete(Temp, 1, Pos(':', Temp)); // Benutzername entfernen

  Result.Password := Copy(Temp, 1, Pos('@', Temp) - 1); // Kennwort kopieren
  Delete(Temp, 1, Pos('@', Temp)); // Kennwort entfernen

  Result.Host := Copy(Temp, 1, Pos(':', Temp) - 1); // Host kopieren
  Delete(Temp, 1, Pos(':', Temp)); // Host entfernen

  Result.Port := StrToInt(Copy(Temp, 1, Pos('/', Temp) - 1)); // Port kopieren
  Delete(Temp, 1, Pos('/', Temp)); // Port entfernen

  Temp := StringReplace(Temp, '/', '\', [rfReplaceAll]);
  Result.Path := ExtractFilePath(Temp);
  Result.FileName := ExtractFileName(Temp);
end;

// Aufruf (z.B.):
procedure TForm1.Button1Click(Sender: TObject);
var
  FTP: TFTPURL;
begin
  FTP := ParseFTPURL(FTP_URL);

  with RichEdit1.Lines do
  begin
    Add(FTP.Username);
    Add(FTP.Password);
    Add(FTP.Host);
    Add(IntToStr(FTP.Port));
    Add(FTP.Path);
    Add(FTP.FileName);
  end;
end;
  Mit Zitat antworten Zitat