AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdFTP Dateien auflisten mit Zusatzinfos?
Thema durchsuchen
Ansicht
Themen-Optionen

IdFTP Dateien auflisten mit Zusatzinfos?

Ein Thema von Jamah · begonnen am 22. Aug 2010 · letzter Beitrag vom 3. Sep 2010
Antwort Antwort
Seite 1 von 2  1 2      
Jamah

Registriert seit: 2. Dez 2009
Ort: Nordhorn
74 Beiträge
 
RAD-Studio 2010 Arc
 
#1

IdFTP Dateien auflisten mit Zusatzinfos?

  Alt 22. Aug 2010, 20:37
Moin.
Kleines Problem, gestaltet sich ungefähr so:
ich wollte eine kleinigkeit für n paar Kumpels schreiben. Die wollen Textentwürfe über einen Server austauschen. Also hab ich mir gedacht, ich bau n kleines Tool, dass dann immer bei Aufruf zum Server verbindet und von da dann einfach alle Dateien auflistet (in ein Liestview).
Ich hab mal irgendwo rausgesucht, dass man das mit IdFTP1.List(Listeview1.Items) oder so ähnlich machen kann.
Allerdings möchte ich ja die Dateigröße, denjenigen, der die Datei hochgeladen hat und das Uploaddatum.
Wie jedoch bekomme ich die Dateien so als Stringlist oder wie auch immer, dass ich die zufügen kann und dann noch Subitems.Add benutzen.
Und nun die 1.000.000€-Frage: Wie krieg ich das hin?

Danke für eure hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: IdFTP Dateien auflisten mit Zusatzinfos?

  Alt 22. Aug 2010, 20:42
Hast du dir schon mal die Demos von den Indys angeguckt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Jamah

Registriert seit: 2. Dez 2009
Ort: Nordhorn
74 Beiträge
 
RAD-Studio 2010 Arc
 
#3

AW: IdFTP Dateien auflisten mit Zusatzinfos?

  Alt 22. Aug 2010, 20:49
Jop aber da ist so viel mit Direcotry und so.
Ich möchte die Dateien ja nur auflisten. Nicht die Ordner...
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

AW: IdFTP Dateien auflisten mit Zusatzinfos?

  Alt 22. Aug 2010, 20:52
Alles bekommst du mit
 FFtp.List (nil, '-a', True); guckst du hier

Dateien und Ordner jkannst du dann ja nachher ausfiltern
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: IdFTP Dateien auflisten mit Zusatzinfos?

  Alt 22. Aug 2010, 20:56
Jop aber da ist so viel mit Direcotry und so.
Ich möchte die Dateien ja nur auflisten. Nicht die Ordner...
Dann musst du dich eben mal etwas damit auseinandersetzen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Jamah

Registriert seit: 2. Dez 2009
Ort: Nordhorn
74 Beiträge
 
RAD-Studio 2010 Arc
 
#6

AW: IdFTP Dateien auflisten mit Zusatzinfos?

  Alt 22. Aug 2010, 21:15
Jop aber da ist so viel mit Direcotry und so.
Ich möchte die Dateien ja nur auflisten. Nicht die Ordner...
Dann musst du dich eben mal etwas damit auseinandersetzen.
Sehr freundliche Antwort. Schlecht gschlafen?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: IdFTP Dateien auflisten mit Zusatzinfos?

  Alt 22. Aug 2010, 21:20
Nein. Ich wollte damit nur ausdrücken, dass man sich mit manchen Dingen eben mal etwas intensiver beschäftigen muss. Letztendlich brauchst du doch nur den Code herausnehmen, der die Ordner mit auflistet.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Jamah

Registriert seit: 2. Dez 2009
Ort: Nordhorn
74 Beiträge
 
RAD-Studio 2010 Arc
 
#8

AW: IdFTP Dateien auflisten mit Zusatzinfos?

  Alt 25. Aug 2010, 16:38
Alles bekommst du mit
 FFtp.List (nil, '-a', True); guckst du hier

Dateien und Ordner jkannst du dann ja nachher ausfiltern
Woher kommt das GetFileInfo(), was du da benutzt? Ich hab einiges dazu gefunden, ist aber meißtens eine funktion zum Auslesen des Herstellers...
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#9

AW: IdFTP Dateien auflisten mit Zusatzinfos?

  Alt 25. Aug 2010, 17:16
Woher kommt das GetFileInfo(), was du da benutzt? Ich hab einiges dazu gefunden, ist aber meißtens eine funktion zum Auslesen des Herstellers...
Das ist eine eigene Funktion, die dann auch das Icon ausliest und so. Solltest du ohne Probleme Weglassen können. (Dann halt direkt auf TIdFTP.DirectoryListing zugreifen)

Also den Code so ändern:
Delphi-Quellcode:
procedure TFtpBrowser.CreateDirectoryListing;
var
  i: Integer;
begin
    FFtp.SendCmd('TYPE A');

    FFtp.List (nil, '-a', True);

    for i := 0 to Pred (FFtp.ListResult.Count) do
      CreateItemFromFileInfo (FTP.DirectoryListing[i]);
end;

procedure TFtpBrowser.CreateItemFromFileInfo(const FileInfo: TIdFTPListItem);
var
  ListItem: TListItem;
begin
  // Mach was mit FileInfo
end;

Trotzdem hier noch der Code (bitte nicht schlagen^^)
Delphi-Quellcode:
type
 TFileInfo = record
    Directory: Boolean;
    Filename,
    Date,
    FileType: String;
    Size: Integer;
  end;

-------------------

function TFtpBrowser.GetFileInfo(Index: Integer): TFileInfo;
var
  Registry: TRegistry;
  Filename, Filedetails, TempType, TempSize: String;
begin
  Filename := FFtp.DirectoryListing[Index].FileName;
  Filedetails := FFtp.DirectoryListing[Index].Text;

  Result.Directory := Filedetails[1] = 'd';
  Result.Filename := Filename;

  if Result.Directory then
    Result.FileType := 'Ordner'
  else
  begin
    Result.FileType := ReverseString (copy (ReverseString (Filename), 1, pos ('.', ReverseString (Filename))));

    Registry := TRegistry.Create(KEY_READ);
    try
      Registry.RootKey := HKEY_CLASSES_ROOT;
      if Registry.OpenKey (Result.FileType, False) then
      begin
        TempType := Registry.ReadString('');
        Registry.CloseKey;
        if Registry.OpenKey (TempType, False) then
        begin
          TempType := Registry.ReadString('');
        end;
      end;
    finally
      Registry.Free;
    end;

    if (TempType = '') then
      Result.FileType := Trim (AnsiUpperCase (copy (Result.FileType, 2, length (Result.FileType) - 1)) + ' Datei')
    else
      Result.FileType := TempType;
  end;

  Filedetails := ReverseString(Filedetails);
  Delete (Filedetails, 1, length (Filename));

  Result.Date := ReverseString (Trim (copy (Filedetails, 1, 14)));

  try
    TempSize := Trim (copy (Filedetails, 14, 10)) + ' ';
    TempSize := Trim (copy (TempSize, 1, pos (' ', TempSize)));
    Result.Size := StrToInt (ReverseString (TempSize));
  except
    Result.Size := 0;
  end;
end;
  Mit Zitat antworten Zitat
Jamah

Registriert seit: 2. Dez 2009
Ort: Nordhorn
74 Beiträge
 
RAD-Studio 2010 Arc
 
#10

AW: IdFTP Dateien auflisten mit Zusatzinfos?

  Alt 26. Aug 2010, 14:05
Delphi-Quellcode:
Procedure CreateEntry(const FileInfo: TIdFTPListItem); //TIdFTPListItem wird markiert als undeklarierter
begin //Bezeichner....

end;
Hm. Ich bekomm da wieder einen Error. Warum??
  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:15 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