{******************************************}
{ Unit zur Oberflächengestaltung }
{ Zuweisung der Eingangsdaten des Dialoges }
{******************************************}
unit Dialog;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids,
DB, ADODB, StdCtrls, ObjEin, ObjPers, ObjRent, ObjTeilw,
HiType, HiFunc, Buttons, OleServer, ADOX_TLB;
type
TEingabe =
class(TForm)
TabelleEinlesen: TButton;
ADOConnection: TADOConnection;
ADOQuery: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
OpenDialog: TOpenDialog;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Bilanztermin: TEdit;
Rechnungszins: TComboBox;
PA_Maenner: TComboBox;
PA_Frauen: TComboBox;
Rentendynamik: TComboBox;
ARKZ: TComboBox;
IRKZ: TComboBox;
WRKZ: TComboBox;
RZahlungsweise: TComboBox;
WRArtKz: TComboBox;
OK: TBitBtn;
Abbruch: TBitBtn;
Label11: TLabel;
Label12: TLabel;
Exportieren: TButton;
SaveDialog: TSaveDialog;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource2: TDataSource;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
PSVAG: TCheckBox;
Label16: TLabel;
Firmenname: TEdit;
{~~~~~~~~~~ Fenster instantiieren, Standardwerte setzen ~~~~~~~~~}
procedure FormCreate(Sender: TObject);
{~~~~~~~~~~ Dialog abbrechen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
procedure AbbruchClick(Sender: TObject);
{~~~~~~~~~~ Einlesen der Eingangstabelle ~~~~~~~~~~~~~~~~~~~~~~~~}
procedure TabelleEinlesenClick(Sender: TObject);
{~~~~~~~~~~ Tabelle erstellen, berechnen, Daten übergeben ~~~~~~~}
procedure ExportierenClick(Sender: TObject);
{~~~~~~~~~~ Detailansicht ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
procedure OKClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Eingabe : TEingabe;
TEinlesen : boolean;
implementation
{$R *.dfm}
uses Main, Math,
Access;
{***************************************}
{ PROCEDURE : Abbruch }
{ }
{ AUFGABE: schließen des Dialogfensters }
{***************************************}
procedure TEingabe.AbbruchClick(Sender: TObject);
begin
ModalResult:=mrCancel;
end;
{********************************************}
{ PROCEDURE : FormCreate }
{ }
{ AUFGABE: Instantiierung des Dialogfensters }
{********************************************}
procedure TEingabe.FormCreate(Sender: TObject);
var JJ,MM,TT : word;
function datumtostr(d : datum) :
string;
var s :
string;
begin
s:=inttostr(d.TT)+'
.'+inttostr(d.MM)+'
.'+inttostr(d.JJ);
datumtostr:=s;
end;
begin
// Standardwerte setzten
Bilanztermin.Text := '
31.12.'+inttostr(JJ);
Rechnungszins.ItemIndex := 0;
PA_Maenner.ItemIndex := 5;
PA_Frauen.ItemIndex := 3;
Rentendynamik.ItemIndex := 0;
RZahlungsweise.ItemIndex := 3;
ARKz.ItemIndex := 1;
IRKz.ItemIndex := 1;
WRKz.ItemIndex := 1;
WRArtKz.ItemIndex := 0;
DecodeDate(Date,JJ,MM,TT);
// Eingangsdaten zuweisen
with angdaten.eindaten
do
begin
Eingabe.Bilanztermin.Text := datumtostr(EinBil);
Eingabe.Rechnungszins.Text := floattostr(EinRechZins);
Eingabe.ARKz.ItemIndex := EinARKz;
Eingabe.IRKz.ItemIndex := EinIRKz;
Eingabe.WRKz.ItemIndex := EinWRKz;
Eingabe.Rentendynamik.Text := floattostr(EinDynRenWert);
Eingabe.WRArtKz.ItemIndex := EinWRArtKz;
Eingabe.PA_Maenner.ItemIndex := EinPensAlter;
Eingabe.PA_Frauen.ItemIndex := EinPensAlter;
end;
end;
{****************************************************************}
{ PROCEDURE : Tabelle einlesen }
{ }
{ AUFGABE: den Ausgabedatensatz von Access einlesen und anzeigen }
{****************************************************************}
procedure TEingabe.TabelleEinlesenClick(Sender: TObject);
begin
// Bei Anklicken Dialog ausführen um Datenbank auszuwählen
if OpenDialog.Execute
then
EingangsdatenEinlesen()
// procedure aus Unit Access
else
// Fehlermeldung
MessageDlg(Format('
FEHLER!%s Die Tabelle konnte nicht geöffnet werden! Bitte den Name des Tabellenblattes im Quellcode überprüfen!',[#13#10]), mtError, [mbCancel], 0);
end;