Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi table1 als extra klasse umformen (https://www.delphipraxis.net/14281-table1-als-extra-klasse-umformen.html)

Fengi 6. Jan 2004 09:03


table1 als extra klasse umformen
 
hallo.momentan sieht mein programm so aus
Delphi-Quellcode:
type
  TForm1 = class(TForm)
  .
  .
  .
  Table1: TTable;
  .
  .
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

  .
  .
  procedure TForm1.FormCreate(Sender: TObject);
usw.
jetzt will ich aber table1 als extra klasse definieren und die dann auch im programm verwenden.meine table1-komponente zeigt auf die datenbank Termine.db und diese enthält die komponenten:Terminnummer,Datum,Uhrzeit,Beschreibun g,Intervall und wiederkehrender Termin.
ich will die klasse table1 in folgenden prozeduren verwenden:
Delphi-Quellcode:
//einmaligen Termin speichern
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
  i:=0;
  table1.First;
  while table1.Eof = false do
        begin
        if table1.FieldByName('Datum').AsString = datetostr(Monthcalendar1.Date) then
        begin
          if table1.FieldByName('Uhrzeit').AsString = edit1.Text then
          i:=i+1;
        end;
        table1.Next;
        end;
        if i<>0 then messagedlg('Sie haben bereits einen Termin zu der Zeit !',mtinformation,[mbok],0)
        else
        begin
           table1.OpenDatabase;
           Table1.Insert;
           table1.FieldByName('Datum').AsString:=datetostr(monthcalendar1.Date);
           table1.FieldByName('Beschreibung').AsString:=edit2.Text;
           table1.FieldByName('Uhrzeit').AsString:=edit1.Text;
           table1.FieldByName('Termin erreicht').AsString:='falsch';
           table1.Append;
        end;
end;

//Termin löschen
procedure TForm1.Button3Click(Sender: TObject);
begin
  table1.Open;
  Datasource1.DataSet.Delete;
  messagedlg('Termin gelöscht',mtinformation,[mbok],0);
  timer1.Enabled:=true;
end;

//wiederkehrenden Termin speichern
procedure TForm1.Button2Click(Sender: TObject);
begin
  table1.OpenDatabase;
  table1.Insert;
  table1.FieldByName('Datum').AsString:=datetostr(monthcalendar1.Date);
  table1.FieldByName('Beschreibung').AsString:=edit2.Text;
  table1.FieldByName('Uhrzeit').AsString:=edit1.Text;
  table1.FieldByName('Intervall').AsString:=dbedit3.Text;
  table1.FieldByName('Wiederkehrender Termin').AsString:=datetostr(monthcalendar1.Date);
  table1.FieldByName('Termin erreicht').AsString:='falsch';
  table1.Append;
  end;
hat einer eine idee?

MrSpock 6. Jan 2004 19:39

Re: table1 als extra klasse umformen
 
Hallo Fengi,

grundsätzlich hast du 2 Möglichkeiten.

Zum ersten kannst du die neue Klasse als Komponente installieren und diese anstatt der TTable Komponente nutzen.

Willst du aber TTable1 (du solltest besser einen anderen namen wählen) nicht als Komponente installieren wollen, kannst du z.B. im Private Teil deiner Form1 Klasse eine Varable myTTable1 vom Typ TTable1 deklarieren. In OnCreate erstellst du das mit TTable1.Create das neue Objekt und setzt Owner auf das Formular. Dann kannst du alle notwendigen Eigenschaften setzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz