Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
26.08.10, 15:14
|
#1
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 20
Bedankt: 0
|
Delphi Speicherfunktion?
So guten tag ich habe eine frage bezüglich delphi:
Gibt es eine Möglichkeiten meine daten von einem programm von delphi abzuspeichern?
als bestes beispiel z.b. dass man eine fussball liga tabelle nimmt.
Wenn da dort werte für die mannschaften eingetragen sind und ich dann das programm schließe, dass dann beim nächsten start von dem programm die werte noch vorhanden sind? bzw dass ich sie wieder laden kann?
mfg MrChaosxtc
ps.: schonma danke an alle die sich die mühe machen mir zu antworten
|
|
|
26.08.10, 16:21
|
#2
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
Speicher das halt in eine Datei. Du kannst dir selber ein Format ausdenken oder z.B. Tini verwenden.
|
|
|
26.08.10, 16:31
|
#3
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 20
Bedankt: 0
|
ja das problem ist ja, dass ich wenn ich ein programm geschrieben habe und dann das programm starte, dass ich dann wenn ich funktionen von dem programm nutze, die ergebnisse etc nicht speichern kann, sondern alles wieder in den ausgangspunkt vom programm gesetzt wird
|
|
|
26.08.10, 16:49
|
#4
|
Ist öfter hier
Registriert seit: Jan 2010
Beiträge: 281
Bedankt: 12
|
Dann musst du das Laden der .ini Datei in das TFromCreate schreiben.
|
|
|
26.08.10, 20:44
|
#5
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 20
Bedankt: 0
|
und woher bekomme ich eine solche .ini datei? muss ich die einfach selbst erstellen? und wenn ja... wie speichere ich dann den fortschritt in dieser?
|
|
|
26.08.10, 20:48
|
#6
|
Ist öfter hier
Registriert seit: Jan 2010
Beiträge: 281
Bedankt: 12
|
Den code kann zum erstellen kann ich dir Morgen reinstellen.
Du musst dann z.B. bei einer tabelle soweit ich weiß jede einzelne Zelle Speichern. Es wird dann eine .ini Datei angelegt, die du auch mit dem Editor ausführen kannst. Da kannst dud ann mal schauen was du gespeichert hast.
|
|
|
26.08.10, 20:57
|
#7
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 20
Bedankt: 0
|
mhh ich denke immer mehr, dass ich von delphi gar keine ahnung habe ^^
dachte immer mein wissen darüber wäre ganz aktzeptabel :P aber irgendwie lese ich bei deiner antwort jedes mal raus, dass es darauf hinausläuft, dass ich etwas lade...
dabei will ich ja erstma speichern^^
|
|
|
27.08.10, 07:58
|
#8
|
Ist öfter hier
Registriert seit: Jan 2010
Beiträge: 281
Bedankt: 12
|
Zitat:
Zitat von Gun_der
Du musst dann z.B. bei einer tabelle soweit ich weiß jede einzelne Zelle Speichern.
|
Da hast du dein speichern.
so jetzt der Quellcode. Ganz wichtig: In die uses muss IniFiles.
Code:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IniFiles, Grids, StdCtrls, Buttons; //Inifiles
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
BitBtn1: TBitBtn;
Edit1: TEdit;
Button1: TButton;
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
Ini: TIniFile;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); //Laden der IniDatei
begin
try
Ini:=TIniFile.Create('C:\Test.ini'); //Pfad der IniDatei
StringGrid1.Cells[1,1]:=Ini.Readstring('s1','z1','');//Zuweisung des Inhalts der ini
finally
Ini.free; //try-schleife zur sicherhiet....am ende wieder frei setzten
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject); //Speicherbutton
begin
try
Ini:=TIniFile.Create('C:\Test.ini'); //Erstellen der inidatei
Ini.WriteString('S1','z1',StringGrid1.Cells[1,1]); //zuweisung:Welche Zelle soll gespeichert werden
//s1 und z1 sind quasi Variablen die nur für die ini eine rolle spielen, kannst du dir dann direkt in der ini ansehen
finally
Ini.Free; //frei setzten
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.Cells[1,1]:=Edit1.Text; //den hab ich nur geschrieben um in die tabelle was reinzuschreiben
end; //war nur ein hilsmitten, nicht wichtig für die sache an sich
end.
Wie gesagt: du müsstest meines wissen jede einzenle Zelle speichern.
Viel Spaß damit
|
|
|
27.08.10, 16:16
|
#9
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 20
Bedankt: 0
|
jo viele dank für die mühe... das müsste dann ja klappen probier das dann jetzt direkt aus^^
ich nehme mal an das da laden ungefähr gleich abläuft
vielen vielen dank ich mach mich an die arbeit :P
|
|
|
27.08.10, 16:18
|
#10
|
Ist öfter hier
Registriert seit: Jan 2010
Beiträge: 281
Bedankt: 12
|
Naja beim laden halt nicht "Writestring" sondern "Readstring"
|
|
|
27.08.10, 18:50
|
#11
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 20
Bedankt: 0
|
so dann nochmal danke und ich nehme mal an, dass damit das topic geschlossen werden kann... falls das hier getan wird^^
|
|
|
27.08.10, 19:05
|
#12
|
Ist öfter hier
Registriert seit: Jan 2010
Beiträge: 281
Bedankt: 12
|
Wenn denn dann funktioniert kann man das machen^^
|
|
|
28.08.10, 16:12
|
#13
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 20
Bedankt: 0
|
so dann nochmal danke und ich nehme mal an, dass damit das topic geschlossen werden kann... falls das hier getan wird^^
|
|
|
28.08.10, 16:15
|
#14
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 20
Bedankt: 0
|
oh das schliessen kann ich ja selber^^...
aber ich hab noch ein problem jetzt...
wie sag ich dem programm denn jetzt, dass z.b. die werte von buttons geändert wurden
z.b.:
button1.visible:= true wurde zu button1.visible:= false?
ich hab das programm zwar jetzt so weit, dass die tabelle gespeichert wird die ich erstellt habe, aber die buttons die durchs hinzufügen neuer spieler sichtbar wurden sind nach dem laden nicht mehr sichtbar
|
|
|
28.08.10, 22:24
|
#15
|
Ist öfter hier
Registriert seit: Jan 2010
Beiträge: 281
Bedankt: 12
|
Dass musst du dann nicht mit WriteString sonder mit WriteBool machen
zum speichern:
Code:
Ini.WriteBool('s','x',false);
zum laden
Code:
Button1.visible:=Ini.readbool('s','x',true) //Damit es beim ersten start sichtbar ist
|
|
|
29.08.10, 04:25
|
#16
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 20
Bedankt: 0
|
cool danke damit habe ich dann das programm endlich fertig...
ma schaun ob ich es letzt endlich auch nutzen werde:P
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:50 Uhr.
().
|