AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Savedialog Frage

Ein Thema von darkblog · begonnen am 4. Aug 2007 · letzter Beitrag vom 4. Aug 2007
Antwort Antwort
Seite 1 von 2  1 2      
darkblog

Registriert seit: 4. Aug 2007
6 Beiträge
 
#1

Savedialog Frage

  Alt 4. Aug 2007, 13:27
Hallo

Hier mein QuellCode :

Delphi-Quellcode:
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.
So weit so gut

Wie kann ich es aber machen das der Filename von der listbox1 automatisch in den Savedialog1. als Filename kommT?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Savedialog Frage

  Alt 4. Aug 2007, 13:32
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;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

Re: Savedialog Frage

  Alt 4. Aug 2007, 13:38
Zitat von Luckie:
OpenDialog1.Filename := ListBox3.Items.Add(ExtractFileName(OpenDialog1.FileName));
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#4

Re: Savedialog Frage

  Alt 4. Aug 2007, 13:44
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...
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Savedialog Frage

  Alt 4. Aug 2007, 13:51
Das Add ist natürlich falsch. Es muss richtigerweise heissen:
OpenDialog1.Filename := ExtractFilename(ListBox3.Items[0]); Aber letztendlich ist das Prinzip eigentlich deutlich geworden, dass man die Eigenschaft Filename des OpenDialoges eben auch vorbelegen kann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#6

Re: Savedialog Frage

  Alt 4. Aug 2007, 14:22
Nagut, eins ist doppelt, das ist richtig, aber ob man :

Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
begin
if OpenDialog1.Execute then
  OpenDialog1.Filename := ListBox3.Items.Add(ExtractFileName(OpenDialog1.FileName));
end;
oder

Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
begin
if OpenDialog1.Execute then
  OpenDialog1.Filename := ExtractFileName(OpenDialog1.FileName);
  ListBox3.Items.Add(ExtractFileName(OpenDialog1.FileName));
end;
schreibt ist doch eigentlich egal, da das selbe passiert...
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Savedialog Frage

  Alt 4. Aug 2007, 14:26
Moin Bastler,

da ListBox.Items.Add aber den Index des hinzugefügten Strings zurückliefert, und nicht den String, ist das keineswegs egal
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

Re: Savedialog Frage

  Alt 4. Aug 2007, 14:27
Gell?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

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

Re: Savedialog Frage

  Alt 4. Aug 2007, 15:19
Zitat von Bastler:
Nagut, eins ist doppelt, das ist richtig, aber ob man :

Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
begin
if OpenDialog1.Execute then
  OpenDialog1.Filename := ListBox3.Items.Add(ExtractFileName(OpenDialog1.FileName));
end;
oder

Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
begin
if OpenDialog1.Execute then
  OpenDialog1.Filename := ExtractFileName(OpenDialog1.FileName);
  ListBox3.Items.Add(ExtractFileName(OpenDialog1.FileName));
end;
schreibt ist doch eigentlich egal, da das selbe passiert...
Bin ich jetzt dumm, oder interessiert sich keiner für den Fall das .Execute() false zurückliefert (= Abbruch)
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 OpenDialog1.Filename := ExtractFileName(OpenDialog1.FileName); nicht so richtig ...

  Mit Zitat antworten Zitat
darkblog

Registriert seit: 4. Aug 2007
6 Beiträge
 
#10

Re: Savedialog Frage

  Alt 4. Aug 2007, 17:23
Meine etwas ganz anderes

http://files.fastpic.de/Unbenannt_4502.JPG

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
  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 05:39 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