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.