![]() |
INI File wird nicht erzeugt
Hi,
ich habe ein Problem mit folgendem Code, eigentlich sollte er eine INI Datei anlegen, aber leider tut er das nicht, und ich habe keine Ahnung warum...
Delphi-Quellcode:
Ich würde mich sehr freuen, wenn jemand einen Tipp für mich hätte...unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IniFiles, StdCtrls; type TForm3 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form3: TForm3; implementation {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); begin TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'data.ini') ; end; end. Gruß Chris |
Re: INI File wird nicht erzeugt
:hi:
edit: war blödsinn :roll: sry edit2: :mrgreen: bei mir wird die Datei erst gespeichert, wenn ich etwas hineinschreibe:
Delphi-Quellcode:
:hi:
var IniFile : TIniFile;
begin IniFile:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'data.ini'); with IniFile do begin WriteString('test1','test2','test3'); end; IniFile.Free; end; edit3: es ist schon spät, gnade.. |
Re: INI File wird nicht erzeugt
Hi,
jap so gehts bei mir auch, an diese Möglichkeit hatte ich garnicht gedacht...naja aufjedenfall vielen Dank! Gruß Chris |
Re: INI File wird nicht erzeugt
Eventuell reicht auch schon das Free. Eine mit einem FileStream geöffnete Datei, wird auch erst geschlossen, wenn der FileStream freigegeben wird.
|
Re: INI File wird nicht erzeugt
Hi,
nur das free reicht nicht aus. Gruß |
Re: INI File wird nicht erzeugt
Zitat:
Bei solchen Behauptungen : immer Quelle angeben ! :zwinker: |
Re: INI File wird nicht erzeugt
Zitat:
Ich habe es getestet, und nur mit free oder einem Lesezugriff (ReadString) hat er die Datei nicht erstellt. Gruß |
Re: INI File wird nicht erzeugt
Ich glaub in meinen D7-Sourcen wird bei .Create nur der Dateiname in der Klasse zwischengespeichert.
und erst beim Aufruf von Read... und Write... wird wirklich auf die ini zugergriffen. (jedenfalls hab ich das noch so im Kopf) Demnach kann beim .Create noch keine Datei erstellt werden. (bei zweifeln kann ja nochmal jemand bei sich nachsehn :angel: ) |
Re: INI File wird nicht erzeugt
Wieso schreibst Du denn was, ohne das Thema überhaupt zu lesen ? Zecke hat das doch schon klargestellt. 8)
|
Re: INI File wird nicht erzeugt
Zitat:
Zitat:
|
Re: INI File wird nicht erzeugt
*nachles* hmm, hab ich da ja doch was übersehn o.O
Na ja ... zumindestens hab ich dann wenigstens den Grund dafür geliefert :roll: so, nun isses soweit und ich laß mir hier 'ne neue Maus geben ... will och ma wieder richtig scrollen können -.-'' [add] na ja, die [Edits] da oben sind mir ja dennoch entgangen :oops: |
Re: INI File wird nicht erzeugt
Vorab : himitsu hat hiermit nichts zu tun. Der rutschte in den Thread rein und der rote Kasten war wohl kaputt. :? Es ging mir um "MrKnogge".
Zitat:
Es ging hier drum : Zitat:
Es wird überflüssigerweise mal wieder kunterbunt. 8) Die Klarstellung, um die es ging war das hier : Zitat:
Also, was soll das alles ? Zecke hat zwar gezeigt, wie so etwas richtig geht, aber die Hauptursache liegt an dem vergessenen erzeugen der Variablen und dem Zugriff auf dieses Nirwana. Hinzu kommt die Nichtangabe der Fehlermeldung. Da kam nämlich sicherlich eine. |
Re: INI File wird nicht erzeugt
Warum sollte da eine Fehlermeldung kommen ?
Wo greift er dort auf's Nirwana zu ? Er erstellt lediglich ein Objekt ohne sich die Position zu merken. |
Re: INI File wird nicht erzeugt
Zitat:
|
Re: INI File wird nicht erzeugt
Zitat:
Zitat:
Deine darauf folgende Frage, was "denn bei einer simplen Textdatei noch groß passieren" solle, lässt eher den Schluss zu, dass du - zumindest dem Zeitpunkt - gar nicht wusstest, worum es geht. :???: Zitat:
Wieder so'n wirres Zeug ... Bist du im richtigen Thread? :gruebel: Ich sehe im ganzen Thread kein "Zugriff auf dieses Nirvana". Auch ist nirgendwo von einer Fehlermeldung die Rede. Ich wüsste auf Anhieb auch gar nicht, wo es wodurch zu irgendeinem Fehler kommen sollte. Der Threadersteller war lediglich der Ansicht, es müsse schon beim Createn einer TIniFile die entsprechende Ini-Datei auf die Platte geschrieben werden. Das ist nicht der Fall, und das weiß er jetzt. |
Re: INI File wird nicht erzeugt
Zitat:
Delphi-Quellcode:
Ja, teste mal schön! :twisted:
procedure TForm3.Button1Click(Sender: TObject);
begin TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'data.ini') ; end; Da kommt kein Fehler und nichts. Warum auch? Er erzeugt ein TIniFile und hat keine Referenz darauf. Unschön - aber keine Fehlermeldung. |
Re: INI File wird nicht erzeugt
Zitat:
|
Re: INI File wird nicht erzeugt
Zitat:
Delphi-Quellcode:
Quelle : OH. :mrgreen:
Im folgenden Beispiel werden die Konfigurationsinformationen mit dem Ereignis OnCreate eines Formulars aus einer INI-Datei gelesen und in der Ereignisbehandlungsroutine für OnClose zurückgeschrieben.
procedure TForm1.FormCreate(Sender: TObject); var Ini: TIniFile; begin Ini := TIniFile.Create( ChangeFileExt( Application.ExeName, '.INI' ) ); try Top := Ini.ReadInteger( 'Form', 'Top', 100 ); Left := Ini.ReadInteger( 'Form', 'Left', 100 ); Caption := Ini.ReadString( 'Form', 'Caption', 'New Form' ); if Ini.ReadBool( 'Form', 'InitMax', false ) then WindowState = wsMaximized else WindowState = wsNormal; finally TIniFile.Free; end; end; Wo ist jetzt da was außer free zu sehen ? :shock: |
Re: INI File wird nicht erzeugt
Zitat:
Delphi-Quellcode:
Aber auch das ändert nichts daran, dass duch deinen Code keine ini-Datei in dem Ordner der Anwenung erstellt wird !
Top := Ini.ReadInteger( 'Form', 'Top', 100 );
Du brauchst mindestens einmal etwas in die Ini-Datei schreiben. Gruß [Edit]"/" vergessen[/Edit] |
Re: INI File wird nicht erzeugt
Moin Hansa,
Zitat:
Zitat:
BTW: Es ging darum, dass ein Free nicht reicht, um eine Ini-Datei zu erzeugen, ohne etwas da reinzuschreiben, und dass ist so korrekt, da beim Create nur der Dateiname/Pfad gesetzt wird, und im Free nichts weiter passiert. |
Re: INI File wird nicht erzeugt
Zitat:
Das, was dafür ausschlaggebend ist, dass das Ding zurückgeschrieben wird, steht - wie du selber aus der Hilfe zitiert hast - im OnClose. Es sind die ganzen Ini.Write...-Befehle. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 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 by Thomas Breitkreuz