Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Save-Dialog (https://www.delphipraxis.net/39894-save-dialog.html)

publes 8. Feb 2005 19:32


Save-Dialog
 
Mich beschäftigt gerade folgendes Problem....

procedure TForm1.Button1Click(Sender: TObject);
begin
GridzuExcel(stringGrid1, 'Meine Grid Daten', 'f:\daten.xls')
end;


GridzuExcel ist eine eigene Procedure die auch funzt.....

Arbeite ich nach obigem Schema klappt alles wunderbar, nur schaffe ich es einfach nicht einen
Save-Dialog mit einzuarbeiten.

SaveDialog1.Execute

ist mir klar..... aber wie geht's weiter???

Möchte durch den Save-Dialog flexibel sein, was den Speicherort und den Speichernamen angeht.

alcaeus 8. Feb 2005 19:34

Re: Save-Dialog
 
Hallo publes,

So:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if SaveDialog1.Execute then
    GridzuExcel(stringGrid1, 'Meine Grid Daten', SaveDialog1.FileName)
end;
Execute ist eine Funktion, welche True zurueck liefert, falls auf "Speichern" geklickt wurde.

Greetz
alcaeus

publes 8. Feb 2005 19:56

Re: Save-Dialog
 
So richtig muss ich das jetzt nicht verstehen...oder?????

Bin halt ein Anfänger und gebe das auch zu!!!!

alcaeus 8. Feb 2005 19:57

Re: Save-Dialog
 
Zitat:

Zitat von publes
So richtig muss ich das jetzt nicht verstehen...oder?????

Was genau hast du nicht verstanden? Falls Execute true zurueckliefert (also der SaveDialog mit "Speichern" bestaetigt wurde), dann wird gespeichert. In SaveDialog1.FileName steht der ausgewaehlte DateiName. Weiteres sagt dir auch die Online-Hilfe

Greetz
alcaeus

weißer Zwerg 8. Feb 2005 20:45

Re: Save-Dialog
 
Hallo!

Ich hatte auch mit saveDialog einige Probleme. Aber mit einem Beispiel hat es dann geklappt!

Man macht sich zum Beispiel einen Button "Speichern". Dafür erstellt man ein Ereignis, dass dann auftritt, wenn der Button gedrückt wurde. Anschließend ruft man die Execute-Methode auf - dadurch erhält man das typische Dialog-Feld. Wenn der Anwender seine Eingabe gemacht hat (auf Speichern geklickt hat), gibt die Execute-Methode true zurück. Man kann nun die Datei an dem vorgegebenen Ort speichern (das Feld Filename von SaveDialog).

Delphi-Quellcode:
if (frmForm1.SaveDialog1.Execute = true) then
begin
  // hier könnte man selber speichern
end;
MfG wZ

publes 9. Feb 2005 10:11

Re: Save-Dialog
 
Super besten Dank............

Chegga 9. Feb 2005 10:40

Re: Save-Dialog
 
Hi,

@ publes:

Nächstes mal bitte den Delphi-Code Button verwenden.

Also aus:

procedure TForm1.Button1Click(Sender: TObject);
begin
GridzuExcel(stringGrid1, 'Meine Grid Daten', 'f:\daten.xls')
end;

wird:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
GridzuExcel(stringGrid1, 'Meine Grid Daten', 'f:\daten.xls')
end;
Thanks :zwinker:

Zitat:

Zitat von weißer Zwerg
Delphi-Quellcode:
if (frmForm1.SaveDialog1.Execute = true) then

Das ...Execute = true ist unnötig. :wink:
(Dann brauchst du auch keine Klammern.)

MfG Marc

Erwin Pälzig 12. Mär 2015 16:19

AW: Save-Dialog
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo alle zusammen.

Ich denke hier passt meine Frage ganz gut.
Es geht um die Eingabe von integer Werten für Variablen, welche anschließend in einem Textdokument abgespeichert werden.

Hier der Quellcode:
Delphi-Quellcode:
unit Unit17;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
    TForm17 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Edit5Change(Sender: TObject);
    procedure Edit4Change(Sender: TObject);
    procedure Edit3Change(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure Edit6Change(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form17: TForm17;
  ts,Te,ER,RE,th, Di: integer;

implementation

{$R *.dfm}

procedure TForm17.Edit1Change(Sender: TObject);
begin
  Edit1.Text:=IntToStr(ts); //bei Programmstart wird jede Eingabe zu Null, da alle initierten Werte auf 0 gesetzt werden
end;

procedure TForm17.Edit2Change(Sender: TObject);
begin
 Edit2.Text:=IntToStr(Te); //bei Programmstart wird jede Eingabe zu Null, da alle initierten Werte auf 0 gesetzt werden
end;

procedure TForm17.Edit3Change(Sender: TObject);
begin
  Edit3.Text:=IntToStr(ER); //bei Programmstart wird jede Eingabe zu Null, da alle initierten Werte auf 0 gesetzt werden
end;

procedure TForm17.Edit4Change(Sender: TObject);
begin
 Edit4.Text:=IntToStr(RE); //bei Programmstart wird jede Eingabe zu Null, da alle initierten Werte auf 0 gesetzt werden
end;

procedure TForm17.Edit5Change(Sender: TObject);
begin
 Edit5.Text:=IntToStr(th); //bei Programmstart wird jede Eingabe zu Null, da alle initierten Werte auf 0 gesetzt werden
end;

procedure TForm17.Edit6Change(Sender: TObject);
begin
 Edit6.Text:=IntToStr(Di); //bei Programmstart wird jede Eingabe zu Null, da alle initierten Werte auf 0 gesetzt werden
end;


{******** Export Data ********}
procedure TForm17.Button1Click(Sender: TObject);
var
 textis : textfile;  //  -> lokale Initialisierung der zu Speichernden Parameter in textfile  (textis.txt existiert im Ornder in dem Programm ist)
 savepath : string; //  -> lokale Initialisierung des Speicherpfades
 SaveDialog1 :TSaveDialog; // -> ist Save dialog variable
begin

 if SaveDialog1.execute then // -> Darstellung des Dateiöffnungs Dialogs (Quelle www.Delphibasics.co.uk)
 begin
  savepath := SaveDialog1.Files[0]; // (?)
  assignfile(textis,savepath); // Versuch der Öffnung von textist aus Dateipfad savepath
  rewrite(textis); // -> Einschreiben der Daten in Textdokument textis
  writeln(textis, 'Time(s) Web Temperature(C) Evap Rate(g/m2s) Residual Solvent(%) Coat Thickness(m) Diffusivity(m2/s) ');
  write(textis, ts); // Einschreiben des ts
  write(textis,' '); // Einschreiben des Freizeischen
  write(textis,Te); // Einschreiben der Te
  write(textis,' '); // Einschreiben des Freizeischen
  write(textis,ER); // Einschreiben der ER
  write(textis,' '); // Einschreiben des Freizeischen
  write(textis,RE); // Einschreiben des RE
  write(textis,' '); // Einschreiben des Freizeischen
  write(textis,th); // Einschreiben der th
  write(textis,' '); // Einschreiben des Freizeischen
  write(textis,Di); // Einschreiben des Di
  write(textis,#13#10); // (?)1*  The "#13#10" part represents a carriage-return + line-feed combination. The "#13" is the ASCII equivalent to the CR (carriage return) value; #10 represents LF (line feed).
  end;
  closefile(textis); // -> Schließen des Textdokuments
end;
end.
Was ich verstehe, warum bei Eingabe von Werten in die Edit-Bereiche, die Werte auf 0 springen.
Die Frage ist, warum bei Betätigung des Buttons die folgende Fehlermeldung erscheint? (Siehe Anhang)

Vielen Dank für eure Unterstützung!

mkinzler 12. Mär 2015 16:23

AW: Save-Dialog
 
In welcher Zeile?

Erwin Pälzig 12. Mär 2015 16:26

AW: Save-Dialog
 
Zitat:

Zitat von mkinzler (Beitrag 1293248)
In welcher Zeile?

Hallo mkinzler.

Meldung kommt, wenn Code komplett compiliert wurde und danach Button1Click erfolgt.
Grüße.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:33 Uhr.
Seite 1 von 3  1 23      

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