Autor Beitrag
[SaWa]barrier23
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 02.03.06 13:06 
ich würde gern ein kleines programm schreiben wo man besimmte dinge eingeben muss und das programm dann die eingegebenen werte in ein textfile speichert!

also zbsp im programm so

Label1 (zbsp. Name) : Edit1 (Zbsp Peter)


und im textfile soll es dann so aussehen

Name:Peter


ist das irgendwie für einen anfänger im delphi möglich?


Moderiert von user profile iconraziel: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 02.03.2006 um 12:23
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Do 02.03.06 13:12 
Ja, in eine Datei kannst du wie auf den Bildschirm mit write/Writeln schreiben.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var 
    datei: TextFile;
begin
    AssignFile( datei, 'datei.txt');
    Rewrite( datei);
    Write( datei, Label1.Caption); Write( datei, ':'); WriteLn( datei, Edit1.Text);
   ...

_________________
Markus Kinzler.


Zuletzt bearbeitet von mkinzler am Do 02.03.06 13:28, insgesamt 1-mal bearbeitet
[SaWa]barrier23 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 02.03.06 13:23 
klingt gut!
gleich mal ausprobieren!fragt er mich dann auch nach dem pfad wo er die datei anlegt oder legt er die automatisch in das programm verzeichniss?
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Do 02.03.06 13:31 
Er legt es in den aktuellen Pfad, was normalerweise das Verzeichnis der Anwendung ist. Wenn aber zwischenzeitlich der Pfad gewechselt wurde, legt er es dort ab. Wenn du erzwingen willst, daß die datei im Pfad der Exe angelegt wird, kannst du das durch Änderung auf ExtractFilePath( Application.ExeName)+'datei.txt' bewerkstelligen. Wenn du den Pfad auswählen willst verwende einen Filedialog.

_________________
Markus Kinzler.
[SaWa]barrier23 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 02.03.06 19:14 
ok das funktiniert schon mal :)
nur wenn ich mein programm jetzt schließe und wieder aufmache will ich nicht das er die datei neu anlegt sondern unter dem text den er schon drin gespeichert hat weiter macht und nicht alles aus der datei löscht!

also sagen wir das programm schreibt den text "hallo" in die datei!dann schließe ich das programm!dann öffne ich es wieder und will das er "du" reinschreibt.also das dann "hallo du" drin steht.so wie es jetzt ist steht aber nur "du" drin
also hat wer eine lösung?
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Do 02.03.06 19:48 
Einfach das rewrite(...); durch append( ...); ersetzen

_________________
Markus Kinzler.
[SaWa]barrier23 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 02.03.06 20:12 
ok thx und jetzt eins noch!
hab jetzt 2 eingabefenster

Name: Edit1
Nachname : Edit2

nur wenn er das jetzt so macht setzt er sie in der textdatei genau nebeneinander!
ich möchte aber das er sie auch untereinander setzt

also nicht

PeterLustig

sondern

Peter
Lustig
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1335
Erhaltene Danke: 118

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Do 02.03.06 20:20 
verwende einfach anstatt von write(...) writeln(...). denn mit writeln(...) wird automatisch am ende der eingabe ein zeilenumbruch angehangen.

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
[SaWa]barrier23 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 02.03.06 20:35 
jetzt hab ich ein neues problem!

Einfach das rewrite(...); durch append( ...); ersetzen


das hab ich gemacht nur wenn es die datei noch nicht gibt (sagen wir beim allerersten programm start) bringt er mir ologischer weise den fehler das es die datei noch nicht gibt!
wie umgehe ich das?


edit: jetzt bringt er mir auch bei vorhandener datei den fehler ?(
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Do 02.03.06 21:01 
Beim ersten mal muß Rewrite aufgerufen werden, da Append() ein Fehler bringt, wenn die Datei noch nicht existiert.
Das kannst du durch einfügen von
ausblenden Delphi-Quelltext
1:
if not FileExists( ...) then Rewrite(...) else Append(...);					

machen

_________________
Markus Kinzler.
[SaWa]barrier23 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 02.03.06 23:06 
das will nicht so wirklich!


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
 var 
    datei: TextFile;
begin
    AssignFile( datei, 'datei.txt');
    if not FileExists( datei) then Rewrite(datei) else Append(datei);
    Write( datei, Label1.Caption); Write( datei, ':'); Writeln( datei, Edit1.Text);


was ist daran falsch?

Moderiert von user profile iconraziel: Quote- durch Delphi-Tags ersetzt
klezmor
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 558


delphi 6 personal delphi 2005 personal
BeitragVerfasst: Fr 03.03.06 00:16 
Will nicht stören aber für sowas würde ich ini files verwenden erklärung siehe hier: www.dsdt.info/tutorials/ini/

_________________
"Beware of bugs in the above code; I have only proved it correct, not tried it." Donald Knuth
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 03.03.06 03:37 
Was auch nen Tick einfacher sein könnte:
TStringList.
TStringList kannst du wie die Lines Eigenschaft eines Memos benutzen.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var s:TStringList; //deklarieren
begin
  s:=TStringList.Creage; //erstmal initialisieren
  s.text:='hallo'//inhalt: einfach nur 'hallo'
  s.Add('hallo du'); //inhalt: 'hallo'+neueZeile+'hallo du'
  s.SaveToFile('C:\asd.txt'); //Speichern
  s.LoadFromFile('C:\asd.txt'); //Laden
  s.Free; //Zum Speicher reinhalten, aber nicht zwangsläufig erforderlich. Das Objekt wird dann freigegeben.
          //das heist, das Objekt ist WEG und muss neu initialisiert werden, siehe oben.
end;

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
[SaWa]barrier23 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 03.03.06 18:55 
kannst du mir den quelltext noch mal an meinem bsp posten?
also mit einem label und einem edit-fenster

nur zur infos ich habe nicht nur eine abfrage sondern 32 label und 32 editfenster!
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Fr 03.03.06 19:06 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
 var 
    datei: TextFile;
begin
    AssignFile( datei, 'datei.txt');
    if not FileExists ('datei.txt'then Rewrite(datei) else Append(datei);
    Write( datei, Label1.Caption); Write( datei, ':'); Writeln( datei, Edit1.Text);

_________________
Ein Nutzer der Ecke ;-)
[SaWa]barrier23 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 03.03.06 23:53 
machts auch.nur hab ich dann noch einen befehl das er alles löscht aber da gibts nenn fehler den ich noch sleber beheben kann!
nur wie mach ich es das er die textdatei mit dem name speichert den ich bei name eingegeben!

also name: peter

und die textdatei heißt dann peter.txt!
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 04.03.06 01:24 
Du wirst doch noch einen String zusammensetzen können? ;)
ausblenden Delphi-Quelltext
1:
name+'.txt'					

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
[SaWa]barrier23 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Sa 04.03.06 09:49 
also so
ausblenden Delphi-Quelltext
1:
2:
AssignFile( datei, name+'.txt');
if not FileExists (name+'.txt'then Rewrite(datei) else Append(datei);




aja mal offtopic!wie findet man den bbcode fürn delphi quelltext :(

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Sa 04.03.06 09:56 
Klick mal Oben Rechts auf Hilfe dort wird alles beschrieben.
[SaWa]barrier23 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Sa 04.03.06 12:44 
ok geht!könnte man den thread mal umbennen und mir die frage hier noch erklären!
wie kann ich die datei jetzt wieder laden?

also in der textdatei steht

Name: Peter

und dann soll er Peter ins Edit1 fenster laden
ist das ohne viel aufwand machbar?