Einzelnen Beitrag anzeigen

learner90

Registriert seit: 16. Okt 2007
8 Beiträge
 
Delphi 7 Enterprise
 
#1

[FTP]Ordner wechsel durch doppel klick auf Eintrag in der LB

  Alt 16. Okt 2007, 11:35
Guten Tag liebe Delphi-Praxis User,

erstmal bin ich jetzt schon sehr positiv über dieses Board überrascht, da ich schon ohne die Frage zu stellen antworten gefunden habe.
Nur leider zu meinem jetzigen Problem finde ich nichts

Es geht sich um folgendes:

Ich will das wenn man einen Doppel Klick auf einen Ordner welcher in der ListBox aufgelistet ist, direkt in diesen wechselt.
Des weiteren sollen oben in der Listbox zwei Punkte sein so ungefair: <..> und wenn man dann da drauf klickt, wechselt er im übergeordneten Ordner.

Hier mein bisheriger Code:

Delphi-Quellcode:
unit Remote;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdExplicitTLSClientServerBase, IdFTP;

type
  TRemoteUploadTool = class(TForm)
    Serverdaten: TGroupBox;
    BtFtpVerbinden: TButton;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    BtAuswaehlen: TButton;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    BtUploadAbbrechen: TButton;
    BtUploadStarten: TButton;
    GroupBox5: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    LboxVerzeichniss: TListBox;
    LboxAuswahl: TListBox;
    PbarAktuelleDatei: TProgressBar;
    ProgressBar2: TProgressBar;
    StaticText2: TStaticText;
    Label3: TLabel;
    IdFTP1: TIdFTP;
    StaticText1: TStaticText;
    StaticText3: TStaticText;
    StaticText4: TStaticText;
    StaticText5: TStaticText;
    EdUser: TEdit;
    EdPasswort: TEdit;
    EdIp: TEdit;
    EdPort: TEdit;
    BtTrennen: TButton;
    StaticText6: TStaticText;
    EdPfad: TEdit;
    procedure BtFtpVerbindenClick(Sender: TObject);
    procedure BtTrennenClick(Sender: TObject);
    procedure LboxVerzeichnissDblClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  RemoteUploadTool: TRemoteUploadTool;

implementation

{$R *.dfm}

procedure TRemoteUploadTool.BtFtpVerbindenClick(Sender: TObject);
  var idftp:TIdFtp;
  Name: String;
  i:integer;
  
begin
  BtTrennen.Visible:=True;
  BtFtpVerbinden.Visible:=false;
  idftp:=TIdftp.Create(Self);

// Mit FTP Verbinden
  idftp.Username:= edUser.Text;
  idftp.Password:= EdPasswort.Text;
  idftp.Port:= StrToInt(EdPort.Text);
  idftp.Host:= EdIp.Text;
    try
      idftp.Connect();
      idftp.ChangeDir(EdPfad.Text);
    except
       showmessage('Leider ist ein Fehler beim Verbinden zum FTP aufgetreten!');
    end;
  if not idftp.Connected then begin
    ShowMessage('Es besetht keine Verbindung!');
    exit;
  end;
  
// Ordner und Dateien auflisten
  idftp.List (LboxVerzeichniss.Items);
end;

procedure TRemoteUploadTool.BtTrennenClick(Sender: TObject);
begin
  IdFTP1.Quit;
  LboxVerzeichniss.Clear;
  BtTrennen.Visible:=false;
  BtFtpVerbinden.Visible:=true;
end;

procedure TRemoteUploadTool.LboxVerzeichnissDblClick(Sender: TObject);
var
vdir:string;
begin
// IdFTP1.ChangeDir();
end;

end.
Vielen Dank im voraus!

Gruß
  Mit Zitat antworten Zitat