AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

prozeduren auslagern

Ein Thema von SaFu · begonnen am 3. Feb 2008 · letzter Beitrag vom 3. Feb 2008
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#21

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:32
Ok dann glaube ich hab ich das Konzept verstanden

Delphi-Quellcode:
unit Datenbankerzeugen;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls,DB, DBTables, ComCtrls, Buttons, ColorGrd;

  procedure tabelleerst(F1Tabelle1: TTable; Serverpfad: string; F10Tabelle1 :TTable);

implementation

//======================Benutzertabelle erstellen===============================
procedure Tabelleerst(F1Tabelle1: TTable; Serverpfad:String; F10Tabelle1 :TTable);
Var pfad : string;
begin
F1Tabelle1.close;
   With F1Tabelle1 Do //Tabelle erzeugen
     begin
      DatabaseName:= Serverpfad + 'Datenbank\'; //Pfad zur Tabelle
      F10Tabelle1.DatabaseName:= Serverpfad + 'Datenbank\';
      TableName:= 'Benutzerverwaltung.DB';
      TableType:= ttParadox;
     end;
      if not FileExists( Serverpfad + 'Datenbank\Benutzerverwaltung.DB') then
        begin
          With F1Tabelle1 Do
            begin
              with FieldDefs Do //Datenfelder erzeugen
                begin
                 Clear;
                 Add('Nr.',ftAutoInc,0,True);
                 Add('Benutzername',ftString,30,True);
                 Add('Passwort',ftString,30,False);
                 Add('Administrator',ftboolean,0,False);
                 Add('Versuche',ftInteger,0,False);
                 Add('Gesperrt',ftString,5,False);
                end;
                  with IndexDefs do //Index Schlüssel erzeugen
                   begin
                    Clear;
                    Add('Nr','Nr.',[ixPrimary, ixUnique]); // Primär Index
                   end;
                    CreateTable;
                      begin //User erzeugen
                       F1Tabelle1.Open; //Tabelle öffnen zum Schreiben
                       F1Tabelle1.Edit;
                       F1Tabelle1['Benutzername']:= 'Admin';
                       F1Tabelle1['Passwort']:= '123';
                       F1Tabelle1['Administrator']:= True;
                       F1Tabelle1['Versuche']:= 0;
                       F1Tabelle1['Gesperrt']:= 'Nein';
                       F1Tabelle1.Post; //Eintrag übernehmen
                       F1Tabelle1.Close; //Tabelle schließen
                      end;
                end;
        end;
     F1Tabelle1.Active:= True; //Tabelle1 auf Form1 aktivieren
     F10Tabelle1.Active:= True; //Tabelle1 auf Form10 aktivieren
end;
end.
Danke für den kleinen Crashkurs ist ganz einfach wenn man es so gezeigt bekommt.

Was wären den dies Überarbeitungen ich bin nämlich dabei den Code zu verbessern
Zitat von Matze:
EInfach so erweitern:

Wobei ich fast denke, das grundlegende Konzept sollte komplett überarbeitet werden. Aber besser als so, wie du's bisher hast, ist es.
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#22

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:37
Ich finde es unlogisch, dass du gleichzeitig auf TTable verschiedener Formulare zugreifen musst.
Aber da ich dein Programm nicht kenne, kann ich auch nichts genaues dazu sagen, zumal mir dazu auch die Zeit fehlen würde.
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#23

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:39
Ja das habe ich mitleiweile aus diesem Post mitbekommen und bin gerade dabei die die Komponenten von Form10 einafch auf die Table1 von Form1 zugreifen zulassen.

Somit spare ich mir einpaar Zeilen Code und Komponenten.


Wie gesagt danke nochmals
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#24

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:43
Dann hast du uns wohl missverstanden.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#25

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:48
Wie meinst du das???

Also dadurch das ich jetzt die Table und die Datasource von der Form10 entfernt habe und alles auf die Form1 umgeleitet (Datasource und Table von Form1) habe.

Ist es jetzt eindeutiger auf welche Table ich zugreife
und der Code sieht jetzt so aus
Delphi-Quellcode:
unit Datenbankerzeugen;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls,DB, DBTables, ComCtrls, Buttons, ColorGrd;

  procedure tabelleerst(F1Tabelle1: TTable; Serverpfad: string);// hier ist es auch kürzer

implementation

//======================Benutzertabelle erstellen===============================
procedure Tabelleerst(F1Tabelle1: TTable; Serverpfad:String);
begin
F1Tabelle1.close;
   With F1Tabelle1 Do //Tabelle erzeugen
     begin
      DatabaseName:= Serverpfad + 'Datenbank\'; //Pfad zur Tabelle
      // hier fällt die Zeile weg
      TableName:= 'Benutzerverwaltung.DB';
      TableType:= ttParadox;
     end;
      if not FileExists( Serverpfad + 'Datenbank\Benutzerverwaltung.DB') then
        begin
          With F1Tabelle1 Do
            begin
              with FieldDefs Do //Datenfelder erzeugen
                begin
                 Clear;
                 Add('Nr.',ftAutoInc,0,True);
                 Add('Benutzername',ftString,30,True);
                 Add('Passwort',ftString,30,False);
                 Add('Administrator',ftboolean,0,False);
                 Add('Versuche',ftInteger,0,False);
                 Add('Gesperrt',ftString,5,False);
                end;
                  with IndexDefs do //Index Schlüssel erzeugen
                   begin
                    Clear;
                    Add('Nr','Nr.',[ixPrimary, ixUnique]); // Primär Index
                   end;
                    CreateTable;
                      begin //User erzeugen
                       F1Tabelle1.Open; //Tabelle öffnen zum Schreiben
                       F1Tabelle1.Edit;
                       F1Tabelle1['Benutzername']:= 'Admin';
                       F1Tabelle1['Passwort']:= '123';
                       F1Tabelle1['Administrator']:= True;
                       F1Tabelle1['Versuche']:= 0;
                       F1Tabelle1['Gesperrt']:= 'Nein';
                       F1Tabelle1.Post; //Eintrag übernehmen
                       F1Tabelle1.Close; //Tabelle schließen
                      end;
                end;
        end;
     F1Tabelle1.Active:= True; //Tabelle1 auf Form1 aktivieren
 // hier fällt die Zeile weg
end;
Oder hab ich wirklich was falsch verstanden
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#26

Re: prozeduren auslagern

  Alt 3. Feb 2008, 17:08
Noch besser wäre es die Datenbankobjekte und die Prozedur in eine Datenmodul auszulagern.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#27

Re: prozeduren auslagern

  Alt 3. Feb 2008, 17:15
Was ist den ein Datenmodul??

Sorry das ich so dumm Frage aber wer nicht fragt, lehrnt auch nichts dazu.
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#28

Re: prozeduren auslagern

  Alt 3. Feb 2008, 17:16
Datei - Neu - Datenmodul
Da kommen alle nicht-visuellen DB-Controls rein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#29

Re: prozeduren auslagern

  Alt 3. Feb 2008, 17:17
Ein Datenmodul ist eine nichtvisuelle formularänhliche Klasse, die dazu dient Datenbankobjekte aufzunehmen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#30

Re: prozeduren auslagern

  Alt 3. Feb 2008, 17:19
Was ist den der vorteil vom Datenmodul
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 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