Autor Beitrag
Akut-Programming
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 69

WinXP, Win2000
Delphi 7 Enterprise, Delphi 5 Prof.
BeitragVerfasst: Do 21.08.03 13:07 
Hi Leuts, bins nochma!

Unzwar folgendes, bin grad dabei n kleen Dateibrowser zu proggn nur da steh ich jetzt grad vor n Problem. :eyes: Ich wollte ini Dateien verwenden um Einstellungen zu speichern. Jetzt hab ich mit Hilfe eines hier veröffentlichten Tutorial dies versucht zu verwirklichen. Nur bekomme ich beim Compilieren der Anwendung folgenden Fehler:

Zitat:
[Fehler] Unit2.pas(75): Record, Objekt oder Klassentyp erforderlich


Weiß da jemand wie ich ihn beheben kann? :roll:

_________________
Gruß,
Akut - Programming


Zuletzt bearbeitet von Akut-Programming am Do 21.08.03 15:11, insgesamt 1-mal bearbeitet
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 21.08.03 13:28 
Hi!

Besser ist es wenn du uns den Sourcecode mal postest. Dann können wir auch helfen.

Gruß
Tino
Akut-Programming Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 69

WinXP, Win2000
Delphi 7 Enterprise, Delphi 5 Prof.
BeitragVerfasst: Do 21.08.03 14:00 
okay, dann hab ich hier mal n bissl code! Is die Unit, in der der Fehler auftritt.

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ComCtrls, IniFiles;

type
  TForm2 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

uses Unit1;

{$R *.DFM}

procedure TForm2.BitBtn1Click(Sender: TObject);
var pfad:string;
    ini:TIniFile;
begin
pfad:=ExtractFilePath(ParamStr(0));
if CheckBox1.Checked=True then
 begin
  try ini:=TIniFile.Create(pfad+'einstellungen.ini');
  ini.WriteInteger('einstellungen','LoadNotice',1);
  finally ini.free;
 end
  else
   try ini:=TIniFile.Create(pfad+'einstellungen.ini');
   ini.WriteInteger('einstellungen','LoadNotice',0);
   finally ini.free;

   if CheckBox2.Checked=True then
 begin
  try ini:=TIniFile.Create(pfad+'einstellungen.ini');
  ini.WriteInteger('einstellungen','WindowHeight',Form1.Height);
  ini.WriteInteger('einstellungen','WindowWidth',Form1.Width);
  finally ini.free;
 end 
  else
   try ini:=TIniFile.Create(pfad+'einstellungen.ini');
   ini.WriteInteger('einstellungen','WindowHeight',605);
   ini.WriteInteger('einstellungen','WindowWidth',853);
   finally ini.free;

   if CheckBox3.Checked=True then
 begin
  try ini:=TIniFile.Create(pfad+'einstellungen.ini');
  ini.WriteInteger('einstellungen','autostart',1);
  finally ini.free;
 end
  else
   try ini:=TIniFile.Create(pfad+'einstellungen.ini');
   ini.WriteInteger('einstellungen','autostart',0);
   finally ini.free;
   end;
Form2.Close;
end;
end. //-----------------------> Hier kommt der Fehler

_________________
Gruß,
Akut - Programming
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Do 21.08.03 14:08 
Hallo

wenn man den Code ein wenig einrückt, sieht man die Fehler

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
if CheckBox1.Checked=True then
  begin
    try
      ini:=TIniFile.Create(pfad+'einstellungen.ini');
      ini.WriteInteger('einstellungen','LoadNotice',1);
    finally
      ini.free;
    end//fehlt bei dir
  end
 else
  ...

es heißt
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
try
  ...
finally
  ...
end;

bei dir fehlen ein paar ends. rück den code mal ein wenig anders ein und ergänze die fehlenden ends

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Do 21.08.03 14:15 
öhm warum öffnets du jedes mal die ini und
gehts nicht so vor
ini erstelln
wenn checkbox1 dann schreibe wert1 sonst schreibe Wert2
wenn checkbox2 dann schreibe wert3 sonst schreibe Wert4
ini schließen

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Akut-Programming Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 69

WinXP, Win2000
Delphi 7 Enterprise, Delphi 5 Prof.
BeitragVerfasst: Do 21.08.03 14:16 
Hey Spitze!! :dance2:

Es funzt!! Ganz großes DANKE!! :beer:

_________________
Gruß,
Akut - Programming
Akut-Programming Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 69

WinXP, Win2000
Delphi 7 Enterprise, Delphi 5 Prof.
BeitragVerfasst: Do 21.08.03 14:18 
Keldorn hat folgendes geschrieben:
warum gehts nicht so vor
ini erstelln
wenn checkbox1 dann schreibe wert1 sonst schreibe Wert2
wenn checkbox2 dann schreibe wert3 sonst schreibe Wert4
ini schließen


Meintest du, das ich dies bei der Checkbox auf OnClick machen sollte?

_________________
Gruß,
Akut - Programming
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Do 21.08.03 14:29 
nee, ich mein das so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
procedure buttonklick;
......
  pfad:=ExtractFilePath(ParamStr(0));
  ini:=TIniFile.Create(pfad+'einstellungen.ini');
  try
    if CheckBox1.Checked=True then
      ini.WriteInteger('einstellungen','LoadNotice',1)
     else
      ini.WriteInteger('einstellungen','LoadNotice',0);
    if CheckBox2.Checked=True then
      begin
        ini.WriteInteger('einstellungen','WindowHeight',Form1.Height);
        ini.WriteInteger('einstellungen','WindowWidth',Form1.Width);
      end
     else
      begin
        ini.WriteInteger('einstellungen','WindowHeight',605);
        ini.WriteInteger('einstellungen','WindowWidth',853);
      end;
    if CheckBox3.Checked=True then
      ini.WriteInteger('einstellungen','autostart',1)
     else
      ini.WriteInteger('einstellungen','autostart',0);
  finally
    ini.free;
  end;

ungetestet, nur dein code umkopiert
und das ganze geht noch kürzer:
statt
ausblenden Delphi-Quelltext
1:
2:
3:
4:
    if CheckBox1.Checked=True then
      ini.WriteInteger('einstellungen','LoadNotice',1)
     else
      ini.WriteInteger('einstellungen','LoadNotice',0);

schreib mal:
ausblenden Delphi-Quelltext
1:
ini.Writebool('einstellungen','LoadNotice',checkbox1.checked)					

auslkesen entsprechend mit readbool

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Akut-Programming Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 69

WinXP, Win2000
Delphi 7 Enterprise, Delphi 5 Prof.
BeitragVerfasst: Do 21.08.03 14:43 
Aber müsste ich bei der Sache nicht dann noch sagen, welchen Boolean er eintragen soll?

ausblenden Quelltext
1:
ini.Writebool('einstellungen','LoadNotice',checkbox1.checked)					

_________________
Gruß,
Akut - Programming
Akut-Programming Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 69

WinXP, Win2000
Delphi 7 Enterprise, Delphi 5 Prof.
BeitragVerfasst: Do 21.08.03 14:46 
Ahh ja, okay verstehe auch deinen zweiten hinweis.

Zitat:
ini.Writebool('einstellungen','LoadNotice',checkbox1.checked)


er wertet dann jeweils den boolean der checkbox aus und trägt diesen ein!?

_________________
Gruß,
Akut - Programming
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Do 21.08.03 14:46 
Akut-Programming hat folgendes geschrieben:
Aber müsste ich bei der Sache nicht dann noch sagen, welchen Boolean er eintragen soll?

ausblenden Quelltext
1:
ini.Writebool('einstellungen','LoadNotice',checkbox1.checked)					

checkbox1.checked ist doch schon ein bool ;)

edit: genau

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Akut-Programming Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 69

WinXP, Win2000
Delphi 7 Enterprise, Delphi 5 Prof.
BeitragVerfasst: Do 21.08.03 14:49 
Keldorn hat folgendes geschrieben:

checkbox1.checked ist doch schon ein bool ;)


Yo, hab ich jetzt auch raus! Musste n paar mitn Kopp vor de Wand kloppen :autsch: , dann isses mir aufgefallen! *g*

_________________
Gruß,
Akut - Programming
Akut-Programming Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 69

WinXP, Win2000
Delphi 7 Enterprise, Delphi 5 Prof.
BeitragVerfasst: Do 21.08.03 14:50 
Ich muss sagen, sehr nett, die Hilfe die man hier bekommt. In manch anderen Foren hätt man auf sowas keene Antwort bekomm. Also noch ma n rießen Dank für die Hilfe. :lol:

_________________
Gruß,
Akut - Programming