Einzelnen Beitrag anzeigen

H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
257 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: ClientDataSet.CreateDataSet + Exception

  Alt 9. Jun 2017, 21:32
Moin,

kein Thema ....

Delphi-Quellcode:
unit MahnUnit;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.Grids, Vcl.DBGrids,
  Datasnap.DBClient, Vcl.StdCtrls, IniFiles, Vcl.ExtCtrls, Printers;

type
  TMahn = class(TForm)
    BtnDrucken: TButton;
    BtnAdresse: TButton;
    BtnMailTausch: TButton;
    DataSource_OpListe: TDataSource;
    DBGrid_OpListe: TDBGrid;
    LbEStatus: TLabeledEdit;
    CBDruckerAuswahl: TComboBox;
    PrintDialog1: TPrintDialog;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure CBDruckerAuswahlChange(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Mahn: TMahn;

implementation
{$R *.dfm}

var
  ProgrammGestartet: Boolean;
  LetzteFrist: TDateTime;
  KundenDatei,
  OPDatei: String;

  MahnGebuehren1,
  MahnGebuehren2,
  MahnGebuehren3: Real;

  MailAbsender,
  MailPasswort,
  MailServer: String;
  MailPort: Integer;

  VertreterAdressenList,
  VertreterNummernList: TStringList;
  AktuelleZeile: Integer;

procedure IniDateiLesen;
var
  Ini: TIniFile;
  LetzteFristTage: Integer;
begin
  Ini:=TIniFile.Create(ExtractFilePath(ExpandFileName(ParamStr(0))) +'MahnProjekt.ini');
  try
    KundenDatei := Ini.ReadString('Allgemein', 'Kundendatei', '');
    OPDatei := Ini.ReadString('Allgemein', 'OPdatei', '');
    MailAbsender := Ini.ReadString('EMail-Versand', 'MailAbsender', '');
    MailPasswort := Ini.ReadString('EMail-Versand', 'MailPasswort', '');
    MailServer := Ini.ReadString('EMail-Versand', 'MailServer', '');
    MailPort := Ini.ReadInteger('EMail-Versand', 'MailPort', 0);
    MahnGebuehren1 := Ini.ReadFloat('Mahngebuehren', 'Mahngebuehren1', 0);
    MahnGebuehren2 := Ini.ReadFloat('Mahngebuehren', 'Mahngebuehren2', 0);
    MahnGebuehren3 := Ini.ReadFloat('Mahngebuehren', 'Mahngebuehren3', 0);
    LetzteFristTage := Ini.ReadInteger('Mahngebuehren', 'Letztefrist', 10);
    Ini.ReadSection('ADAdressen', VertreterAdressenList);
    Ini.ReadSection('ADNummern', VertreterNummernList);
  finally
    Ini.Free;
  end;
  LetzteFrist := LetzteFrist +LetzteFristTage;
end;

procedure TabellenHeaderSetzen;
begin
  Mahn.ClientDataSet_OPListe.Active := False;
  Mahn.ClientDataSet_OPListe.FieldDefs.Clear;
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('KundenNummer', ftString, 5);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('KundeKurz', ftString, 30);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('RechnungNr', ftString, 10);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('RechnungsDatum', ftString, 10);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('FaelligDatum', ftString, 10);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('Betrag', ftString, 10);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('FaelligTage', ftString, 4);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('MahnStufe', ftString, 1);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('Mahnen', ftString, 1);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('Firma1', ftString, 30);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('Firma2', ftString, 30);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('Strasse', ftString, 30);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('Land', ftString, 2);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('PLZ', ftString, 5);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('Ort', ftString, 30);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('Telefax', ftString, 30);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('Email', ftString, 90);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('Vertreter', ftString, 50);
  Mahn.ClientDataSet_OPListe.FieldDefs.Add('RnEmail', ftString, 90);
  Mahn.ClientDataSet_OPListe.CreateDataSet;
  Mahn.ClientDataSet_OPListe.Active := True;
end;

procedure ShowStatus(Meldung: String);
begin
  Mahn.LbEStatus.Text := Meldung;
  Mahn.LbEStatus.Refresh;
end;

procedure TMahn.FormCreate(Sender: TObject);
begin
  ProgrammGestartet := False;
  VertreterAdressenList := TStringList.Create;
  VertreterNummernList := TStringList.Create;
end;

procedure TMahn.CBDruckerAuswahlChange(Sender: TObject);
begin
  Printer.PrinterIndex := CBDruckerauswahl.ItemIndex;
end;

procedure TMahn.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  VertreterAdressenList.Free;
  VertreterNummernList.Free;
end;

procedure TMahn.FormShow(Sender: TObject);
begin
  if not ProgrammGestartet then
  begin
    ProgrammGestartet := True;
    IniDateiLesen;
    TabellenHeaderSetzen;
    ShowStatus('Verarbeitung');
    LetzteFrist := Now +7;
    CBDruckerAuswahl.items := Printer.printers;
    CBDruckerAuswahl.ItemIndex := Printer.PrinterIndex;
  end;

end;

end.
Gruss
Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat