![]() |
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; |
Re: zu umständliches Speichern?
Hi,
ich würde:
Delphi-Quellcode:
vorschlagen.
RadioGroup1.Items[RadioGroup1.ItemIndex]
Cu, Frank |
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 |
Re: zu umständliches Speichern?
Ich weiss nicht, ob du das meinst:
Delphi-Quellcode:
Frank
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; |
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; |
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