| Autor |
Beitrag |
SignsOfCore
      
Beiträge: 22
|
Verfasst: Fr 16.01.09 19:50
Hallo ihr lieben
Ich möchte per Mausklick, einige Variablen (die ich per Edit-Feld ändern kann) in eine .TXT Datei schreiben.
Das ganze sollte dann ca. (s. Anhang) aussehen.
Natürlich sollte jedes neue "Item" hinten angereiht werden.
Also sollte meine .TXT in etwa so aussehen: Quelltext 1: 2: 3: 4: 5: 6: 7:
| XYZ-756 BeschreibungXYZ Typ93 KeinSonstiges // Nächstes Item XYZ-757 ... | Ich habe mich schon damit befasst, allerdings ist das etwas zu hoch für mich.
Wäre sehr nett wenn ihr mir Tipps geben könntet und ich es dann erstmal damit versuchen könnte
Bitte keinen fertigen Codes, ich möchte es erstmal selber versuchen.
Gruß
SignsOfCore
Moderiert von Narses: Bild als Anhang hochgeladen
Einloggen, um Attachments anzusehen!
Zuletzt bearbeitet von SignsOfCore am Fr 16.01.09 19:57, insgesamt 1-mal bearbeitet
|
|
baka0815
      
Beiträge: 489
Erhaltene Danke: 14
Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
|
Verfasst: Fr 16.01.09 19:52
Such mal nach AssignFile, Reset, ReWrite, WriteLn und CloseFile; evtl. auch FileMode.
Damit solltest du (für Delphi) fündig werden.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 16.01.09 19:52
Die einfachste Variante wäre mit einer TStringlist, die Du mit den Variablen befüllst und dann mit SaveToFile speicherst.
|
|
SignsOfCore 
      
Beiträge: 22
|
Verfasst: Fr 16.01.09 20:01
DeddyH hat folgendes geschrieben : | | Die einfachste Variante wäre mit einer TStringlist, die Du mit den Variablen befüllst und dann mit SaveToFile speicherst. |
Hi!
Danke für deine fixxe Antwort.
Habe mich schon darüber etwas schlau gemacht und bin auf diesen Code gestoßen.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| procedure; var eins: TStringList; begin eins := TStringList.Create; blabla...; eins.Free; end; |
Heißt dass das die Variable eins nun den Wert "blabla..." trägt?
Wenn ja, wie schreibe ich dass in eine TXT und wie Reihe ist das hinten an?
Gruß
Core
|
|
baka0815
      
Beiträge: 489
Erhaltene Danke: 14
Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
|
Verfasst: Fr 16.01.09 20:34
Ich empfehle dir erstmal den Crashkurs unseres Admins. Da sind die grundlegenden Dinge für Delphi ganz gut erklärt.
Dann siehst du auch, das "blabla" nur ein Platzhalter ist und keinesfalls etwas in der Stringliste ändert.
Die Stringliste selbst hat Methoden anhand derer man ihren Inhalt ändern kann, also sowas wie TStringList.Add() um einen Eintrag hinzuzufügen.
Zu TStringList solltest du auch was in der CodeGear-Hilfe finden.
|
|
jaenicke
      
Beiträge: 19345
Erhaltene Danke: 1753
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 16.01.09 21:27
|
|
SignsOfCore 
      
Beiträge: 22
|
Verfasst: Sa 17.01.09 14:33
Moin Moin
Also, bis jetzt habe ich folgendes:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1; Test: TStringList; xyz: Textfile;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin
Test := TStringList.Create; Test.Add ('Test1'); Test.Add ('Test2'); Test.Add ('Test3'); Test.Add ('Test4');
end;
procedure TForm1.Button1Click(Sender: TObject); begin AssignFile(xyz,'xyz.txt'); Rewrite(xyz); writeln(xyz,''+(Test)+''); CloseFile(xyz);
end;
end. |
Wie bekomme ich meine Stringlist nun in die .TXT Datei?
Außerdem weiß ich immernoch nicht wie man per EditFeld die Daten hinter anreihen kann.
Gruß
Core
|
|
Oreaden
      
Beiträge: 16
|
Verfasst: Sa 17.01.09 14:50
Seiet gegrüßt SignsOfCore,
Wäre es Dir möglich, das Bild als Anhang zu den Beitrag zu hinterlegen, damit der Thread auch noch Hilfe an anderer Stelle leisten könnte.
Dank und Gruß
OREADEN
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Sa 17.01.09 14:55
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
SignsOfCore 
      
Beiträge: 22
|
Verfasst: Sa 17.01.09 16:32
Oreaden hat folgendes geschrieben : |
Wäre es Dir möglich, das Bild als Anhang zu den Beitrag zu hinterlegen, damit der Thread auch noch Hilfe an anderer Stelle leisten könnte. |
Hallo
Narses hat das schon für mich erledigt. (Danke übrigens dafür, Narses.)
Ich werde in Zukunft drauf achten, alle externen Inhalte auch hier hochzuladen.
Gruß
Core
Dankeschön. Jetzt bin ich schonmal etwas weiter.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1; Test: TStringList; xyz: Textfile;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin
Test := TStringList.Create; Test.Add ('Test1'); Test.Add ('Test2'); Test.Add ('Test3'); Test.Add ('Test4');
end;
procedure TForm1.Button1Click(Sender: TObject); begin AssignFile(xyz,'xyz.txt'); Rewrite(xyz); test.SaveToFile('xyz.txt'); CloseFile(xyz);
end;
end. | Beim Befehl Rewrite wird die Liste aber immer wieder neu überschrieben oder?
Ich möchte aber, dass alles hinten angereiht wird. How to?
Ich bastel erstmal eine kleine Vorlage und lade sie dann hoch, damit ihr seht was ich möchte
Gruß
Core
Moderiert von Narses: Beitragsformatierung überarbeitet.
|
|
jaenicke
      
Beiträge: 19345
Erhaltene Danke: 1753
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 17.01.09 16:39
SignsOfCore hat folgendes geschrieben : | 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| var Test: TStringList; xyz: Textfile;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin
Test := TStringList.Create; Test.Add ('Test1'); Test.Add ('Test2'); Test.Add ('Test3'); Test.Add ('Test4');
end;
procedure TForm1.Button1Click(Sender: TObject); begin AssignFile(xyz,'xyz.txt'); Rewrite(xyz); test.SaveToFile('xyz.txt'); CloseFile(xyz);
end;
end. | Beim Befehl Rewrite wird die Liste aber immer wieder neu überschrieben oder?
Ich möchte aber, dass alles hinten angereiht wird. How to? |
Deine TStringList hat absolut gar nichts mit AssignFile oder so zu tun. Deklariere die Variablen in den Prozeduren wo du sie verwendest, dann kann so eine seltsame Konstruktion gar nicht passieren... Delphi-Quelltext 1: 2: 3: 4:
| procedure TForm1.FormCreate(Sender: TObject); var Test: TStringList; begin | Zudem willst du in FormCreate ja wohl eher die StringList aus der Datei laden (LoadFromFile) falls die Datei bereits existiert (if FileExists), oder?
Mit Add fügst du ja neue Einträge der StringList hinzu.
Zuletzt bearbeitet von jaenicke am Sa 17.01.09 16:39, insgesamt 1-mal bearbeitet
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 17.01.09 16:39
Doppelt gemoppelt.
Delphi-Quelltext 1: 2: 3: 4:
| test.SaveToFile('xyz.txt'); |
Und zum Anhängen: Stringliste erstellen, sofern Datei existiert Stringliste per LoadFromFile laden und dann wie gehabt mit Add() hinten anhängen.
|
|
Oreaden
      
Beiträge: 16
|
Verfasst: Sa 17.01.09 16:41
Seiet gegrüßt SignsOfCore,
nun werfe Er einen Blick hierauf
OREADEN grüßet
|
|
SignsOfCore 
      
Beiträge: 22
|
Verfasst: Di 20.01.09 19:36
Oreaden hat folgendes geschrieben : | Seiet gegrüßt SignsOfCore,
nun werfe Er einen Blick hierauf
OREADEN grüßet |
Hallo
Dankeschön, aber da war ich schon
Langsam geb ich´s auf. Mir wird nur gesagt was ich falsch mache, aber nicht wie es richtig ist.
Schönen Tag.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 20.01.09 20:11
Was ist denn da jetzt so schwer? Dass wir hier keine fertigen Codes liefern? Beschrieben wurde eine mögliche Vorgehensweise jedenfalls mitsamt der nötigen Befehle. Und mal auf F1 zu drücken, darf ja wohl verlangt sein.
|
|
jaenicke
      
Beiträge: 19345
Erhaltene Danke: 1753
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 20.01.09 23:17
|
|