Hi,
ich hatte schon lange vor nen FTPServer zu proggen, aber es hing immer an der OnListdirectory
Nun hab ich das Passende gefunden dafür.
JUHUU
.....NARF zu früh gefreut
Jetzt will das
Indy-Teil auch noch mit Ereignissen wie z.B. ChangeDir, ondeletefile &co. gefüttert werden
Mein Problem ist:
Er listet zwar alle Verzeichnisse schön auf, aber wenn ich auf einen ordner klicke öffnet er den nicht. Runter- / Hochladen geht auch nicht
Einer ne Idee wie man das hin bekommt? Irgendwie findet man im ganzen Internet nicht eine Person die Ahnung vom IDFTP-Server hat!
Also bei OnListDirectory hab ich jetzt das gemacht (hab ich ausm
DF):
Code:
procedure TForm1.IdFTPServer1ListDirectory(ASender: TIdFTPServerThread;
const APath: String; ADirectoryListing: TIdFTPListItems);
var LItem: TidFTPListItem;
tmp1: TSearchRec;
LFileAttribute: Integer;
LPfad: String;
begin
LPfad := pfad;
LFileAttribute := FILE_ATTRIBUTE_DIRECTORY + FILE_ATTRIBUTE_HIDDEN + FILE_ATTRIBUTE_SYSTEM;
if FindFirst(LPfad + '*', LFileAttribute, tmp1) = 0 then
begin
repeat
if (tmp1.Name <> '.') and (tmp1.Name <> '..') then
begin
LItem := ADirectoryListing.Add;
LItem.FileName := tmp1.Name;
LItem.Size := tmp1.Size;
LItem.OwnerName := 'Username';
LItem.GroupName := 'Groupname';
LItem.OwnerPermissions := 'rwx';
LItem.GroupPermissions := 'rwx';
LItem.UserPermissions := 'rwx';
if DirectoryExists(LPfad + tmp1.Name) then
LItem.ItemType := ditDirectory
else
LItem.ItemType := idftplist.ditFile;
end;
until FindNext(tmp1) <> 0;
end;
FindClose(tmp1);
end;
Mit was muss ich den denn noch füttern? Will doch nur Dass ich die Ordner öffnen kann und dass ich was runter-rauf laden kann (CHMod und co. brauch ich ja ganich unbedingt)