Einzelnen Beitrag anzeigen

delphifan2004

Registriert seit: 26. Nov 2004
Ort: Dresden
272 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Projektvorschlag Automatische Datenbank Eingabemasken

  Alt 21. Aug 2014, 10:48
Hallo,

hier ist die Nachfolgeversion meines Eingabemasken Generators. Keyfelder sind noch nicht berücksichtigt, aber die Erzeugung der Feldtypabhängigen Eingabe-Controls dagegen schon.

Überschrieben werden nur noch die Methoden DoCreateXXXX.

Zum Beispiel DoCreateDBEdit, DoChreateDBCheckBox, ...

Jetzt geht es weiter.

Es gibt eine Methode Adjust(Control), wie folgt definiert:

Delphi-Quellcode:
procedure TInputmask.Adjust(AControl: TControl);
begin
  case FLabAlignmt of
   alLabelLeft: FCurrentLeft := FCurrentLeft + FHorSpacing;
   alLabelRight: FCurrentLeft := FCurrentLeft + FHorSpacing + FEdtSpacing;
   alLabelTop: FCurrentTop := FCurrentTop + AControl.Height + FVertSpacing;
  end;
end;

//FCurrentLeft,FCurrentTop werden in den DoCreateXXXX Methoden angepasst.

//Hier ist mein Testformular:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, UDBInputMask, DB, DBTables, DBClient;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    Bezeichnung: TClientDataSet;
    BezeichnungBezeichnung: TStringField; //Mit MyBase -> TClientDataSet -> Feld Bezeichnung
    BezeichnungMenge: TIntegerField; //Mit MyBase -> TClientDataSet -> Feld Menge
    BezeichnungBestellt: TBooleanField; //Mit MyBase -> TClientDataSet -> Feld Bestellt
    BezeichnungBeschreibung: TMemoField; //Mit MyBase -> TClientDataSet -> Feld Beschreibung
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    FMask: TDBInputMask;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
begin
  FMask := TDBInputMask.Create(self);
  FMask.DataSource := DataSource1;
  FMask.LabelSpacing := 3;
  FMask.Left := 3;
  FMask.Top := 8;
  FMask.Width := ClientWidth - 6;
  FMask.Height := ClientHeight - 56;
  FMask.CreateMask;
  FMask.Parent := self;
end;

end.
Leider kann ich meinen ersten Beitrag nicht mehr bearbeiten, das heißt, den Text ändern geht, aber ich kann keine Dateianhänge nizufügen, deshalb die neue Version hier.

.
Angehängte Dateien
Dateityp: zip 24-Inputmask.zip (3,2 KB, 17x aufgerufen)
  Mit Zitat antworten Zitat