unit Hauptformular;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleServer, ADOX_TLB, ADODB,
DB, Grids, DBGrids, StdCtrls;
type
TForm1 =
class(TForm)
ADOCommand1: TADOCommand;
ADOXCatalog1: TADOXCatalog;
ADOConnection1: TADOConnection;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
procedure DBCheck;
// es wird die Existenz der DB geprüft
procedure Anmelderoutine;
// für den ersten ProgStart werden die
// Daten des Vereins benötigt
function DBerstellen(dataDir:
string):
string;
// die DB wird erstellt inkl.
// der Tabellen
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
uses Anmeldeformular;
{$R *.dfm}
function TForm1.DBerstellen(dataDir:
string):
string;
var
DataSource, dbName, cs:
string;
begin
showmessage('
Ich erstelle nun die DB!');
dbName:=(dataDir+'
\p2vvw.mdb');
DataSource:=
'
Provider=Microsoft.Jet.OLEDB.4.0' +
'
;Data Source=' + dbName +
'
;Jet OLEDB:Engine Type=5';
ADOXCatalog1.Create1(DataSource);
showmessage('
Fertig');
showmessage('
Stelle die Verbindung zur DB her');
DataSource:=
'
Provider=Microsoft.Jet.OLEDB.4.0' +
'
;Data Source=' + dbName +
'
;Persist Security Info=False';
ADOConnection1.ConnectionString := DataSource;
ADOConnection1.LoginPrompt := False;
ADOCommand1.Connection := ADOConnection1;
showmessage('
Fertig');
showmessage('
Erstelle nun die DB-Tabellen!!!');
cs := '
CREATE TABLE Vereinsdaten (' +
'
Vereinsname TEXT(60),' +
'
Str TEXT(50),' +
'
PLZ TEXT(5),' +
'
Ort TEXT(50),' +
'
Tel TEXT(14),' +
'
Fax TEXT(14),' +
'
email TEXT(50),' +
'
URL TEXT(50),' +
'
RegNr TEXT(20),' +
'
Eintragung DATE,' +
'
Bank TEXT(30),' +
'
BLZ TEXT(10),' +
'
KtoNr TEXT(10))';
ADOCommand1.CommandText := cs;
ADOCommand1.Execute;
showmessage('
Fertig');
Form2.ShowModal;
end;
procedure TForm1.DBCheck;
var
ProgDir, dataDir:
String;
begin
ProgDir:=ExtractFilePath(ParamStr(0));
// wie lautet der Programmpfad?
dataDir:=ProgDir+'
data';
// Es wird geprüft ob ein data-Verzeichnis existiert,
// existiert auch die DB-Datei, so wird die Prozedur abgebrochen
// und das Hauptprogramm gestartet.
// Besteht das Verzeichnis aber die Datei nicht wird mit der Prozedur
// DBerstellen weitergemacht. In dem Fall, dass weder Verzeichnis noch
// DB existiert (Erstinstallation) wird das data-Verzeichnis erstellt
// und die Datenbank angelegt.
if DirectoryExists(dataDir)
then
begin
if FileExists(dataDir+'
\p2vvw.mdb')
then
exit;
end
else
begin
ForceDirectories(dataDir);
end;
DBerstellen(dataDir);
Anmelderoutine;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DBCheck;
showmessage('
Starte das Hauptprogramm');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;
end.