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 2 von 4     12 34      
Benutzerbild von SaFu
SaFu

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

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:01
Ok wäre es so richtig?

Delphi-Quellcode:
unit Datenbankerzeugen;

interface

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

  procedure tabelleerst(Table1: TTable);

implementation

Uses Unit1,unit10;

//======================Benutzertabelle erstellen===============================
procedure Tabelleerst(Table1: TTable);
Var pfad : string;
begin
Table1.close;
  getdir(0,Pfad);
   With Table1 Do //Tabelle erzeugen
     begin
      DatabaseName:= Form1.Serverpfad + 'Datenbank\'; //Pfad zur Tabelle
      Form10.Table1.DatabaseName:= Form1.Serverpfad + 'Datenbank\';
      TableName:= 'Benutzerverwaltung.DB';
      TableType:= ttParadox;
     end;
      if not FileExists( Form1.Serverpfad + 'Datenbank\Benutzerverwaltung.DB') then
        begin
          With Table1 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
                       Table1.Open; //Tabelle öffnen zum Schreiben
                       Table1.Edit;
                       Table1['Benutzername']:= 'Admin';
                       Table1['Passwort']:= '123';
                       Table1['Administrator']:= True;
                       Table1['Versuche']:= 0;
                       Table1['Gesperrt']:= 'Nein';
                       Table1.Post; //Eintrag übernehmen
                       Table1.Close; //Tabelle schließen
                      end;
                end;
        end;
     Table1.Active:= True; //Tabelle1 auf Form1 aktivieren
     Form10.Table1.Active:= True; //Tabelle1 auf Form10 aktivieren
end;
end.
Aufruf in der anderen Unit:

Datenbankerzeugen.tabelleerst(Table1);
"... 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
 
#12

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:03
Das sieht schon besser aus. Nur die anderen paar Formx. stören etwas.

Versuche es immer möglichst allgemein zu halten, dass du, falls du etwas am Programm änderst, nicht den kompletten Quelltext überarbeiten musst, sondern nur einen kleinen Teil.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:05
-Warum Table1?
-
Zitat:
Form10.Table1.DatabaseName:= Form1.Serverpfad + 'Datenbank\';
Zitat:
if not FileExists( Form1.Serverpfad + 'Datenbank\Benutzerverwaltung.DB') then
Zitat:
Form10.Table1.Active:= True; //Tabelle1 auf Form10 aktivieren
hast du noch eine feste Referenzen
-was macht getdir(0,Pfad); ?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

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

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:12
getdir(0,Pfad); Kann ich rauswerfen überbleibsel vom Anfang hab ich übersehen.

Delphi-Quellcode:
Warum Table1
Form10.Table1.DatabaseName:= Form1.Serverpfad + 'Datenbank\';
Weil auf der Form10 auch die Table sitzt nur ich habe sie auch so genant

Kann man den Serverpfad auch auslagern ohne das er Fest ist.
Muss ich mir dazu den Code auf die Unit holen??
"... 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
 
#15

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:13
Du könntest ihn als weiteren Parameter übergeben.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

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

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:16
Würde es nicht langen diese Variable als published zu veröffentlichen
"... 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
 
#17

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:18
Dann wäre sie eine Eigenschaft einer bestimmten Formularklasse und keine allgemeinen. Deshalb besser als Parameter.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

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

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:20
Ok ich glaube ich habe das mit den Parametern icht ganz verstanden.

Ich Schreibe Jetzt einfach eine neue Procedure in die ich das Aktivieren der Table1 auf Form10 also

Form10.Table1.Active:= True; //Tabelle1 auf Form10 aktivieren lege und übergebe diese als Parameter??
"... 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
 
#19

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:21
Nein:
procedure Tabelleerst(MyTable: TTable; Pfad: string);
Markus Kinzler
  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
 
#20

Re: prozeduren auslagern

  Alt 3. Feb 2008, 15:23
EInfach so erweitern:

procedure Tabelleerst(FirstTable: TTable, SecondTable: TTable); Der Aufruf:

Tabelleerst(Table1, Form10.Table10); Wobei ich fast denke, das grundlegende Konzept sollte komplett überarbeitet werden. Aber besser als so, wie du's bisher hast, ist es.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 09:18 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