Hallo,
vielen Dank für eure schnellen Reaktionen.
In der Unit Geschichte habe ich unter
"implementation
uses Datenbank;" und
in der Unit Datenbank habe ich unter
"impementation
uses Geschichte;"
eingetragen.
Aber irgendwie will das alles nicht so ganz funktionieren.
"Unit Geschichte"
Die Procedure für die erste Variablenübergabe sieht wie folgt aus:
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:
| procedure TForm1.ButtonOeffnenClick(Sender: TObject); begin Check := true; OpenDialog1.Filter := 'Datendateien (*.dat)|*.dat'; OpenDialog1.Options := [ofCreatePrompt]; OpenDialog1.Execute; Dateiname :=OpenDialog1.Filename; If Dateiname<>'' then begin AssignFile(Historydatei,Dateiname); IF FileExists(Dateiname) then begin reset(Historydatei); Maxsatz := FileSize(Historydatei); LabelAnzahlDS.Caption := 'Es sind ' + IntToStr(FileSize(Historydatei)) + ' Datensätze verfügbar'; if Maxsatz = 0 then begin
end else begin Historysatz.Satznummer := Maxsatz; seek(HistoryDatei,Satznummer); read(HistoryDatei,Historysatz); Datenbank.TForm2.LabelDSAnzahl.Caption := Maxsatz; Datenbank.TForm2.EditEreignis.Text := Historysatz.Ereignis; Datenbank.TForm2.EditEpoche.Text := Historysatz.Epoche; Datenbank.TForm2.EditStartDatum := Historysatz.DetailStartDatum; Datenbank.TForm2.EditEndeDatum := Historysatz.DetailEndeDatum; Datenbank.TForm2.CheckBoxDetailDatum.Checked := Historysatz.DetailStartDatum; Datenbank.TForm2.CheckBoxDetailTag.Checked := Historysatz.DetailTag; Datenbank.TForm2.CheckBoxDetailMonat.Checked := Historysatz.DetailMonat; Datenbank.TForm2.CheckBoxDetailEnde.Checked := Historysatz.DetailEndeDatum; Datenbank.TForm2.MemoBeschreibung.Lines.Add := Historysatz.Epoche; end end else begin rewrite(Historydatei); LabelAnzahlDS.Caption := 'Es sind ' + IntToStr(FileSize(Historydatei)) + ' Datensätze verfügbar';
end; end; end; |
Bei Aufruf der Unit Datenbank über die
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.ButtonDatenbankClick(Sender: TObject); var Formular : TForm2; begin if Check = true then begin Formular := TForm2.Create(self); Formular.ShowModal; Formular.Free; end else begin LabelAnzahlDS.Caption := 'Bitte erst die Datei zur Datenbank öffnen'; end; end; |
in der Unit Geschichte sollen die initialisierten Variablen im Formular Datenbank erscheinen.
Inhalt der Unit Datenbank:
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:
| unit Datenbank;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm2 = class(TForm) LabelDatenbankUeberschrift: TLabel; ButtonBeenden: TButton; LabelStartDatum: TLabel; LabelEndeDatum: TLabel; EditStartDatum: TEdit; EditEndeDatum: TEdit; GroupBoxDetail: TGroupBox; CheckBoxDetailDatum: TCheckBox; CheckBoxDetailTag: TCheckBox; CheckBoxDetailMonat: TCheckBox; CheckBoxDetailEnde: TCheckBox; LabelEreignis: TLabel; EditEreignis: TEdit; LabelBeschreibung: TLabel; MemoBeschreibung: TMemo; LabelEpoche: TLabel; EditEpoche: TEdit; ButtonDSEins: TButton; DSvorher: TButton; DSNaechster: TButton; DSletzter: TButton; ButtonDBAktuell: TButton; LabelDSAnzahl: TLabel; ButtonHinzufuegen: TButton; ButtonAendern: TButton; ButtonLoeschen: TButton; procedure ButtonBeendenClick(Sender: TObject); private public end;
var Form2: TForm2;
implementation uses Geschichte; {$R *.dfm}
procedure TForm2.ButtonBeendenClick(Sender: TObject); begin Close; end;
end. |
Bei der Compilierung erhalte ich bei
| Zitat: |
" Datenbank.TForm2.LabelDSAnzahl.Caption := Maxsatz;
...
Datenbank.TForm2.MemoBeschreibung.Lines.Add := Historysatz.Epoche;"
E2096 Methodenbezeichner erwartet
E2066 Operator oder Semikolon fehlt |
Wie vermisse ich Turbo Pascal 7 - hier war alles einfacher! Da übernahm noch das Hauptprogramm die Steuerung!
Moderiert von
raziel: Delphi-Tags hinzugefügt