Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi idFTP - anderer Port als 21 (https://www.delphipraxis.net/26032-idftp-anderer-port-als-21-a.html)

DRPEnc 16. Jul 2004 19:50


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?

supermuckl 16. Jul 2004 20:12

Re: idFTP - anderer Port als 21
 
hätte dir eigentlich ins gesicht springen müssen ;)

idftp.port := port !

DRPEnc 16. Jul 2004 20:25

Re: idFTP - anderer Port als 21
 
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;
    //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;
Und wie bau ich die Funktion ein? Bis jetzt ist kein Port vorhanden. //Port := PortEdit.text; was ich hinzugefügt hatte ging nicht.

supermuckl 16. Jul 2004 20:29

Re: idFTP - anderer Port als 21
 
also mit
Zitat:

Und wie bau ich die Funktion ein? Bis jetzt ist kein Port vorhanden
kann ich nich gerade viel anfangen.. was willst du ? was ist das fürn code? is der selber gemacht ? wo liegt das problem ? wo liegt die schwierigkeit den port zu übernehmen ?

DRPEnc 16. Jul 2004 20:32

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.

SirThornberry 16. Jul 2004 20:33

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

DRPEnc 16. Jul 2004 20:36

Re: idFTP - anderer Port als 21
 
Delphi-Quellcode:
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;
könnte das gehen?

SirThornberry 16. Jul 2004 20:47

Re: idFTP - anderer Port als 21
 
wozu setzt du
Delphi-Quellcode:
var idftp:Tidftp;
begin
  idftp:=TIdftp.Create(Self);
  idftp.Username:= UserIDEdit.Text;
  idftp.Password:= PasswordEdit.Text;
wenn du etwas weiter unten
Delphi-Quellcode:
  else with IdFTP1 do try
    Username := UserIDEdit.Text;
    Password := PasswordEdit.Text;
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.

DRPEnc 16. Jul 2004 20:49

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;

supermuckl 16. Jul 2004 20:50

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

DRPEnc 16. Jul 2004 20:53

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.

p0w3r5tr34m3r 16. Jul 2004 20:55

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:
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
da fehlt das Connect()


Müsste eigentlich klappen wenn du das noch einbaust


Powerstreamer

SirThornberry 16. Jul 2004 21:03

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

p0w3r5tr34m3r 16. Jul 2004 21:09

Re: idFTP - anderer Port als 21
 
ja aber sollte man nich erstmal connecten bevor man abfragt ob er connected is ?

SirThornberry 16. Jul 2004 21:11

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.

DRPEnc 16. Jul 2004 21:19

Re: idFTP - anderer Port als 21
 
Delphi-Quellcode:
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;
bekomme immer socket 10061 fehler.


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