Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehler bei Ini Zuweisung (https://www.delphipraxis.net/59565-fehler-bei-ini-zuweisung.html)

philiph 24. Dez 2005 13:17


Fehler bei Ini Zuweisung
 
Wo liegt hier der Fehler??
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin TIniFile.Create(ChangeFileExt('config','.ini'));
if strtoint(ini.ReadString('Datei','Autostart',''))=1
 then begin Checkbox1.Checked:=True; Checkbox1.onclick:=CheckBox1Click; end
else begin
 Checkbox1.Checked:=false; Checkbox1.onclick:=CheckBox1Click;  end
end;
ich find ihn leider nicht trotztem kommt immer Acces Violation

jim_raynor 24. Dez 2005 13:18

Re: Fehler?
 
Formatiere mal deinen Code richtig ...


Der Fehler dürfte sein, dass du ini nichts zuweist.

Delphi-Quellcode:
ini:=TIniFile.Create(ChangeFileExt('config.ini'));

Luckie 24. Dez 2005 13:21

Re: Fehler?
 
Bitte gib deinem Topoic einen aussagekräftigen Titel. Fehler ist dies nämlich nicht. Danke.

BlackJack 24. Dez 2005 13:26

Re: Fehler?
 
und schau nochmal nach dass du die ganzen apostrophen gescheit schachtelst.

ach ja, wenn man in einem string einen apostroph (also ' ) darstellen will, muss man ihn zweimal schreiben (also '' ).
Beispiele
'Wie geht''s' => Wie geht's
'''Hallo?''' => 'Hallo?'

Luckie 24. Dez 2005 13:31

Re: Fehler?
 
Zitat:

Zitat von Luckie
Bitte gib deinem Topic einen aussagekräftigen Titel. Fehler ist dies nämlich nicht. Danke.

Willst du mich veralbern? Vorher
Zitat:

Fehler
Jetzt:
Zitat:

Wo liegt hier der Fehler?

Helmi 24. Dez 2005 16:49

Re: Fehler?
 
Zitat:

Zitat von BlackJack
und schau nochmal nach dass du die ganzen apostrophen gescheit schachtelst.

ach ja, wenn man in einem string einen apostroph (also ' ) darstellen will, muss man ihn zweimal schreiben (also '' ).
Beispiele
'Wie geht''s' => Wie geht's
'''Hallo?''' => 'Hallo?'

Hallo BlackJack,

ich habe das mit den doppelten Apostrophen mal kurz ausprobiert und ich denke dass du da nicht so ganz recht hast (sagt jedenfalls Delphi).

Ich hab mal folgendes getestet:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(''hallo'');
end;
und da kommt es zu einem Fehler. Da vor und nach dem "hallo" ein String definiert wird (durch die 2 Apostrophen).
Deshalb gehört das "hallo" nicht mehr zum String.

So - genug Kritik! :-D

Frohe Weihnachten!!

(Ach ja - ich vermiss die Weihnachts-Smileys - wie letztes Jahr)

3_of_8 24. Dez 2005 16:53

Re: Fehler bei Ini Zuweisung
 
Klar. Da hast du ja einen Delimitier-Apostrophen und einen String-Apostrophen. Richtig:

showmessage('''Hallo! Wie geht''s?''');

Helmi 24. Dez 2005 16:56

Re: Fehler bei Ini Zuweisung
 
Zitat:

Zitat von 3_of_8
Klar. Da hast du ja einen Delimitier-Apostrophen und einen String-Apostrophen. Richtig:

showmessage('''Hallo! Wie geht''s?''');

Mann (auch Frau) lernt nie aus!!

Danke schön!!

:wink:

3_of_8 24. Dez 2005 16:58

Re: Fehler bei Ini Zuweisung
 
Steht das nicht eigentlich auch in der OH?

Naja, egal. Bittesehr.

philiph 24. Dez 2005 19:35

Re: Fehler?
 
Zitat:

Zitat von jim_raynor
Formatiere mal deinen Code richtig ...


Der Fehler dürfte sein, dass du ini nichts zuweist.

Delphi-Quellcode:
ini:=TIniFile.Create(ChangeFileExt('config.ini'));


Also wenn ich das mache zeigt er mir an ihm würden Werte fehlen :wall:

Wie kann ich jetzt ein ini file benutzen dessen File Name ich selbst bestimmt habe?? :gruebel:

3_of_8 24. Dez 2005 19:38

Re: Fehler bei Ini Zuweisung
 
Was soll das ChangeFileExt überhaupt? Eine TIniFile kann mit jeder beliebigen, 3stelligen Erweiterung aufgerufen werden.

marabu 24. Dez 2005 19:42

Re: Fehler bei Ini Zuweisung
 
Hallo philiph,

fürchte dich nicht vor der Online Hilfe...

Delphi-Quellcode:
var
  ini: TMemIniFile;
begin
  ini := TMemIniFile.Create('config.ini'); // so
  ini := TMemIniFile.Create(ChangeFileExt(ParamStr(0), '.ini')); // oder so
  // ...
end;
Frohe Weihnachten vom marabu

ManuMF 24. Dez 2005 20:41

Re: Fehler bei Ini Zuweisung
 
Hallo,

Was ist der Unterschied zwischen TIniFile und TMemIniFile?

Gruß,
ManuMF

marabu 24. Dez 2005 21:08

Re: Fehler bei Ini Zuweisung
 
Hallo ManuMF.

TMemIniFile lädt die Steuerdatei komplett in den Hauptspeicher, es erfolgen keine Zugriffe auf die Platte, es sei denn du verwendest die Methode UpdateFile(). Ganz anders TIniFile. Diese Komponente kapselt die Windows API Funktionen - mit allen Vor- und Nachteilen, die das mit sich bringt - jeder Zugriff ist ein Plattenzugriff und die inherenten Beschränkungen (size limit) schlagen eventuell zu.

Frohe Weihnachten vom marabu

philiph 26. Dez 2005 10:52

Re: Fehler bei Ini Zuweisung
 
Danke das mit TMemIniFile klappt!!
Aber jetzt hat sich ein neues Problem ergeben ich möchte die INI Datei von einem Programm mit Autostart auslesen und das klappt nicht woran könnte das liegen, denn wenn ich das Prog "normal" öffne geht alles??


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:21 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