![]() |
Savedialog Frage
Hallo
Hier mein QuellCode :
Delphi-Quellcode:
So weit so gut :)
unit FTP;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, StdCtrls, WinInet; type TForm1 = class(TForm) ListBox1: TListBox; Edit1: TEdit; Edit2: TEdit; Button1: TButton; ftp: TIdFTP; Edit3: TEdit; Button2: TButton; Label1: TLabel; SaveDialog1: TSaveDialog; Button3: TButton; OpenDialog1: TOpenDialog; Button4: TButton; Button5: TButton; ListBox2: TListBox; Button6: TButton; Button7: TButton; ListBox3: TListBox; Button8: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ftpWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); procedure ftpWorkEnd(Sender: TObject; AWorkMode: TWorkMode); procedure ListBox1DblClick(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function IsFile(const Filename : String) : Boolean; var IsFile: Boolean; begin if FileExists(Filename) then begin Result := true; end else begin Result := false; end; end; procedure TForm1.Button1Click(Sender: TObject); begin ftp.Username := edit1.text; ftp.Password := edit2.text; ftp.Host := edit3.text; Try ftp.Connect; ftp.list (listbox1.items,'',false); label1.Font.Color := clgreen; Listbox2.Items.Add('Erfolgreich Verbunden !') ; Except Listbox2.Items.Add('Verbindung Fehlerhaft') ; end; end; procedure TForm1.Button2Click(Sender: TObject); begin label1.Font.Color := clred; Label1.Caption := 'Status : Nicht verbunden'; ftp.disconnect; Listbox1.clear; Listbox2.Items.Add('Disconnected') ; end; procedure TForm1.ftpWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); begin Label1.Caption := 'Working!'; end; procedure TForm1.ftpWorkEnd(Sender: TObject; AWorkMode: TWorkMode); begin label1.caption := 'fertig geworkt ^^'; end; procedure TForm1.ListBox1DblClick(Sender: TObject); begin if Listbox1.ItemIndex <> - 1 then begin if IsFile(ListBox1.Items[ListBox1.ItemIndex]) then // Hier ist es eine Datei begin if savedialog1.Execute then FTP.Get(edit3.text, Savedialog1.FileName); end else begin ftp.ChangeDir(Listbox1.Items[Listbox1.ItemIndex]); // Verzeichnis wechseln ftp.list(listbox1.items,'',false); listbox2.items.Add('Ordner wurde gewechselt'); end; end; end; procedure TForm1.Button3Click(Sender: TObject); begin if opendialog1.execute then begin ftp.Put(Opendialog1.filename,extractfilename(opendialog1.filename)); ftp.list (listbox1.items,'',false); Listbox2.Items.Add('Erfolgreich hochgeladen') ; end; end; procedure TForm1.Button5Click(Sender: TObject); var s:string; begin s:='Neuer Ordner'; if inputQuery('Neuer Ordner','Wie soll der Ordner heißen?',s) then begin ftp.MakeDir(s); end; ftp.list (listbox1.items,'',false); end; procedure TForm1.Button4Click(Sender: TObject); var i:integer; s:string; begin i:=listbox1.ItemIndex; //Selection in i if i <> -1 then // is selected begin s:=listbox1.Items[i]; //String der Selection in s if savedialog1.Execute then FTP.Get(edit3.text, Savedialog1.FileName); listbox2.Items.add('Datei wurde gedownloaded'); ftp.list (listbox1.items,'',false); end else // Bitte einen Ordner auswählen !! end; procedure TForm1.Button6Click(Sender: TObject); var i:integer; s:string; begin i:=listbox1.ItemIndex; //Selection in i if i <> -1 then // is selected begin s:=listbox1.Items[i]; //String der Selection in s if MessageDLG('Sind sie sicher, dass Sie die Datei loeschen wollen?',mtWarning,[mbYes,mbNo],0)= mrYes then FTP.Delete(s); listbox2.Items.add('Datei wurde gelöscht'); ftp.list (listbox1.items,'',false); end else // Bitte einen Ordner auswählen !! end; procedure TForm1.Button7Click(Sender: TObject); var i:integer; s:string; begin i:=listbox1.ItemIndex; //Selection in i if i <> -1 then // is selected begin s:=listbox1.Items[i]; //String der Selection in s if MessageDLG('Sind sie sicher, dass Sie den Ordner loeschen wollen?',mtWarning,[mbYes,mbNo],0)= mrYes then FTP.RemoveDir(s); ftp.list (listbox1.items,'',false); listbox2.items.Add('Ordner wurde gelöscht !') end else // Bitte einen Ordner auswählen !! end; procedure TForm1.Button8Click(Sender: TObject); begin if OpenDialog1.Execute then ListBox3.Items.Add(ExtractFileName(OpenDialog1.FileName)); end; end. Wie kann ich es aber machen das der Filename von der listbox1 automatisch in den Savedialog1. als Filename kommT? |
Re: Savedialog Frage
Poste doch beim nächsten mal nur den relevanten Code.
Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
begin if OpenDialog1.Execute then OpenDialog1.Filename := ListBox3.Items.Add(ExtractFileName(OpenDialog1.FileName)); ListBox3.Items.Add(ExtractFileName(OpenDialog1.FileName)); end; |
Re: Savedialog Frage
Zitat:
|
Re: Savedialog Frage
Den Code von Luckie hätte ich die genauso geschrieben und gepostet, wo is denn jetz dein Verständnisproblem?
Das einzige was mir grade so auffällt ist, das du Fragt wie du den Filenam aus ListBox1 in den Savedlg bekommst und Luckie ihn dir für ListBox3 gepostet hat, aber diese änderung kannst du ja selber vornehmen... |
Re: Savedialog Frage
Das Add ist natürlich falsch. Es muss richtigerweise heissen:
Delphi-Quellcode:
Aber letztendlich ist das Prinzip eigentlich deutlich geworden, dass man die Eigenschaft Filename des OpenDialoges eben auch vorbelegen kann.
OpenDialog1.Filename := ExtractFilename(ListBox3.Items[0]);
|
Re: Savedialog Frage
Nagut, eins ist doppelt, das ist richtig, aber ob man :
Delphi-Quellcode:
oder
procedure TForm1.Button8Click(Sender: TObject);
begin if OpenDialog1.Execute then OpenDialog1.Filename := ListBox3.Items.Add(ExtractFileName(OpenDialog1.FileName)); end;
Delphi-Quellcode:
schreibt ist doch eigentlich egal, da das selbe passiert...
procedure TForm1.Button8Click(Sender: TObject);
begin if OpenDialog1.Execute then OpenDialog1.Filename := ExtractFileName(OpenDialog1.FileName); ListBox3.Items.Add(ExtractFileName(OpenDialog1.FileName)); end; |
Re: Savedialog Frage
Moin Bastler,
da ListBox.Items.Add aber den Index des hinzugefügten Strings zurückliefert, und nicht den String, ist das keineswegs egal ;-) |
Re: Savedialog Frage
Gell? :zwinker:
|
Re: Savedialog Frage
Zitat:
In diesem Fall sind die beiden nicht identisch, da bei der unteren Variante das .Add immer ausgeführt wird ... Desweitern erschließt sich der Sinn hinter
Delphi-Quellcode:
nicht so richtig ...
OpenDialog1.Filename := ExtractFileName(OpenDialog1.FileName);
:wiejetzt: |
Re: Savedialog Frage
Meine etwas ganz anderes :lol: :oops:
![]() Wenn mann auf einem Item in der Listbox1 klickt und dann Button4 klickt soll bei dem markiertem Bereich das stehen was in der listbox1 stand ist das überhaupt möglich oO |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:26 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