![]() |
Problem mit ini dateien
hi,
ich probier jetzt schon seit stunden alles mögliche (ist bei mir noch nicht so viel :) ), um daten in eine ini-datei zu speicher. Ich hab hier mal einen teil des quellcodes reingestellt, vllt ist es ja auch nur ein ganz kleiner fehler
Delphi-Quellcode:
mein "hauptproblem" ist es, dass mich delphi, wenn ich das compilieren will mit fehlermeldungen wie zB:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var prodl : TIniFile; begin prodl := tinifile.Create('produktliste.ini'); prodl.WriteString ('cpu', 'name', cpu_amd_name[1] ); prodl.Free; end; procedure TForm1.FormShow(Sender: TObject); var prodl : TIniFile; begin try prodl.Create('produktliste.ini'); cpu_amd_name[1]:= prodl.ReadString('cpu','name','Fehler!'); finally prodl.Free end; end; Zitat:
schon mal großes DANKE im voraus mfg A. Horn PS: ich würde ich freuen wenn ihr es einfach erklärt, denn wie gesagt arbeite ich noch nicht so lange mit Delphi (ca. 3 monate) Edit1: hab die fehlermeldungen vergessen :oops: Edit2: tippfehler^^ |
Re: Problem mit ini dateien
Vergleich mal den Aufruf des Constructors (Create) bei den beiden Funktionen die du gepostet hast.
PS: Die Meldungen erscheinen zur Laufzeit, nicht beim compilieren! |
Re: Problem mit ini dateien
Mach mal statt
Zitat:
Delphi-Quellcode:
Mach ich auch ständig noch falsch.
prodl := TIniFile.Create('produktliste.ini');
PS: Da war KEIN roter Kasten, ehrlich! |
Re: Problem mit ini dateien
Eine gescheite Codeformatierung ist die halbe Miete:
Delphi-Quellcode:
Das mal exemplarisch. Ansonsten sollte dein Code auch schon funktionieren, wenn denn dein Windows in der Lage ist und errät in welchem Verzeichnis, sich die Ini-Datei befindet. Ich gehe mal davon aus, sie soll im Anwendungsverzeichnis liegen. Dann sollte das so aussehen:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var prodl : TIniFile; begin prodl := TIniFile.Create('produktliste.ini'); try try prodl.WriteString ('cpu', 'name', cpu_amd_name[1] ); except on E: Exception do ShowMessage(E.Message); end; finally prodl.Free; end; end;
Delphi-Quellcode:
prodl := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'produktliste.ini');
|
Re: Problem mit ini dateien
Woriin besteht der Unterschied zwischen dem :
Delphi-Quellcode:
und dem :
prodl := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'produktliste.ini');
Delphi-Quellcode:
:gruebel:
prodl := TIniFile.Create('produktliste.ini');
|
Re: Problem mit ini dateien
Zitat:
![]() |
Re: Problem mit ini dateien
Beim oberen wird ein absoluter Pfad angegeben, beim unteren ein relativer :stupid:
|
Re: Problem mit ini dateien
Im Normalfall hat das den geliechen Effekt, da das Arbeitsverzeichnis mit dem Verzeichnis der Exe identisch ist. Wenn nun aber das Arbeitsverzeichnis abweicht (Exe ist mit Dateityp verknüpft, Angabe in Verknüpfung usw) dann nicht mehr. Deshalb ist erstere Lösung besser.
Zitat:
|
Re: Problem mit ini dateien
Nene. :zwinker: ChDir ist CD und das steht bereits seit Dos für "change directory". Relativ sind beide verwendeten Dateinamen und zwar zum aufrufenden Programm. Dateiname mit absoluter Pfadangabe wäre das : "C:\Windows\Text.ini" :stupid:
|
Re: Problem mit ini dateien
Zitat:
Delphi-Hilfe: Syntax [Delphi] procedure ChDir(const S: string); overload; [Delphi] procedure ChDir(P: PAnsiChar); overload; Mit ChDir kann das aktuelle Verzeichnis in den mit S oder P angegebenen Pfad geändert werden. Wenn die Operation fehlschlägt, wird EInOutError ausgelöst. Oder bin ich da völlig auf dem Holzweg? :gruebel: Aber ich meine schon, dass dies so sei. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 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