![]() |
idFTP - anderer Port als 21
Ich bastel grad an einem FTP Programm.
Wie kann ich idFTP dazu bringen, dass ich einen anderen Port hernehmen kann? Das sind ja die optionen: Username := UserIDEdit.Text; Password := PasswordEdit.Text; Host := FtpServerEdit.Text; Wo kann ich den Port editieren? |
Re: idFTP - anderer Port als 21
hätte dir eigentlich ins gesicht springen müssen ;)
idftp.port := port ! |
Re: idFTP - anderer Port als 21
Delphi-Quellcode:
Und wie bau ich die Funktion ein? Bis jetzt ist kein Port vorhanden. //Port := PortEdit.text; was ich hinzugefügt hatte ging nicht.
procedure TMainForm.ConnectButtonClick(Sender: TObject);
begin ConnectButton.Enabled := false; if IdFTP1.Connected then try if TransferrignData then IdFTP1.Abort; IdFTP1.Quit; finally CurrentDirEdit.Text := '/'; DirectoryListBox.Items.Clear; SetFunctionButtons(false); ConnectButton.Caption := 'Connect'; ConnectButton.Enabled := true; ConnectButton.Default := true; end else with IdFTP1 do try Username := UserIDEdit.Text; Password := PasswordEdit.Text; Host := FtpServerEdit.Text; //Port := PortEdit.text; Connect; Self.ChageDir(CurrentDirEdit.Text); SetFunctionButtons(true); SaveFTPHostInfo(FtpServerEdit.Text, 'FTPHOST'); finally ConnectButton.Enabled := true; if Connected then begin ConnectButton.Caption := 'Disconnect'; ConnectButton.Default := false; end; end; end; |
Re: idFTP - anderer Port als 21
also mit
Zitat:
|
Re: idFTP - anderer Port als 21
Es ist das IDFTPDemo aus den IndyDemos für Delphi 6.
Nur fehlt dort die Port auswahl. Dort wird 21 hergenommen. |
Re: idFTP - anderer Port als 21
Bedenke dabei das du beim Server 2 Ports umkonigurieren musst - DefaultPort und DefaultDataPort
Hmm... du solltest die Demo auch versuchen zu verstehen und nicht einfach nur kopieren und bei dir einfügen!! Dabei lernst du nix wenn du es nicht begreifst. Und wenn du es begriffen hast weißt du auch wo die Port-Anweisung in dem Quelltext hinn muss |
Re: idFTP - anderer Port als 21
Delphi-Quellcode:
könnte das gehen?
procedure TMainForm.ConnectButtonClick(Sender: TObject);
var idftp:Tidftp; begin idftp:=TIdftp.Create(Self); idftp.Username:= UserIDEdit.Text; idftp.Password:= PasswordEdit.Text; idftp.Port:=StrToInt(PortEdit.text); idftp.Host:= FtpServerEdit.Text; //begin ConnectButton.Enabled := false; if IdFTP1.Connected then try if TransferrignData then IdFTP1.Abort; IdFTP1.Quit; finally CurrentDirEdit.Text := '/'; DirectoryListBox.Items.Clear; SetFunctionButtons(false); ConnectButton.Caption := 'Connect'; ConnectButton.Enabled := true; ConnectButton.Default := true; end else with IdFTP1 do try Username := UserIDEdit.Text; Password := PasswordEdit.Text; Host := FtpServerEdit.Text; //Port := PortEdit.text; Connect; Self.ChageDir(CurrentDirEdit.Text); SetFunctionButtons(true); SaveFTPHostInfo(FtpServerEdit.Text, 'FTPHOST'); finally ConnectButton.Enabled := true; if Connected then begin ConnectButton.Caption := 'Disconnect'; ConnectButton.Default := false; end; end; end; |
Re: idFTP - anderer Port als 21
wozu setzt du
Delphi-Quellcode:
wenn du etwas weiter unten
var idftp:Tidftp;
begin idftp:=TIdftp.Create(Self); idftp.Username:= UserIDEdit.Text; idftp.Password:= PasswordEdit.Text;
Delphi-Quellcode:
das ganze nochmal setzt? Zu deiner Frage: So im überfliegen würde ich sagen es sollte funktionieren allerdings ist es etwas unübersichtlich und somit will ich lieber nicht garantieren das es wirklich funktioniert, hab eventuell nen fehler übersehen. Mach am besten solche doppelten anweisungen weg.
else with IdFTP1 do try
Username := UserIDEdit.Text; Password := PasswordEdit.Text; |
Re: idFTP - anderer Port als 21
Irgendwie funzen nur die unteren anweisungen.
Könntest Du mir helfen? Wie gesagt ist hier kein port vorgesehen.
Delphi-Quellcode:
procedure TMainForm.ConnectButtonClick(Sender: TObject);
begin ConnectButton.Enabled := false; if IdFTP1.Connected then try if TransferrignData then IdFTP1.Abort; IdFTP1.Quit; finally CurrentDirEdit.Text := '/'; DirectoryListBox.Items.Clear; SetFunctionButtons(false); ConnectButton.Caption := 'Connect'; ConnectButton.Enabled := true; ConnectButton.Default := true; end else with IdFTP1 do try Username := UserIDEdit.Text; Password := PasswordEdit.Text; Host := FtpServerEdit.Text; Connect; Self.ChageDir(CurrentDirEdit.Text); SetFunctionButtons(true); SaveFTPHostInfo(FtpServerEdit.Text, 'FTPHOST'); finally ConnectButton.Enabled := true; if Connected then begin ConnectButton.Caption := 'Disconnect'; ConnectButton.Default := false; end; end; end; |
Re: idFTP - anderer Port als 21
poste noch n paar quelltexte wo gehen könnten und ich fang an lotto zu spielen ;)
ne mal im ernst.. setz dich mit der thematik auseinander.. wenn du an der einzelheit was nich verstehst dann is ok wenn du frägst aber ich setz doch auch net n halbes proggi wo ich irgendwo her kopiert hab hier rein und frag wie das funktioniert |
Re: idFTP - anderer Port als 21
Es funktioniert ja, bis auf den port.
Ich dachte, ich verändere die demo um es mir leichter zu machen. Ich kann ja noch dazulernen. Kannst Du mir einen link zu der tematik geben. |
Re: idFTP - anderer Port als 21
LOL muckl...
also DRPEnc: der grund wieso nur der untere nicht geht is einleuchtent... Du fragst ab od er connected is aber du gibst keine initialisierung das er überhaupt connecten soll ^^
Delphi-Quellcode:
da fehlt das Connect()
begin
idftp:=TIdftp.Create(Self); idftp.Username:= UserIDEdit.Text; idftp.Password:= PasswordEdit.Text; idftp.Port:=StrToInt(PortEdit.text); idftp.Host:= FtpServerEdit.Text; //begin ConnectButton.Enabled := false; if IdFTP1.Connected then try Müsste eigentlich klappen wenn du das noch einbaust Powerstreamer |
Re: idFTP - anderer Port als 21
@p0w3r5tr34m3r: DAs connect fehlt nicht. Wenn connected ist muss ja nicht nochmal connected werden und im ELSE-Zweig ist das Connect vorhanden
|
Re: idFTP - anderer Port als 21
ja aber sollte man nich erstmal connecten bevor man abfragt ob er connected is ?
|
Re: idFTP - anderer Port als 21
@p0w3r5tr34m3r: No - Bei diesem Beispiel scheint der Connect und Disconnect-Button das gleiche zu sein. Du klickst also drauf und er ruft "connect" auf weil "connected=False". Wenn du dann verbunden bist und wieder den Button klickst wird ist "connected = True" und somit wird die Verbindung getrennt.
|
Re: idFTP - anderer Port als 21
Delphi-Quellcode:
bekomme immer socket 10061 fehler.
procedure TMainForm.ConnectButtonClick(Sender: TObject);
var idftp:Tidftp; begin idftp:=TIdftp.Create(Self); idftp.Username:= UserIDEdit.text; idftp.Password:= PasswordEdit.Text; idftp.Port:=StrToInt(Portedit.Text); idftp.Host:= FtpServerEdit.text; try idFTP1.Connect; except showmessage('überprüfe Angaben!!!'); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz