![]() |
INI-Dateien
Hi,
ich will eine INI-Datei erstellen. Bei folgendem Statement :
Delphi-Quellcode:
kommt der Fehler : "Ungültiges Zeichen in Eingabedatei ($0A)". Wenn ich das richtig sehe ist das ein LF. Was soll das ? :twisted:
procedure TForm1.FormCreate(Sender: TObject);
var Ini: TIniFile; begin Ini := TIniFile.Create ('\8.0\TEST.INI' ); |
Re: INI-Dateien
Hast du den Code von irgendwo kopiert?
|
Re: INI-Dateien
Aus der Delphi-Hilfe. :mrgreen: Sag nur, daß die in der Hilfe noch Fallen einbauen ? :shock:
|
Re: INI-Dateien
Dann wird da noch ein LF drinne sein, was du natürlich nicht siehst.
|
Re: INI-Dateien
Ich habe das jetzt von Hand eingetippt und fertig. Das geht jetzt so weit. Die INI wird jetzt angelegt und es steht das gewünschte drin. Wenn ich das aber nun den Benutzer machen lassen will, ungefähr so :
Delphi-Quellcode:
dann kommt eine Zugriffsverletzung. Ich nehme an, es liegt an der Ini Deklaration, sehe aber nicht was verkehrt ist. 8)
public
{ Public-Deklarationen } Ini: TIniFile; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Ini := TIniFile.Create('TEST.INI'); try finally Ini.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin Ini.WriteInteger( 'Zahlengrenzen', 'min',StrToInt (lblIntEdit1.Text)); Ini.WriteInteger( 'Zahlengrenzen', 'max1',StrToInt (lblIntEdit2.Text)); Ini.WriteInteger( 'Zahlengrenzen', 'max2',StrToInt (lblIntEdit3.Text)); end; |
Re: INI-Dateien
Hi Hansa,
kann es sein, dass in den Edit-Feldern keine Integer-Werte drin stehen? Sicherheitshalber solltest Du vielleicht ein try .. except drum herum basteln oder einfach StrToIntDef benutzen. Ansonsten: Wann genau kommt denn die Zugriffsverletzung? Gruß Iris |
Re: INI-Dateien
Du darfst die Ini erst freigeben, wenn du sie nicht mehr benötigst, sprich,
- Ini erstellen (Create) - in Ini schreiben/aus ihr lesen... - Speicher freigeben (Free) |
Re: INI-Dateien
Danke für den Versuch. Aber aus dem Quelltext (ich denke man soll den immer zeigen ? :gruebel: ) geht eindeutig alles nötige hervor. Natürlich steht in den Edits ein Text drin. Aber diesen wandele ich mit StrToInt ja in einen integer um.
Der Fehler ist auch klar zu sehen : Wenn ich im Finally Abschnitt des Create ein Ini.Free mache, dann ist wohl klar wo der Fehler herkam. :lol: Das ist wieder mal ein klassischer Fall dafür, daß mit C+P alleine kein anständiges Programm zu machen ist. :mrgreen: Es kommen aber bestimmt noch mehr Fragen. Deshalb habe ich den Titel ziemlich allgemein gewählt. |
Re: INI-Dateien
Zitat:
![]() |
Re: INI-Dateien
:wall: Stimmt. Wer lesen kann ist klar im Vorteil!
Das free da oben hatte ich total überlesen. |
Re: INI-Dateien
Ach, da war das Tuto. 8) Das ist aber auch nicht viel mehr, als die Delphi-Hilfe. Der Free-Fehler wäre damit auch aufgetaucht. :lol:
Folgende Fragen sind noch aufgetaucht : 1. Kann man einen Kommenatar hinter den Werten angeben ? erledigt : mit ; (gibt ja nicht nur meine INI 8) ) 2. Wie wird die Reihenfolge ermittelt ? Ich habe festgestellt, daß wenn ich zuerst y und dann x reinschreibe, dann steht da drin z.B.: y=2 x=2 Wenn ich aber max1 und max nehme, dann steht max vor max1. :gruebel: 3. Sofern die Datei fertig ist, wie verwende ich sie dann am besten ? Soll ich eine Stringlist verwenden, oder einzelne Variablen, um die Werte aufzunehmen ? Wie machen das die anderen ? |
Re: INI-Dateien
Zitat:
Zitat:
Zitat:
|
Re: INI-Dateien
Welche Reihenfolge?
In der Reihenfolge, in der du's huneinschreibst, steht's in der Datei. |
Re: INI-Dateien
Zitat:
Das hängt doch einzig und allein davon ab, wofür/wie Du die ini benutzt, also sozusagen, was Du da warum reinschreibst. :gruebel: Gruß Stephan |
Re: INI-Dateien
Hi Hansa!
Wenn ich dich richtig verstehe, dann willst du wissen wie du die Werte aus der ini während der Programmausführung speichern sollst? Ich empfehle, beim Start alle Werte aus der ini auszulesen und diese in Variablen abzuspeichern. Anschließend kannst du die ini-Datei wieder freigeben. Beim Beenden des Programms schreibst du dann alle Werte zurück in die ini. Ich rate dir aber Grundsätzlich davon ab, die ini-Datei während der gesamten Ausführung geöffnet zu haben, unter Win gibt es immer wieder Probleme wenn ein Programm abstürzt und die Datei noch nicht freigegeben war. Greetz alcaeus |
Re: INI-Dateien
Editieren hat anscheinend keinen Sinn, ihr seid zu schnell. :lol:
Also : Kommentare gehen mit ; Daß ein Kommentar unnötig ist, das habe ich jetzt aber noch nie gehört. :shock: Identifier sollten zwar immer aussagekräftige Namen haben, aber das hindert einen doch nicht daran, seine Ideen etwas ausführlicher zusätzlich zu kommentieren. Ich habe Prozeduren von ca. 10 Zeilen und da steht fast eine Seite Kommentar dabei. Warum soll das, was im normalen Source richtig ist, bei INIs plötzlich überflüssig sein ? :bouncing4: |
Re: INI-Dateien
Hansa, alter Schlawiener - neue Frage, neuer Thread - denk doch mal an die Suchfunktion...
Gruß |
Re: INI-Dateien
Was neue Frage, neuer Thread ? :shock: Erstens war die 3. Frage, wie ich die INI am besten benutze überflüssig. :lol: Wie Kommentar geht, habe ich geschrieben. Bleibt noch die Reihenfolge übrig und da habe ich mich nur vertan. :mrgreen:
insofern: Thread ERLEDIGT ! |
Re: INI-Dateien
Zitat:
Gruß, teebee |
Re: INI-Dateien
So einfach geht es aber nicht !
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:54 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