AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit ini dateien

Ein Thema von guitar1 · begonnen am 6. Nov 2006 · letzter Beitrag vom 7. Nov 2006
Antwort Antwort
Seite 1 von 3  1 23      
guitar1

Registriert seit: 9. Sep 2006
65 Beiträge
 
Turbo Delphi für Win32
 
#1

Problem mit ini dateien

  Alt 6. Nov 2006, 22:52
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:
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;
mein "hauptproblem" ist es, dass mich delphi, wenn ich das compilieren will mit fehlermeldungen wie zB:
Zitat:
1. Meldung:
Zugriffsverletzung bei Adresse 0040383A in Modul 'Project1.exe'. Lesen von Adresse FFFFFF00.
2. Meldung:
Exception EAccessViolation in Modul Project1.exe bei 00000000. Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000.
3. Meldung:
Exception EAccessViolation in Modul Project1.exe bei 00003AFC. Zugriffsverletzung bei Adresse 00403AFC in Modul 'Project1.exe'. Lesen von Adresse 646F7238.
4. Meldung:
Runtime error 216 at 0045A1AC
bombadiert

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
Edit2: tippfehler^^
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Problem mit ini dateien

  Alt 6. Nov 2006, 22:58
Vergleich mal den Aufruf des Constructors (Create) bei den beiden Funktionen die du gepostet hast.

PS: Die Meldungen erscheinen zur Laufzeit, nicht beim compilieren!
  Mit Zitat antworten Zitat
Benutzerbild von gordon freeman
gordon freeman

Registriert seit: 28. Jun 2003
Ort: Gelsenkirchen
337 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Problem mit ini dateien

  Alt 6. Nov 2006, 22:59
Mach mal statt
Zitat von guitar1:
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var prodl : TIniFile;
begin
  try
    prodl.Create('produktliste.ini'); //Hier der Fehler
      cpu_amd_name[1]:= prodl.ReadString('cpu','name','Fehler!');
  finally
    prodl.Free
  end;
einfach
prodl := TIniFile.Create('produktliste.ini'); Mach ich auch ständig noch falsch.

PS: Da war KEIN roter Kasten, ehrlich!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Problem mit ini dateien

  Alt 6. Nov 2006, 23:01
Eine gescheite Codeformatierung ist die halbe Miete:
Delphi-Quellcode:
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;
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:
prodl := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'produktliste.ini');
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Problem mit ini dateien

  Alt 7. Nov 2006, 12:37
Woriin besteht der Unterschied zwischen dem :

prodl := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'produktliste.ini'); und dem :
prodl := TIniFile.Create('produktliste.ini');
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Problem mit ini dateien

  Alt 7. Nov 2006, 12:40
Zitat von Hansa:
Woriin besteht der Unterschied zwischen dem
Zweites legt die datei im Arbeitspfad an, der beispielsweise über den TOpenDialog oder auch über Delphi-Referenz durchsuchenChDir (ich glaube so heißt diese Funktion) geändert werden kann.
  Mit Zitat antworten Zitat
Benutzerbild von Interceptor
Interceptor

Registriert seit: 28. Mai 2004
Ort: Würzburg
118 Beiträge
 
Delphi 6 Professional
 
#7

Re: Problem mit ini dateien

  Alt 7. Nov 2006, 12:43
Beim oberen wird ein absoluter Pfad angegeben, beim unteren ein relativer
David
~ Nichts ist wahr, alles ist erlaubt ~
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Problem mit ini dateien

  Alt 7. Nov 2006, 12:48
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:
Beim oberen wird ein absoluter Pfad angegeben, beim unteren ein relativer Stupid
Jein es sind eigentlich beide relative Pfade, der erste zum Verzeichnis, in dem die Exeligt und der 2te relative zum Arbeitsverzeichnis.
Markus Kinzler
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: Problem mit ini dateien

  Alt 7. Nov 2006, 12:49
Nene. 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"
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Problem mit ini dateien

  Alt 7. Nov 2006, 12:54
Zitat von Hansa:
ChDir ist CD und das steht bereits seit Dos für "change directory". Relativ sind beide verwendeten Dateinamen und zwar zum aufrufenden Programm.
Das stimmt nicht, wie mkinzler oder ich schon geschrieben haben. Dazu auch ein Zitat aus der OH:

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? Aber ich meine schon, dass dies so sei.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz