![]() |
Re: Problem mit ini-Datei bei Wertzuweisungen
Also nach dem rausnehmen sah es nicht gerade besser aus. Er zeigt immer noch den Access violation Fehler und geht in diese Zeile(die mit den Ausrufezeichen):
Delphi-Quellcode:
begin
sl := TStringList.Create; try Ini.ReadSectionValues('Titel',sl); !!!! z := sl.Count; finally FreeAndNil(sl); end; |
Re: Problem mit ini-Datei bei Wertzuweisungen
Wo hast Du denn das TIniFile.Create stehen? Ist die Ini eine globale Variable?
|
Re: Problem mit ini-Datei bei Wertzuweisungen
Zitat:
Delphi-Quellcode:
Das hab ich bei den globalen Variablen stehen.
var
ini : TiniFile; MFG Subsidenz |
Re: Problem mit ini-Datei bei Wertzuweisungen
Und wo wird sie angelegt (TIniFile.Create)?
|
Re: Problem mit ini-Datei bei Wertzuweisungen
Zitat:
Delphi-Quellcode:
Dieser Code ist mit in der Speicher-Prozedur. Sie wird also im gleichen Ordner angelegt bzw. gespeichert/überschrieben.
ini := TIniFile.Create(ExtractFilePath( ParamStr(0))+'data.ini');
|
Re: Problem mit ini-Datei bei Wertzuweisungen
So kommen wir irgendwie nicht weiter. Wenn es nicht gerade 400 Zeilen sind, poste mal die Unit.
|
Re: Problem mit ini-Datei bei Wertzuweisungen
Delphi-Quellcode:
Anmerkung: Dies ist ein Programm für eine Musik-Datenbank. Man trägt jeweils in 5 Editfelder etwas ein und dann wird es in eine Tabelle geschrieben. Die Werte daraus kann man durch den Button "Speichern" in eine ini-Datei schreiben. Beim "Laden" sollen nun diese Werte wieder in die Tabelle eingefügt werden.
unit Seite1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls, jpeg, ExtCtrls, Outline, ComCtrls, TabNotBk, Buttons, iniFiles; type TForm1 = class(TForm) Hintergrund: TImage; ueberschrift: TLabel; eigenschaften: TGroupBox; ltitel: TLabel; tinterpret: TLabel; tgenre: TLabel; tgroesse: TLabel; tlaenge: TLabel; titel: TEdit; interpret: TEdit; genre: TEdit; groesse: TEdit; laenge: TEdit; grid: TStringGrid; operatoren: TGroupBox; ein: TButton; BitBtn1: TBitBtn; spei: TButton; loeschen: TButton; laden: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure einClick(Sender: TObject); procedure speiClick(Sender: TObject); procedure ladenClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; ini : TiniFile; implementation uses Unit2, Seite2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Form3.ShowModal; end; procedure TForm1.FormCreate(Sender: TObject); begin grid.Cells[0,0]:='Titel'; grid.Cells[1,0]:='Interpret'; grid.Cells[2,0]:='Genre'; grid.Cells[3,0]:='Größe in MB'; grid.Cells[4,0]:='Länge in min'; end; procedure TForm1.einClick(Sender: TObject); var h :integer; begin h:=grid.RowCount-1; grid.Cells[0,h]:=titel.Text; grid.Cells[1,h]:=interpret.Text; grid.Cells[2,h]:=genre.Text; grid.Cells[3,h]:=groesse.Text; grid.Cells[4,h]:=laenge.Text; grid.RowCount:=h+2; titel.SetFocus; end; procedure TForm1.speiClick(Sender: TObject); var a,h : integer; begin a:=1; h:=grid.RowCount-2; ini := TIniFile.Create(ExtractFilePath( ParamStr(0))+'data.ini'); ini.EraseSection('Titel'); for a:=1 to h do begin ini.WriteString('Titel', IntToStr(a), grid.Cells[0,a]) end; end; procedure TForm1.ladenClick(Sender: TObject); var i : TListBox; z,a : integer; sl: TStringlist; begin begin sl := TStringList.Create; try Ini.ReadSectionValues('Titel',sl); z := sl.Count; finally FreeAndNil(sl); end; a:=1; grid.RowCount:=z+1; for a:=1 to z do begin grid.Cells[0,a]:=ini.ReadString('Titel', IntToStr(a), ''); end; end; end; end. Soweit wollt ich das erstmal machen. Löschen der Zeilen bzw. Bearbeiten kommt noch hinzu. Das Laden steht halt gerade im Problem-Mittelpunkt :-D MFG Subsidenz |
Re: Problem mit ini-Datei bei Wertzuweisungen
Wenn ich das richtig sehe, müsstest Du immer erst speichern, damit die Ini zur Verfügung steht. Da Du eh globale Variablen benutzt, kannst Du das auch so machen (vor dem letzten end.):
Delphi-Quellcode:
Damit steht die Ini global zur Verfügung, Du musst sie nicht neu erzeugen. (Hoffentlich werde ich jetzt nicht öffentlich gesteinigt :duck: )
initialization
ini := TIniFile.Create(ExtractFilePath( ParamStr(0))+'data.ini'); finalization ini.Free; |
Re: Problem mit ini-Datei bei Wertzuweisungen
Zitat:
Aber wo müssen die beiden Sachen denn eingefügt werden? |
Re: Problem mit ini-Datei bei Wertzuweisungen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 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