Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Eingaben individuell abspeichern (https://www.delphipraxis.net/176500-eingaben-individuell-abspeichern.html)

Maxi 10. Sep 2013 19:35

Delphi-Version: 7

Eingaben individuell abspeichern
 
Hallo :)

Ich hab eine frage ....

Kann man Eingaben individuell abspeichern sodass diese unterschiedschiedliche Namen haben.

Mein jetztiger Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
begin
list:=TStringlist.Create;
try
List.add(Edit1.Text);
list.SaveToFile('C:\Users\Maxi\Desktop\Neuer Ordner\(Eingabe1.text).txt');
finally
list.Free;


danke im voraus :)

mkinzler 10. Sep 2013 20:10

AW: Eingaben individuell abspeichern
 
Geht es um mehrere Edits? Hier würde sich eine Ini oder XML-Datei anbieten, in der alles geschrieben wird.

Maxi 10. Sep 2013 20:20

AW: Eingaben individuell abspeichern
 
okey und wie funktionier das ?

mkinzler 10. Sep 2013 20:27

AW: Eingaben individuell abspeichern
 
http://www.delphi-treff.de/tutorials...en/einleitung/

bcvs 11. Sep 2013 07:10

AW: Eingaben individuell abspeichern
 
Zitat:

Zitat von Maxi (Beitrag 1227874)
list.SaveToFile('C:\Users\Maxi\Desktop\Neuer Ordner\(Eingabe1.text).txt');

Verstehe ich das richtig, dass in Eingabe1.text der zu verwendende Dateiname steht? Dann meinst du vielleicht sowas:
Delphi-Quellcode:
list.SaveToFile('C:\Users\Maxi\Desktop\Neuer Ordner\'+Eingabe1.text+'.txt');

Allerdings würde ich dafür lieber einen SaveDialog nehmen.

Maxi 11. Sep 2013 19:50

AW: Eingaben individuell abspeichern
 
Der letzte tipp kann ja nicht funktionieren,da ja im Befehl insegsammt vier Anführungszeichen stehen und Delphi smit ja "+eingabe1.text+" aus dem befehl rausnimmmt:(:?

Furtbichler 11. Sep 2013 19:56

AW: Eingaben individuell abspeichern
 
Nee. Wenn im Edit-Feld 'Eingabe1' z.B. der Text 'EinDateiname' steht, dann macht Delphi daraus
Delphi-Quellcode:
list.SaveToFile('C:\Users\Maxi\Desktop\Neuer Ordner\'+Eingabe1.text+'.txt');
..==>
list.SaveToFile('C:\Users\Maxi\Desktop\Neuer Ordner\EinDateiname.txt');
Weiß aber gar nicht, ob Du das so willst.

Beschäftige dich mal mit INI-Dateien. Das nimmt man für sowas.

Maxi 11. Sep 2013 20:13

AW: Eingaben individuell abspeichern
 
also was ich wirklich möchte ist, dass er ein datei dokument mit dem entsprechenden text abspeichert.das habe ich ja auch schon geschafft. was ich nun noch will ist das der Name des textdokuments dem entspricht was drinne steht. Z.B : Einagbe : hallo .Die text datei soll jetzt hallo heißen und in der textdatei steht auch hallo drin .

Furtbichler 11. Sep 2013 20:14

AW: Eingaben individuell abspeichern
 
Na, die nötigen Hinweise hast Du ja jetzt.

Maxi 11. Sep 2013 20:17

AW: Eingaben individuell abspeichern
 
wirklich ? :D denn bin ich zu doof für delphi :0 :D

Perlsau 11. Sep 2013 20:28

AW: Eingaben individuell abspeichern
 
Zitat:

Zitat von Maxi (Beitrag 1228025)
wirklich ? :D denn bin ich zu doof für delphi :0 :D

Was verstehst du denn nicht?

bcvs 12. Sep 2013 07:05

AW: Eingaben individuell abspeichern
 
Zitat:

Zitat von Maxi (Beitrag 1228025)
wirklich ? :D denn bin ich zu doof für delphi :0 :D

Hast du meinen Tip eigentlich mal ausprobiert? Oder hast du nur gedacht: Kann ja ja nicht funktionieren?

milo 12. Sep 2013 08:14

AW: Eingaben individuell abspeichern
 
Zitat:

Zitat von Maxi (Beitrag 1228019)
Der letzte tipp kann ja nicht funktionieren,da ja im Befehl insegsammt vier Anführungszeichen stehen und Delphi smit ja "+eingabe1.text+" aus dem befehl rausnimmmt:(:?

Naja, die IDE unterscheidet schon zwischen Anführungszeichen " Ansi 34 und einem Hochkommata ' Ansi 39.

Gruß :-D Michael

Maxi 12. Sep 2013 13:55

AW: Eingaben individuell abspeichern
 
ja, ich hab das in den verschiedensten varianten probiert ...von '' bis "" ....funktioniert alles nicht

p80286 12. Sep 2013 14:13

AW: Eingaben individuell abspeichern
 
Was ist an
Delphi-Quellcode:
list.SaveToFile('C:\Users\Maxi\Desktop\Neuer Ordner\'+Eingabe1.text+'.txt');
denn so unverständlich?
Ersetz Eingabe1.text durch den gewünschten Namen (z.B. 'MeineDatei.txt') und gut ist.

Gruß
K-H

DeddyH 12. Sep 2013 14:14

AW: Eingaben individuell abspeichern
 
Einfache Hochkommata (SHIFT + Raute) auch? Ansonsten kannst Du das auch mit Format lösen.
Delphi-Quellcode:
Dateiname := Format('C:\Users\Maxi\Desktop\Neuer Ordner\%s.txt', [Eingabe.Text]);

Maxi 12. Sep 2013 18:33

AW: Eingaben individuell abspeichern
 
Hallo nochmal

lieber K-H...du hast nicht verstanden was ich möchte...ich will die Dateinnamen individuell haben...

Wenn ich: Dateiname := Format('C:\Users\Maxi\Desktop\Neuer Ordner\%s.txt', [Eingabe.Text]);[/DELPHI][/QUOTE] eingebe ,sagt er mir folgendes:

[Fehler] Unit1.pas(40): Inkompatible Typen: 'TStrings' und 'String'

ich glaub ich muss mich von meinem vorhaben verabschieden,was ?:0

DeddyH 12. Sep 2013 18:38

AW: Eingaben individuell abspeichern
 
Vielleicht postest Du mal den gesamten relevanten Code. Wo hast Du denn da eine TStrings-Instanz?

Maxi 12. Sep 2013 18:52

AW: Eingaben individuell abspeichern
 
ich stelle einfach mal alles rein...

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, CheckLst;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Memo1: TMemo;
Label1: TLabel;
Edit2: TEdit;
Button2: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;
Eingabe1,List,Dateiname:TStrings;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
list:=TStringlist.Create;
try
List.add(Edit1.Text);
list.SaveToFile('C:\Users\Maxi\Desktop\Neuer Ordner\Datei.txt');
finally
list.Free;

Dateiname := Format('C:\Users\Maxi\Desktop\Neuer Ordner\%s.txt', [Eingabe1.Text]);

end;

end;


end.

DeddyH 12. Sep 2013 18:54

AW: Eingaben individuell abspeichern
 
Weshalb ist Dateiname vom Typ TStrings, und wieso erstellst Du keine Instanzen von Dateiname und Eingabe1?

[edit] P.S.: Benutze doch bitte die Delphi-Tags (die "Helm"-Schaltfläche im Beitragseditor), dann kann man den Code auch besser lesen. [/edit]

Maxi 12. Sep 2013 18:57

AW: Eingaben individuell abspeichern
 
wie würde man das ganze denn ändern ? ich bin anfänger und bringe mir vieles selbst irgendwie bei :0

DeddyH 12. Sep 2013 19:01

AW: Eingaben individuell abspeichern
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  List: TStringlist;
  Dateiname: string;
begin
  List := TStringlist.Create;
  try
    List.Add(Edit1.Text);
    Dateiname := Format('C:\Users\Maxi\Desktop\Neuer Ordner\%s.txt', [Edit1.Text]);
    List.SaveToFile(Dateiname);
  finally
    list.Free;
  end;
end;

Maxi 12. Sep 2013 19:05

AW: Eingaben individuell abspeichern
 
Danke Danke Danke Danke !! :))

bcvs 13. Sep 2013 07:38

AW: Eingaben individuell abspeichern
 
Jetzt müsste aber doch auch die andere Variante funtionieren. Dann sparst du dier auch noch die Variable Dateiname.

Was mir allerdings immer noch nicht klar ist: In welches Edit gibts du den gewünschten Dateinamen ein? Ist das das Edit2? Dieses Edit muss natürlich auch in dem Parameter von SaveToFile erscheinen. Deswegen nimmt man besser aussagekräftigere Bezeichner, z.B. EditWert und EditDateiname statt Edit1 und Edit2.

In Deinem Quellcode stand da ein Eingabe1 von Typ TStings. Hättest du das wirklich so gewollt, dann hättest du dafür sorgen müssen, dass eine Instanz von Eingabe1 erzeugt wird, diese dann mir dem Wert aus Edit2 befüllt und nach der ganzen Aktion wieder entfernt, aber das wäre Blödsinn, wenn man das mit einem Einzeiler lösen kann. Wahrscheinlich hast du sowas gemeint:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  List: TStringlist;
begin
  List := TStringlist.Create;
  try
    List.Add(Edit1.Text);
    List.SaveToFile('C:\Users\Maxi\Desktop\Neuer Ordner\'+Edit2.text+'.txt');
  finally
    list.Free;
  end;
end;

DeddyH 13. Sep 2013 07:53

AW: Eingaben individuell abspeichern
 
Laut #8 nicht, da soll der Inhalt dem Dateinamen entsprechen (wozu dann Edit2 da ist, entzieht sich meiner Kenntnis). Das kann zwar bei gewissen Zeichen Probleme machen, aber erst einmal müssen ja Grundlagen vorhanden sein, bevor es ans Eingemachte geht.

bcvs 13. Sep 2013 08:09

AW: Eingaben individuell abspeichern
 
Stimmt, das hatte ich nicht mehr im Kopf. Dann eben zweimal Edit1.

Maxi 13. Sep 2013 14:45

AW: Eingaben individuell abspeichern
 
Also mein Ziel war es, dass man namen ins Editfeld schreiben kann(Edit1:Vorname,Edit2:nachname) und der die denn auch mit dem eingegeben namen abspeichert...und das klappt super !

jetzt arbeite ich an einem weg, dass man auch nach beendigen des programmes die eingebenen Namen aufrufen kann. (Natürlich samt sämtlichen anderen Eingaben (Alter und Geschlecht))

Maxi 13. Sep 2013 15:05

AW: Eingaben individuell abspeichern
 
Da stellt sich mir gleich die nächste Frage...

Delphi-Quellcode:
var
  Form1: TForm1;
    List1: TStringlist;
    List2: TStringlist;
    List3: TStringlist;
  Dateiname: string;
  ComboBox1:integer;
  ComboBox2:string;
  Combobox3:String;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  List1 := TStringlist.Create;
  try
    List1.Add(Edit1.Text);
    List1.Add(Edit2.Text);
    Dateiname := Format('C:\Users\Maxi\Desktop\Dateinmanager\%s.txt', [Edit1.Text+Edit2.Text]);
    List1.SaveToFile(Dateiname);
  finally
    list1.Free;

  List2 := TStringlist.Create;
  try
    List2.Add(ComboBox1.Text);
    list2.add(ComboBox2.text);
    Dateiname := Format('C:\Users\Maxi\Desktop\Dateinmanager\%s.txt', [Edit1.Text+Edit2.Text]);
    List2.SaveToFile(Dateiname);
  finally
    list2.Free;


     ComboBox3.Items.Add(Edit1.Text+edit2.Text);
end;

end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  List3 := TStringlist.Create;
  try
    List3.Add(ComboBox3.Text);
    Dateiname := Format('C:\Users\Maxi\Desktop\Dateinmanager\Oeffnen\%s.txt', [ComboBox3.Text]);
    List3.SaveToFile(Dateiname);
  finally
    list3.Free;


end;

end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute then Combobox3.Items.LoadFromFile('C:\Users\Maxi\Desktop\Dateinmanager');
end;

end.
Das ist jetzt mein quellcode, mit allem was ich bissher ereichen wollte...

Nun möchte ich per Buttonclick die gespeicherten Daten (bzw erst Namen) in eine Combobox verfrachten...dort möchte ich Einen Namen auswählen können und denn die Infos zu dem Namen in die entsprechenden eingabefelder drinne stehen haben....geht das und wenn ja,wie ?

ich entschuldige mich wirklich für meine hundert fragen...aber wir hatten das in der schule informatik und mich hat das so fastziniert dass ich mir delphi von meiner lehrerin gegeben haben lassen ,um zuhause an eigene projekte zu arbeiten...

für diese ,mir schon eretielte,Unterstützung sage ich schonmal danke !

mkinzler 13. Sep 2013 15:05

AW: Eingaben individuell abspeichern
 
Da würde sich aber wirklich eine Datenbank oder ähnliche Lösung anbieten ( XML, Ini, Textfile o.ä).
Sonst müsstest du ja das Verzeichnis nach Textdateien durchsuchen, um die Informationen daraus zu ermittlen. Zudem würde ich keine Daten als "Schlüssel" verwenden ( Name = Schlüssel = Dateiname).

Maxi 13. Sep 2013 15:20

AW: Eingaben individuell abspeichern
 
jaa aber ich will ja sowas wirklich selbst erstellen....

(Siehe #28)

DeddyH 13. Sep 2013 15:40

AW: Eingaben individuell abspeichern
 
Mach Dir doch erst einmal über die zusammengehörigen Daten. Es macht ja keinen Sinn, die Namen in einer Datei, die Adressen dazu einer anderen und sonstige Daten wieder in einer anderen zu speichern (es sei denn, man will eine eigene "echte" Datenbank schreiben, in der die Daten über Schlüssel miteinander verknüpft sind). Du könntest z.B. einen Record definieren mit allem, was Du an zusammengehörigem Zeugs brauchst, das wäre zumindest schon mal ein Anfang. Gespeichert wird das dann auch in einem zusammenhängenden Format (Ini, XML, typisierte Datei oder was auch immer).

Maxi 14. Sep 2013 07:04

AW: Eingaben individuell abspeichern
 
ich speicher ja schon sämtliche daten in einer Datei ab

Maxi 14. Sep 2013 07:09

AW: Eingaben individuell abspeichern
 
Jetzt habe ich das so gemacht...
Delphi-Quellcode:
ComboBox3.Items.LoadFromFile('C:\Users\Maxi\Desktop\Dateinmanager');
denn sagt er mir immer: Zugriff verweigert ect.

Dalai 14. Sep 2013 10:39

AW: Eingaben individuell abspeichern
 
Zitat:

Zitat von Maxi (Beitrag 1228430)
Jetzt habe ich das so gemacht...
Delphi-Quellcode:
ComboBox3.Items.LoadFromFile('C:\Users\Maxi\Desktop\Dateinmanager');
denn sagt er mir immer: Zugriff verweigert ect.

Logisch, sofern das ein Verzeichnis ist, was ich schon annehme. LoadFromFile erwartet aber eine Datei, die er lesen soll.

MfG Dalai

Maxi 14. Sep 2013 10:58

AW: Eingaben individuell abspeichern
 
Wie muss denn der Quellcode sein damit er alle Dateien aus einem Ordner nimmt ?

Dalai 14. Sep 2013 12:39

AW: Eingaben individuell abspeichern
 
Such mal nach FindFirstFile und FindNextFile, dann findest du auch hier in der DP genügend Beispiele, wie man eine Liste von Dateien in einem Verzeichnis (ggf. sogar rekursiv, also inkl. Unterverzeichnisse) erstellt. Diese Liste kannst du dann z.B. mit einer for-Schleife (oder auch einer while-Schleife) durchlaufen.

MfG Dalai

Maxi 15. Sep 2013 11:07

AW: Eingaben individuell abspeichern
 
Die befehle zeigt er aber bei delphi nicht an :0

DeddyH 15. Sep 2013 11:23

AW: Eingaben individuell abspeichern
 
Hiermit geht es etwas bequemer: http://www.torry.net/vcl/filedrv/sea...Searchv1.1.zip

Maxi 15. Sep 2013 18:57

AW: Eingaben individuell abspeichern
 
jetzt verstehe ich garnix mehr....

DeddyH 16. Sep 2013 07:05

AW: Eingaben individuell abspeichern
 
Und nun?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:47 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