Problem mit FTP über Synapse

Alle Fragen zur Netzwerkkommunikation
Antworten
Ralph59
Beiträge: 145
Registriert: So 22. Mär 2009, 07:48
OS, Lazarus, FPC: WIN 11 (momentan )
CPU-Target: 64 und 32Bit
Wohnort: Hessen
Kontaktdaten:

Problem mit FTP über Synapse

Beitrag von Ralph59 »

Hallo,
hier mal wieder der Anfänger :?

Nachdem ich mit LNet nicht weiter gekommen bin, und auch im Netz nichts hilfreiches gefunden habe, habe ich es mit
Synapse versucht.

Erst einmal, ein Dateitransfer up- und download funktioiert recht gut und sogar sehr einfach.

Nun wollte ich mir ein Verzeichnis anzeigen lassen. Vielleicht bin ich nicht in der Lage richtig zu lesen, habe jedoch nichts in den Beschreibungen gefunden.
Hier mein Sourcecode, mit Rückmeldungen vom FTP Server:

Code: Alles auswählen

function TForm1.holeDir(const IP, Port, DirName,
  User, Pass: string): Boolean;
  var cList:string;
begin
  Result := False;
    cList := '';
  with TFTPSend.Create do
  try
    if User <> '' then
    begin
      Username := User;
      Password := Pass;
    end;
    TargetHost := IP;
    TargetPort := Port;
    if not Login then
      Exit;
    // Versuch ein Listing zu bekommen oder anzufordern
    List('', True);
    cList := FullResult[0];
    form1.Memo1.Append(cList);            // Rückgabe: 226-Transfer complete
    cList := FullResult[1];                        // Rückgabe: 226 Quotas off
    form1.Memo1.Append(cList);
    cList := inttostr(fullresult.Count);       // Rückgabe Anzahl: 2
    form1.Memo1.Append(cList);
    // Habe auch versuche ein Command zu schicken, kommt jedoch
    // folgender Fehler:
    FTPCommand('NLST /httpdocs/*');
    cList := FullResult[0];                        // Rückgabe: 425 Unable to build data connection: Invalid argument
    form1.Memo1.Append(cList);
    // Versuch das Verzeichnis zu wechseln klappt
    ChangeWorkingDir('httpdocs');
    ChangeWorkingDir('Bilder1');
    form1.Memo1.Append(GetCurrentDir());    // Rückgabe: /httpdocs/Bilder1
    CreateDir('Ralph1');                                 // Verzeichnis erstellen klappt auch
    ChangeWorkingDir('Ralph1');
    form1.Memo1.Append(GetCurrentDir());    //Rückgabe: /httpdocs/Bilder1/Ralph1
    Logout;
  finally
    Free;
  end;
end;
In der Hoffnung, dass mir jemand auf die Sprünge helfen kann verbleibe ich

:x PS: Fühle mich nach 3 Tagen intensiven probierens schon etwas genervt.
Hat jedoch trotzdem auch etwas gutes, Mein Pascal wird immer besser :wink:

Mit freundlichem Gruß

Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6821
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Problem mit FTP über Synapse

Beitrag von af0815 »

Ralph59 hat geschrieben: FTPCommand('NLST /httpdocs/*');
cList := FullResult[0]; // Rückgabe: 425 Unable to build data connection: Invalid argument
Der Server kann den Rückkanal zu Dir nicht aufbauen - was immer das heisst.

Hat es einen Grund warum du nicht die List Methode des TFTPSend Objektes nimmst ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Ralph59
Beiträge: 145
Registriert: So 22. Mär 2009, 07:48
OS, Lazarus, FPC: WIN 11 (momentan )
CPU-Target: 64 und 32Bit
Wohnort: Hessen
Kontaktdaten:

Re: Problem mit FTP über Synapse

Beitrag von Ralph59 »

Hallo af0815,
Hat es einen Grund warum du nicht die List Methode des TFTPSend Objektes nimmst ?
Ja, habe ich probiert, aber die Funktion List hat einen Rückgabewert von Boolean :cry:
function List(Directory: string; NameList: Boolean): Boolean; virtual;

Download directory listing of Directory on FTP server. If Directory is empty string, download listing of current working directory. If NameList is True, download only names of files in directory. (internally use NLST command instead LIST command) If NameList is False, returned list is also parsed to FtpList property.

List wird auch aufgerufen und abgearbeitet:

Code: Alles auswählen

List('', True);
    cList := FullResult[0];
    form1.Memo1.Append(cList);            // Rückgabe: 226-Transfer complete
nur weis ich nicht, wo ich die Daten auslesen kann? :?:

Mit freundlichem Gruß

Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6821
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Problem mit FTP über Synapse

Beitrag von af0815 »

Ralph59 hat geschrieben:nur weis ich nicht, wo ich die Daten auslesen kann? :?:
property FtpList des Objektes FtpSend beinhaltet die Information.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Ralph59
Beiträge: 145
Registriert: So 22. Mär 2009, 07:48
OS, Lazarus, FPC: WIN 11 (momentan )
CPU-Target: 64 und 32Bit
Wohnort: Hessen
Kontaktdaten:

Re: Problem mit FTP über Synapse

Beitrag von Ralph59 »

Hallo af0815,

das habe ich mir auch schon irgendwie gedacht, nur bin ich irgendwie zu blöd dazu,
irgendwelche Informationen da raus zu bekommen.
Muss ich mit einer while oder for Anweisung irgend ein Array durchlaufen?
Wobei alle meine Abfragen zu irgendwelchen count's immer 0 zurückbringen.

kann ich direkt auf den Namen / das Listing mit ...[?] zugreifen.

Wenn es Dir nichts ausmachen würde, dann würde ich mich gerne ein paar Minuten darüber unterhalten. Ich habe einen TS-Server am laufen, zu dem ich Dir einen Link schicken könnte. Wir müssten dann ur noch eine Zeit ausmachen. Ich glaube, dass ich dann vieleicht schon recht schnell weiter komme.

Mit freundlichem Gruß

Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6821
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Problem mit FTP über Synapse

Beitrag von af0815 »

Ralph59 hat geschrieben:Wenn es Dir nichts ausmachen würde, dann würde ich mich gerne ein paar Minuten darüber unterhalten.
Forumchat oder meinen nick bei skype eingeben
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Ralph59
Beiträge: 145
Registriert: So 22. Mär 2009, 07:48
OS, Lazarus, FPC: WIN 11 (momentan )
CPU-Target: 64 und 32Bit
Wohnort: Hessen
Kontaktdaten:

Re: Problem mit FTP über Synapse

Beitrag von Ralph59 »

Hallo af0815,

Skype installiert und eingestellt, beim Micro bin ich mir nicht so sicher, ob dass klappt. Im TS funktioniert es.
Kontakt gesucht und gefunden.
Wie auch immer, ich probiere noch ein wenig weiter :?

Es funktioniert, habe nur den falschen Parameter bei List angegeben, hier der source code

Code: Alles auswählen

procedure TForm1.Button4Click(Sender: TObject);
 
var
aFTP: TFTPSend;
nint1,i:integer;
begin
    aFTP := TFTPSend.Create;
    aFTP.UserName := 'user';
    aFTP.Password := 'pwd';
    aFTP.TargetHost := 'www.meine_domain';
    aFTP.TargetPort := '21';
    aFTP.PassiveMode :=true;
   if aFTP.Login then
   begin
    aftp.List('',False) ;                                    //hier lag der Fehler
    Memo1.Text:='';
    i := 0;
    while i < aftp.FtpList.Count do
      begin
        Memo1.Lines.Add(aftp.FtpList.Items[i].FileName);
        i:=i+1;
      end;
   end      ;
    aFTP.Free;
end;
Werde noch ein paar kleine Tests durchführen

Mit freundlichem Gruß
Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6821
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Problem mit FTP über Synapse

Beitrag von af0815 »

Ein schönes Beispiel wie es geht :-) Ist ein Lehrbuchbeispiel.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Ralph59
Beiträge: 145
Registriert: So 22. Mär 2009, 07:48
OS, Lazarus, FPC: WIN 11 (momentan )
CPU-Target: 64 und 32Bit
Wohnort: Hessen
Kontaktdaten:

Re: Problem mit FTP über Synapse

Beitrag von Ralph59 »

Tja, wenn man raus hat, wie es geht, dann ist alles ganz einfach :oops:

Mit freundlichem Gruß

Ralph
Fehler sind wie Berge, man steht auf dem Gipfel seiner eigenen und redet über die der anderen.

Antworten