AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy FTP Server - Dateiliste aus Stringlist
Thema durchsuchen
Ansicht
Themen-Optionen

Indy FTP Server - Dateiliste aus Stringlist

Offene Frage von "skyquaker"
Ein Thema von skyquaker · begonnen am 11. Mär 2008 · letzter Beitrag vom 15. Mär 2008
Antwort Antwort
Seite 1 von 2  1 2      
skyquaker

Registriert seit: 14. Sep 2006
96 Beiträge
 
Delphi 7 Professional
 
#1

Indy FTP Server - Dateiliste aus Stringlist

  Alt 11. Mär 2008, 18:21
Kann man dem IndyFTP Server eine eigene Dateiliste zuspielen? Also das der Server dem Client statt einem Ordner Dateien anzeigt, die nicht existieren (nur als Einträge in einer StringList).

In der StringList steht beispielsweise:
Delphi-Quellcode:
datei1
datei2
Der User kriegt von seinem FTP Client angezeigt:
Delphi-Quellcode:
datei1
datei2

Datei1 und Datei2 gibt es nicht wirklich. (Sie sind keine reellen Dateien auf einem Datenträger)

Ich bin das ganze schon einmal selbst angegangen.

Die Dateiliste müsste doch hier gesendet werden:
Delphi-Quellcode:
procedure TForm1.FTPServerListDirectory(ASender: TIdFTPServerContext;
  const APath: string; ADirectoryListing: TIdFTPListOutput; const ACmd,
  ASwitches: string);
Wenn man jetzt TIdFTPListOutput die gewünschten Daten zuschieben könnte, dann müsste das ganze doch funktionieren, oder?

Ich bin dankbar für alle Hilfe die ich bekomme
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Indy FTP Server - Dateiliste aus Stringlist

  Alt 11. Mär 2008, 18:27
Guten Abend,

die Liste ist das Resultat des FTP Befehls "list" (zu finden in der RFC unter Punkt 4.1.3).
Daran kannst Du so ohne weiteres nichts manipulieren.
Du könntest die List höchstens ändern bevor sie auf dem Client
angezeigt wird. Dazu mußt Du aber den Quelltext des Client ändern.

Wozu das gut sein soll, erschließt sich mir nicht so richtig.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
skyquaker

Registriert seit: 14. Sep 2006
96 Beiträge
 
Delphi 7 Professional
 
#3

Re: Indy FTP Server - Dateiliste aus Stringlist

  Alt 11. Mär 2008, 18:38
Zitat von Klaus01:
Guten Abend,

die Liste ist das Resultat des FTP Befehls "list" (zu finden in der RFC unter Punkt 4.1.3).
Daran kannst Du so ohne weiteres nichts manipulieren.
Du könntest die List höchstens ändern bevor sie auf dem Client
angezeigt wird. Dazu mußt Du aber den Quelltext des Client ändern.

Wozu das gut sein soll, erschließt sich mir nicht so richtig.

Grüße
Klaus
Danke für die schnelle Antwort

Das ganze soll nur clientseitig laufen, ich möchte das der Client per "localhost" auf diese Liste zugreifen kann.

Ich wollte überprüfen ob eine Datei abgefragt wird und dann auf eine andere Datei verlinken, dies ist aber scheinbar nicht möglich. (Wäre das denn überhaupt machbar, jetzt einmal abgesehen von dem Einspeisen der Liste. Ginge das vielleicht mit FTPServer.ONGetFile?).

Es sollte eine Art "Verschachtelung" für ein anderes Protokoll (oder eine Mischung aus anderen Protokollen) werden, auf die man via FTP zugreifen kann.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Indy FTP Server - Dateiliste aus Stringlist

  Alt 11. Mär 2008, 18:55
Hallo,

Zitat von skyquaker:
... Kann man dem IndyFTP Server eine eigene Dateiliste zuspielen? Also das der Server dem Client statt einem Ordner Dateien anzeigt, die nicht existieren (nur als Einträge in einer StringList). ...
klar doch - warum sollte das nicht gehen? Du selbst implementierst ja die Behandlung des LIST-Befehls.

Zitat von skyquaker:
... Wenn man jetzt TIdFTPListOutput die gewünschten Daten zuschieben könnte, dann müsste das ganze doch funktionieren, oder? ...
Na klar, die Collection ist ja leer, wenn dein event handler die Kontrolle erhält. Wenn du da nichts reinschreibst, dann kommt beim Client auch nichts an. Was du da rein schreibst ist deine Sache, solange du ein erkennbares Format (Standard oder Custom) verwendest. Das Mapping der Dateinamen, wenn dann der Client die imaginäre Datei anfordert, musst du dann beim Ereignis OnRetrieveFile() vornehmen.

Klaus hat bestimmt übersehen, dass du den FTP Server ja selbst implementierst und nicht bei einem existierenden Server anfragst.

Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Indy FTP Server - Dateiliste aus Stringlist

  Alt 11. Mär 2008, 18:56
FTP ist nur ein Protokoll. Was du dort beim List-Kommando zurück gibst ist einzig und allein dir überlassen. Natürlich müssen die Dateien dabei auch nicht existieren.
Einfach eine Stringlist nehmen geht allerdings auch nicht weil du beim Listing angeben solltest ob es sich um Dateien handelt, wie groß diese Sind welche Attribute sie haben etc.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
skyquaker

Registriert seit: 14. Sep 2006
96 Beiträge
 
Delphi 7 Professional
 
#6

Re: Indy FTP Server - Dateiliste aus Stringlist

  Alt 11. Mär 2008, 19:43
Zitat von marabu:
Hallo,

Zitat von skyquaker:
... Kann man dem IndyFTP Server eine eigene Dateiliste zuspielen? Also das der Server dem Client statt einem Ordner Dateien anzeigt, die nicht existieren (nur als Einträge in einer StringList). ...
klar doch - warum sollte das nicht gehen? Du selbst implementierst ja die Behandlung des LIST-Befehls.

Zitat von skyquaker:
... Wenn man jetzt TIdFTPListOutput die gewünschten Daten zuschieben könnte, dann müsste das ganze doch funktionieren, oder? ...
Na klar, die Collection ist ja leer, wenn dein event handler die Kontrolle erhält. Wenn du da nichts reinschreibst, dann kommt beim Client auch nichts an. Was du da rein schreibst ist deine Sache, solange du ein erkennbares Format (Standard oder Custom) verwendest. Das Mapping der Dateinamen, wenn dann der Client die imaginäre Datei anfordert, musst du dann beim Ereignis OnRetrieveFile() vornehmen.

Klaus hat bestimmt übersehen, dass du den FTP Server ja selbst implementierst und nicht bei einem existierenden Server anfragst.

Freundliche Grüße
Ich kenn mich leider mit dem FTP Protokoll nicht besonders gut aus. Ich muss jetzt also ADirectoryListing (TIdFTPListOutput) die Informationen in einem bestimmten Format übergeben, in welchem? Kann mir jemand vielleicht ein praktisches Beispiel liefern? Oder mich auf eines verweisen?

Bitte übt Geduld mit mir, ich kenne mich halt nicht so gut aus
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Indy FTP Server - Dateiliste aus Stringlist

  Alt 11. Mär 2008, 20:07
Du musst dir kein eigenes Format ausdenken, wenn dir das Standardformat genügt. Bei den Indy-Demos ist ein FTP-Server dabei, den solltest du dir mal anschauen. Du arbeitest eigentlich nur mit der Collection und ihren Items, das passende Format wird ohne dein Zutun vor der Übertragung hergestellt.
  Mit Zitat antworten Zitat
skyquaker

Registriert seit: 14. Sep 2006
96 Beiträge
 
Delphi 7 Professional
 
#8

Re: Indy FTP Server - Dateiliste aus Stringlist

  Alt 11. Mär 2008, 22:17
Zitat von marabu:
Du musst dir kein eigenes Format ausdenken, wenn dir das Standardformat genügt. Bei den Indy-Demos ist ein FTP-Server dabei, den solltest du dir mal anschauen. Du arbeitest eigentlich nur mit der Collection und ihren Items, das passende Format wird ohne dein Zutun vor der Übertragung hergestellt.
Delphi-Quellcode:
procedure TForm1.FTPServerListDirectory(ASender: TIdFTPServerContext;
  const APath: string; ADirectoryListing: TIdFTPListOutput; const ACmd,
  ASwitches: string);
 var st:TStrings;
     aq:TIdFTPListOutputItem;
begin
ShowMessage('TEST');
end;
Das erste Problem ist, dass TEST nicht angezeigt wird, was heißt das der Code nicht ausgeführt wird.

Das zweite Problem ist, dass ADirectoryListing scheinbar eine TCollection oder ein TCollectionItem benötigt um mit Daten befüllt zu werden.

Leider weiß ich absolut nicht was ich machen soll.

Wär echt gut wenn mir das jemand erklären könnte.
  Mit Zitat antworten Zitat
skyquaker

Registriert seit: 14. Sep 2006
96 Beiträge
 
Delphi 7 Professional
 
#9

Re: Indy FTP Server - Dateiliste aus Stringlist

  Alt 14. Mär 2008, 20:03
Weiß niemand eine Antwort? Das kann doch nicht so kompliziert sein.

(sorry fürs gepusche, aber ich hänge hier fest )
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Indy FTP Server - Dateiliste aus Stringlist

  Alt 15. Mär 2008, 10:55
Moin,

hast du dir die Demo "FTPServer_Console" aus den Indy9Demos mal angeschaut?

Wie sieht denn dein nicht funktionierender Code aus?

Freundliche Grüße
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz