Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi zu umständliches Speichern? (https://www.delphipraxis.net/72126-zu-umstaendliches-speichern.html)

moperswings 26. Jun 2006 07:13


zu umständliches Speichern?
 
Hallo,

ich möchte Daten im *.csv-Format speichern. Wenn ich meine Werte aber aus einer RadioGroup nehme, habe ich keinen anderen Weg gefunden, als die Daten erst in ein Edit.text zu schicken und sie dann zu übergeben. Gibt es einen Weg, den selektierten Eintrag direkt zur Writeln zu schicken oder ist mein Ansatz falsch und könnt Ihr mir eine bessere Lösung vorschlagen?

Viele Grüsse, moperswings

Delphi-Quellcode:
var
        f: Textfile;
        feld1: string;
        feld2: string;
        feld3: string;
        feld4: string;
begin
        AssignFile(f,'c:\daten.csv');
        {$i-}
        Rewrite(f);
        {$i+}
        if IOResult <> 0 then begin
        Showmessage('Fehler');
        Exit
        end;
        feld1 := Edit1.Text;
        feld2 := Edit2.Text;
        feld3 := ComboBox1.text;
        feld4 := Edit3.text;
               
                Case RadioGroup1.ItemIndex of
                0: Edit3.Text := 'Hund';
                1: Edit3.Text := 'Katze';
                2: Edit3.Text := 'Maus';
                end;

        Writeln(f,Edit1.text + ';' + Edit2.Text + ';' +
        ComboBox1.text + ';' + Edit3.text + ';');
        Closefile(f);
        Form1.Close;
end;

dataspider 26. Jun 2006 07:36

Re: zu umständliches Speichern?
 
Hi,

ich würde:
Delphi-Quellcode:
RadioGroup1.Items[RadioGroup1.ItemIndex]
vorschlagen.

Cu, Frank

moperswings 27. Jun 2006 07:17

Re: zu umständliches Speichern?
 
Hallo,

DANKE SCHÖN, DAS FUNKTIONIERT!!!

Es hat sich aber noch ein anderes Problem ergeben: Wie kann ich einen Speicherdialog mit dem AssignFile(f,'c:\daten.csv') verbinden, da es ja passieren kann, dass der Nutzer kein Recht hat, auf c: etwas zu speichern!
Ich habe schon ein paar Sachen probiert, aber es wird die Datei immer nur
unter dem Eintrag gespeichert, wo jetzt 'c:\daten.csv' steht!
Weiss jemand eine Lösung?

Viele Grüsse, moperswings

dataspider 27. Jun 2006 07:29

Re: zu umständliches Speichern?
 
Ich weiss nicht, ob du das meinst:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ASaveDialog : TSaveDialog;
  AFileName  : string;
begin
  ASaveDialog := TSaveDialog.Create(self);
  try
    ASaveDialog.DefaultExt := 'csv';
    ASaveDialog.Filter    := 'CSV -Datei (*.csv)|*.csv';
    ASaveDialog.InitialDir := ExtractFilePath(Application.ExeName);
    ASaveDialog.Options   := ASaveDialog.Options + [ofOverwritePrompt];
    if ASaveDialog.Execute then
      AFileName := ASaveDialog.FileName
    else
      AFileName := '';
  finally
    ASaveDialog.Free;
  end;
  if AFileName <> '' then
  begin
    AssignFile(f, AFileName);
    // Dein Code zum Erstellen CSV - Datei
    ...
  end;
end;
Frank

Sharky 27. Jun 2006 07:30

Re: zu umständliches Speichern?
 
Hai moperswings,

meinst Du etwas in dieser Art?
Delphi-Quellcode:
procedure TDemoForm.btn_saveClick(Sender: TObject);
var
  filename: string;
  f: Textfile;
begin
  if (SaveDialog1.Execute) then
  begin
    filename := SaveDialog1.FileName;
    AssignFile(f, filename);
    // hier der restliche Code;
  end;
end;

moperswings 28. Jun 2006 07:06

Re: zu umständliches Speichern?
 
Ich danke Euch beiden!

Ich habe durch Eure Hilfe alles so hinbekommen, wie ich es gebraucht habe!

Viele Grüsse, moperswings


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 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-2025 by Thomas Breitkreuz