Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi FTP upload mehere Dateien (https://www.delphipraxis.net/100596-ftp-upload-mehere-dateien.html)

SMERK 1. Okt 2007 10:25


FTP upload mehere Dateien
 
Hallo,
ich schreibe gerade ein kleines FTP Programm. Der Upload mit einer Datei klappt schon.Ich arbeite mit INDY Komponenten!
Delphi-Quellcode:
procedure TForm1.Upload_ButtonClick(Sender: TObject);
begin
  Upload_Label.Visible := True;
  dir := ShellListView1.SelectedFolder.PathName;
  datei := ExtractFilename( ShellListView1.SelectedFolder.PathName);
  FTP.Put(dir,datei);
end;
Das habe ich so gemacht! Aber wie kann ich es machen, wenn ich mehrer Dateine markiere und die hochladen möchte?

Gruß
Dominik

OregonGhost 1. Okt 2007 11:17

Re: FTP upload mehere Dateien
 
Du könntest sie einfach nacheinander hochladen.

SMERK 1. Okt 2007 17:58

Re: FTP upload mehere Dateien
 
Wie erfahre ich denn immer die einzelnen Dateiennamen? ch möchte in der Liste mehere Datein markieren und nicht nach jeder datei die nächste auswählen.

SMERK 2. Okt 2007 08:52

Re: FTP upload mehere Dateien
 
Also wenn ich bei der Shelllistview mehrer datein auswähle, wie bkomme ich den String mit den einzelnen Dateinamen oder Pfaden?

uwewo 2. Okt 2007 09:08

Re: FTP upload mehere Dateien
 
Schau mal hier

SMERK 2. Okt 2007 09:22

Re: FTP upload mehere Dateien
 
da gibts immer fehler, dass er
Delphi-Quellcode:
    for i := 0 to shelllistview1.Items.Count - 1 do
dass er den shelllistview1 nicht kennt, aber bei mir ist es genau so benannt!

SMERK 2. Okt 2007 09:36

Re: FTP upload mehere Dateien
 
aha! Fehler gefunden! So is es richtig!
Delphi-Quellcode:
function SelectedFiles(AShellView: TShellListView): TStringList;
var i: Integer;
begin
  Result := TStringList.Create;
  for i := 0 to AShellView.Items.Count - 1 do
    // is the item selected?
    if AShellView.Items[i].Selected = True then
      // Folders can also refer to files, which is why we check isFolder
      // before adding the filepath to the result
      if AShellView.folders[i].IsFolder = False then
        // add filepath and filename to result
        Result.Add(AShellview.Folders[i].PathName);

end;

// ---------- Usage: -------------------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  FileList: TStringList;
begin
  try
    FileList := TStringList.Create; //create stringlist to contain filenames
    FileList := SelectedFiles(ShellListView1); //populate tstringlist

    if FileList.Count = 0 then Exit; //exit if no files selected

    for i := 0 to FileList.Count - 1 do
      ShowMessage(FileList[i]); //cycle through each filename and do something
  finally
    FreeAndNil(FileList); //free tstringlist when finished
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr.

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 by Thomas Breitkreuz