![]() |
Speichern Button
Hallo leute,
bin neu hier und habe direkt mal ne Frage. Mein Quelltext ist so:
Delphi-Quellcode:
Nun bekomm ich aber folgende Fehlermeldungen:
unit Unit1;
interface uses Windows, Messages, Inifiles, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Ueberschrift: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label7: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Speichern: TButton; Ende: TButton; RadioGroup1: TRadioGroup; RadioGroup2: TRadioGroup; RadioGroup3: TRadioGroup; Label6: TLabel; Label8: TLabel; RadioGroup4: TRadioGroup; RadioGroup5: TRadioGroup; RadioGroup6: TRadioGroup; RadioGroup7: TRadioGroup; RadioGroup8: TRadioGroup; RadioGroup9: TRadioGroup; RadioGroup10: TRadioGroup; procedure EndeClick(Sender: TObject); procedure SpeichernClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.EndeClick(Sender: TObject); begin close end; procedure TForm1.SpeichernClick(Sender: TObject); var dummy_inifile:tinifile; begin dummy_inifile:=tinifile.create('Auswertung.ini'); dummy_inifile.writeinteger('Inifile_section','Radiogroup1',Radiogroup1.ItemIndex); dummy_inifile.free; end; // Lesen: var dummy_inifile:tinifile; begin dummy_inifile:=tinifile.create('dateiname.ini'); radiogroup1.itemindex:=dummy_inifile.readinteger('Inifile_section','Radiogroup1',-1); dummy_inifile.free; end; end. [Fehler] Unit1.pas(73): Undefinierter Bezeichner: 'radiogroup1' [Fehler] Unit1.pas(73): Operator oder Semikolon fehlt [Fehler] Unit1.pas(75): '.' erwartet, aber ';' gefunden [Fataler Fehler] Fragebogen.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden Hoffe hier kann mir jemand helfen. Mit freundlichen Grüßen |
AW: Speichern Button
Hallo und herzlich willkommen in der DP :dp: :dp:
Wenn wir jetzt auch noch wissen würden wo Zeile 73 ist, dann ist alles gut. Bernhard |
AW: Speichern Button
Wenn ich mir die Deklaration des Formulars ansehe komme ich zu dem Schluss, dass das Lesen keine Methode, sondern wahrscheinlich eine reguläre Prozedur ist. Dort ist dann die RadioGroup natürlich nicht bekannt.
[edit] Sry, Willkommen in der DP :dp: [/edit] |
AW: Speichern Button
Hi,
du greifst von der Unit aus direkt auf die Radiogroup zu. Die Radiogroup selbst ist aber nur in deinem Formular deklariert. Besser wäre, wenn du eine Neue Methode "DatenLaden" dem Formular hinzufügst und dort alles für das Laden der Daten vorsiehst. (wie schon durch DeddyH geschrieben) |
AW: Speichern Button
Erstmal vielen dank für die schnellen antworten :)
Delphi-Quellcode:
hier zeigt er mir das Radiogroup1 ein Undefinierter Bezeichner währe.
Radiogroup1.itemindex:=dummy_inifile.readinteger('Inifile_section','Radiogroup1',-1);
Paar Zeilen drüber habe ich das aber auch stehen und da ist es kein Fehler?? Das soll nämlich ein Fragebogen werden den Leute ausfüllen. Die ergebnisse sollen in csv. gespeichert werden also mit excel ausgelesen werden. Hab gedacht mit dem was ich da habe währe das so möglich oder? Mit freundlichen Grüßen |
AW: Speichern Button
Ist das der komplette Quelltext, den Du da gepostet hast?
|
AW: Speichern Button
ja das ist das komplette.
Bin davon ausgegangen das es eigentlich doch so funktionieren müsste wenn ich die Fehler behoben habe. Mit freundlichen Grüßen |
AW: Speichern Button
jupp, das "Lesen" ist keine Methode von TForm1,
sondern die Initialisierungsprozedur der Unit, da du den Funktions-Header vergessen hast.
Delphi-Quellcode:
Und da dieses keine Methode der Form ist, kann es so auch nichts kennen, was innerhalb der Form deklariert ist.
procedure TForm1.SpeichernClick(Sender: TObject); { der Funktions-Header }
var dummy_inifile:tinifile; begin dummy_inifile:=tinifile.create('Auswertung.ini'); dummy_inifile.writeinteger('Inifile_section','Radiogroup1',Radiogroup1.ItemIndex); dummy_inifile.free; end; // Lesen: { hier fehlt etwas ganz Wichtiges } var dummy_inifile:tinifile; begin dummy_inifile:=tinifile.create('dateiname.ini'); radiogroup1.itemindex:=dummy_inifile.readinteger('Inifile_section','Radiogroup1',-1); dummy_inifile.free; end; Am Ende fehlt dir der Laden-Button und die zugehörige OnClick-Methode. |
AW: Speichern Button
Richtig. Es müsste so lauten:
Delphi-Quellcode:
Außerdem musst Du die Methode noch im interface-Abschnitt bekanntmachen.
procedure TForm1.Laden; //diese Zeile ist enorm wichtig
var dummy_inifile:tinifile; begin dummy_inifile:=tinifile.create('dateiname.ini'); radiogroup1.itemindex:=dummy_inifile.readinteger('Inifile_section','Radiogroup1',-1); dummy_inifile.free; end;
Delphi-Quellcode:
type
TForm1 = class(TForm) ... procedure Laden; ... end; |
AW: Speichern Button
Und dann noch im OnCreate der Form die Laden-Prozedur aufrufen.
Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 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