Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi - erledigt - TidFTPServer - Kurrioses ListDirectory (https://www.delphipraxis.net/84187-erledigt-tidftpserver-kurrioses-listdirectory.html)

xSkaschY 12. Jan 2007 23:28


- erledigt - TidFTPServer - Kurrioses ListDirectory
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich bin seit heute dabei einen kleinen FTP-Server zuprogrammieren, welcher sich die Benutzer aus einer MySQL-Datenbank holt, dies funktioniert auch schon.

Jedoch habe ich ein kleine, oder vielleicht sogar ein grosses *?*, problem.

Ich möchte mir, was bei einem FTP-Server wohl so üblich ist, das aktuelle Verzeichniss mit sammt Inhalt ausgeben.
Dazu verwende ich folgende Procedure:

Delphi-Quellcode:
procedure Tmain.ftpServerListDirectory(ASender: TIdFTPServerThread;
  const APath: string; ADirectoryListing: TIdFTPListItems);
var LFTPItem : TIdFTPListItem;
    SR : TSearchRec;
    path : string;
begin
     path := nolastslash(APath);
     serverLog.Lines.Add('APath = '+ path);
     serverLog.Lines.Add('Files:');
     if FindFirst(path + '*.*', faAnyFile - faHidden - faSysFile, SR) = 0 then begin
        try
           repeat
               if ((SR.Name <> '.') and (SR.Name <> '..')) then begin
                 LFTPItem := ADirectoryListing.Add;
                 LFTPItem.FileName := SR.Name;
                 LFTPItem.Size := SR.Size;
                 LFTPItem.OwnerName := ASender.Username;
                 LFTPItem.GroupName := '[ FTPGroup ]';
                 LFTPItem.ModifiedDate := FileDateToDateTime(SR.Time);
                 LFTPItem.OwnerPermissions := 'rwx';
                 LFTPItem.GroupPermissions := 'rwx';
                 LFTPItem.UserPermissions := 'rwx';
                 if SR.Attr = faDirectory then LFTPItem.ItemType  := ditDirectory
                    else LFTPItem.ItemType  := ditFile;
                 serverLog.Lines.Add('- [' + SR.Name + ']');
               end;
           until FindNext(SR) <> 0;

        finally
            FindClose(SR);
        end;
     end;
end;
Beim Internet Explorer, wird die auflistung das reinste Tohuwabohu.
Im FireFox jedoch sieht alles vernüftig aus.

Kann es sein das ich irgend etwas übersehen habe?

Für denkanstöße bin ich sehr dankbar.

LG TOby

Anbei ein Screenshot (268 KB), wie es aussieht.

MrKnogge 12. Jan 2007 23:32

Re: TidFTP - Kurrioses ListDirectory
 
Könntest du mir auch ein Screenshot von dem Tohuwabohu zeigen ?

Welche Version des Firefox / IE benutzt du ?

Gruß

xSkaschY 12. Jan 2007 23:38

Re: TidFTP - Kurrioses ListDirectory
 
Zitat:

Zitat von MrKnogge
Könntest du mir auch ein Screenshot von dem Tohuwabohu zeigen ?

Könnte schwören den shot als Anhang gepostet zu haben.

Zitat:

Zitat von MrKnogge
Welche Version des Firefox / IE benutzt du ?

FF Version 2.0
IE: 6.0 SP1

Anbei ist noch zusagen das ich die Indy 10 Kompis Verwende und den FTP-Server im Unix Emu laufen habe.


Kann mir auch nicht erklären wie eine .txt auf einmal auf mehrere 3,64 Exabyte kommt :gruebel:
LG

MrKnogge 12. Jan 2007 23:41

Re: TidFTP - Kurrioses ListDirectory
 
Dann aktualisiere bitte den IE auf 7. (wobei es trotzdem funktionieren sollte)

Ich habe den Anhang schon gesehen, nur ist darauf nicht zu sehen was beim IE rauskommt :wink:

xSkaschY 12. Jan 2007 23:44

Re: TidFTP - Kurrioses ListDirectory
 
Zitat:

Zitat von MrKnogge
Ich habe den Anhang schon gesehen, nur ist darauf nicht zu sehen was beim IE rauskommt :wink:

Doch ist mit zusehen, unter dem Fenster vom FTP Server.

Zitat:

Zitat von MrKnogge
Dann aktualisiere bitte den IE auf 7. (wobei es trotzdem funktionieren sollte)

Leider inakzeptabel, nutze den sowieso nicht. Ausser mal hier und da zutestzwecken.

MrKnogge 13. Jan 2007 00:01

Re: TidFTP - Kurrioses ListDirectory
 
Sorry, hab ich doch tatsächlich übersehen.

Zitat:

Zitat von xSkaschY
Kann mir auch nicht erklären wie eine .txt auf einmal auf mehrere 3,64 Exabyte kommt :gruebel:
LG

Die größe ist natürlich quatsch, mir sieht das ganze etwas "verschoben" aus, als würde er mitten in der variable anfangen zu lesen und dafür etwas darüber hinausgehen.

Bist du auch bei beiden Browsern an der gleichen Position ?
Bei deinem Firefox sieht es laut Adresszeile so aus, als befändest du dich in der dummy.txt !?

IngoD7 13. Jan 2007 00:08

Re: TidFTP - Kurrioses ListDirectory
 
Auch auf die Gefahr hin, dass ich mich blamiere ... :stupid: ... aber es interessiert mich nun mal das Thema.

Was hat die Sache mit TIdFTP (siehe Threadtitel) zu tun? Das wäre ja die FTP-Client-Komponente. Diese liest mit dem Befehl LIST ein Verzeichnis von einem FTP-Server. Womit genau holst du dir denn den Inhalt deines FTP-Server-Verzeichnisses?

Und - nein, bitte nicht lachen; ich blicke da nicht durch - was haben die Browser damit zu tun?

Danke.

xSkaschY 13. Jan 2007 00:11

Re: TidFTP - Kurrioses ListDirectory
 
@ IngoD, verzeihung!
Sollte natürlich TidFTPServer sein, da es um eine FTP-Server programmierung geht.

Delphi-Quellcode:
Bist du auch bei beiden Browsern an der gleichen Position ?
Bei deinem Firefox sieht es laut Adresszeile so aus, als befändest du dich in der dummy.txt !?
Ja gleiche Position, das mit der dummy.txt erklärt sich dadurch, das wenn ich die anklicke ich nicht die Datei bekomme, sondern im Verzeichniss bleibe.

Warum auch immer.

MrKnogge 13. Jan 2007 00:13

Re: TidFTP - Kurrioses ListDirectory
 
Zitat:

Zitat von IngoD7
Und - nein, bitte nicht lachen; ich blicke da nicht durch - was haben die Browser damit zu tun?

Schau dir den Screenshot im ersten Post an, im Firefos steht das was er will, im IE nur die Hälft, die zweiten 50% sind wohl zufallsdaten.

[Add]
@xSkaschY
Hast du dir die obigen Variablen mal im Debugger angesehen ?

IngoD7 13. Jan 2007 00:24

Re: TidFTP - Kurrioses ListDirectory
 
Achsoooo ... :duck:

Die Browser rufen das Verzeichnis auf. Ich war aber auch sowas von geblendet vom Titel. :nerd:

Hm, im Fenster des FF wird die Datei dummy.txt im Aufruf (Adresszeile) mit angegeben. Im IE nicht. Hat doch damit nichts zu tun, oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:23 Uhr.
Seite 1 von 2  1 2      

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