![]() |
Re: speichern von var
Zitat:
Delphi-Quellcode:
liefert schon den Absoluten Pfad zu deinem Projekt, so dass du ihn nicht noch einmal angeben musst.
ExtractFilePath (ParamStr(0))
also:
Delphi-Quellcode:
Auch solltest du auf den Gebrauch von globalen Variablen verzichten
ini:=TIniFile.create(ExtractFilePath (ParamStr(0))+'umfragepr.exeergebnis.ini');
EDIT: Ich glaub der rote Kasten hat Urlaub :gruebel: Und bitte erst nach 24h pushen! |
Re: speichern von var
erstmal sorry fürs pushen hab ich nicht gewusst..
soll ich jetzt bei beiden zeilen
Delphi-Quellcode:
oder
ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'umfragepr.exeergebnis.ini');
Delphi-Quellcode:
schreiben?
ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'ergebnis.ini');
|
Re: speichern von var
also ich würde
Delphi-Quellcode:
nehmen. Nimm den Namen, der für dich passender erscheint.
ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'ergebnis.ini');
|
Re: speichern von var
ich habe beides schon versucht aber irgendwie bekomme ich nie die gespeicherten werte :cry:
kann mir jemand villeicht den quellcode so hinschrieben wie es funktioniren müsste? |
Re: speichern von var
Moin Frodo,
das einfachste, und übersichtlichste, wäre wohl, wenn Du ini als Feld in Deinem Formular deklarierst, und nur einmal (!) erzeugst. Beispielsweise:
Delphi-Quellcode:
Da man Datenbereiche von Objekten als Felder bezeichnet, bekommen diese, üblicherweise, den Präfix F, es funktioniert natürlich auch ohne.
TForm1 = class(TForm)
//.... private Fini : TIniFile; end; /... implementation procedure TForm1.Form1Create(Sender: TObject); // OnCreate begin // Instanz erzeugen // Hier muss die Ini-Datei im Programmverzeichnis liegen. Fini := TIniFile.Create(ExtractFilepath(paramstr(0)+'ergebnis.ini'); end; procedure TForm1.Form1Destroy(Sender: TObject); // OnDestroy begin // ...und wieder freigeben. FreeAndNil(Fini); end; |
Re: speichern von var
Delphi-Quellcode:
müsste dies dann so ausseheb?
unit umfrage;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, IniFiles; type TForm1 = class(TForm) Label1: TLabel; choosedrg: TRadioGroup; votebtm: TButton; procedure votebtmClick(Sender: TObject); procedure FormShow(sende:TObject); private Fini:TIniFile: public { Public-Deklarationen } end; var Form1: TForm1; a,b,c,d,e,f,ap,bp,cp,dp,ep,fp,x:double; implementation {$R *.dfm} procedure TForm1.Form1Create(sender:TObject); begin Fini := TIniFile.Create(ExtractFilepath(paramstr(0)+'ergebnis.ini'); a:=ini.ReadFloat('frage1','wert1',0); b:=ini.ReadFloat('frage1','wert2',0); c:=ini.ReadFloat('frage1','wert3',0); d:=ini.ReadFloat('frage1','wert4',0); e:=ini.ReadFloat('frage1','wert5',0); f:=ini.ReadFloat('frage1','wert6',0); end; procedure TForm1.votebtmClick(Sender: TObject); begin case choosedrg.ItemIndex of 0:a:=a+1; 1:b:=b+1; 2:c:=c+1; 3:d:=d+1; 4:e:=e+1; 5:f:=f+1; end; x:=a+b+c+d+e+f; ap:=a*100/x; bp:=b*100/x; cp:=c*100/x; dp:=d*100/x; ep:=e*100/x; fp:=f*100/x; ini:=TIniFile.create(ExtractFilePath (ParamStr(0))+'ergebnis.ini'); ini.WriteFloat('frage1', 'wert1', a); ini.WriteFloat('frage1', 'wert2', b); ini.WriteFloat('frage1', 'wert3', c); ini.WriteFloat('frage1', 'wert4', d); ini.WriteFloat('frage1', 'wert5', e); ini.WriteFloat('frage1', 'wert6', f); end; procedure TForm1.Form1Destroy(Sender: TObject); begin FreeAndNil(Fini); end; end. |
Re: speichern von var
Nein!
In der
Delphi-Quellcode:
hast du "ini" und nicht "FIni" genommen!
procedure TForm1.votebtmClick(Sender: TObject);
Außerdem reicht es bei deiner Variante die Datei nur einmal zu Createn. Also in der
Delphi-Quellcode:
Das
procedure TForm1.votebtmClick(Sender: TObject);
Delphi-Quellcode:
wegnehmen
ini := TIniFile.Create(...);
Edit: Ich sehe gerade: INI gibt es gar nicht! Es gibt nur FIni! (siehe
Delphi-Quellcode:
)
procedure TForm1.Form1Create(sender:TObject);
Lies dir doch bitte mal das Tutorial durch und kapiere es doch und wenn nicht, dann frage dazu etwas... ;) |
Re: speichern von var
ich habs jetzt auf Fini geändert aber es funktioniert immer noch nicht. könnte mir jemand bitte den
gesamten quellcode umändern wie er dann aussehen müsste, bitte? das wäre wrklich hilfreich... danke im vorraus tom |
Re: speichern von var
Was passiert denn? Compiliert er nicht wenn ja, was sagt er? Oder Startet er und lädt, bzw speichert nich.
Sorry meine Kristallkugel ist nämlich grad in reperatur |
Re: speichern von var
kompilieren funktioniert und auch das speichern läuft einwandfrei. nur wenn ich die variablen wieder aus der ini datei laden will bekomme ich immer 0 den variablen zugewiesen :(
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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