Hänge mal wieder an einem Problem. Zum erfassen meiner Daten habe ich eine Form1 mit den DBEdit Feldern Name, Strasse, PLZ usw. Dazu 4 Buttons mit NEU, Cancel, Speichern und Beenden.
Beim Starten hab ich die Buttons Cancel und Speichern über den Object Inspector auf False setzt. Sobald ich NEU klicke ändern sich die Buttons. Das funktioniert alles korrekt.
Mein Problem ist das die DBedit Felder beim Starten nicht auf False stehen. Finde kein Beispiel wie ich das hinbekomme das die Felder erst beim Klicken auf den Button NEU editierbar werden.
Der Quellcode sieht zur Zeit so aus:
Code: Alles auswählen
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, Mask, DBCtrls;
type
TForm1 = class(TForm)
BNeu: TButton;
BSpeichern: TButton;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Table1: TTable;
BEnde: TButton;
DBEditName: TDBEdit;
DBEditStrasse: TDBEdit;
DBEditPLZ: TDBEdit;
DBEditOrt: TDBEdit;
DBEditTelefon: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
BCancel: TButton;
procedure BEndeClick(Sender: TObject);
procedure BNeuClick(Sender: TObject);
procedure BSpeichernClick(Sender: TObject);
procedure BCancelClick(Sender: TObject);
private { Private declarations }
procedure setButtons(m: Byte);
public { Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.setButtons(m: Byte);
begin
case m of
0: begin
BNeu.Enabled := True;
BSpeichern.Enabled := False;
BCancel.Enabled := False;
end;
1: begin
BNeu.Enabled := True;
BSpeichern.Enabled := False;
BCancel.Enabled := False
end;
2: begin
BNeu.Enabled := False;
BSpeichern.Enabled := True;
BCancel.Enabled := True
end
end
end;
procedure TForm1.BEndeClick(Sender: TObject);
begin
Close;
end;
procedure TForm1.BNeuClick(Sender: TObject);
begin
Table1.Append; setButtons(2)
end;
procedure TForm1.BSpeichernClick(Sender: TObject);
begin
Table1.Post; Table1.Edit; setButtons(1)
end;
procedure TForm1.BCancelClick(Sender: TObject);
begin
Table1.Cancel; setButtons(1)
end;
end.
Michael