Code: Alles auswählen
CLASS datenbank
HIDDEN:
//----------------------------- Protected --------------------------------------
PROTECTED:
CLASS VAR aDb SHARED // kann durch SHARED von ALLEN anderen Instanzen für ALLE anderen Instanzen sichtbar verändert werden
CLASS VAR oId SHARED // Test. ID werden ja eigentlich überall vergeben
VAR aStrukturErweitert // hier können Zusatzfelder zur Struktur erfaßt werden für den späteren Gebrauch .
VAR cDbStrukturDatum,; // hier kommt das Datum der letzten gültigen Struktur für die jeweilige DB rein .
cIndexKeyDatum // hier kommt das Datum des letzten gültigen Indexschlüssels rein .
VAR lMin1Record // wenn DB mindestens 1 Satz haben muß .
CLASS METHOD initClass // wird nur beim 1.Mal gesetzt und dann nicht wieder neu initialisiert, bei weiteren Instanzen
METHOD erzeugeStruktur
METHOD erzeugeVerzeichnisse // erzeugt Verzeichnisse, oder prüft auf Vorhandensein ab
METHOD initstruktur
METHOD initvaria
ENDCLASS
********************************************************************************
METHOD datenbank:initvaria()
RETURN self
METHOD datenbank:initstruktur()
RETURN self
METHOD datenbank:erzeugestruktur()
RETURN self
********************************************************************************
METHOD datenbank:INIT(oProgress) // hier werden die Werte gesetzt, sobald eine Instanz gebildet wird (gilt für jede Instanz getrennt)
::initvaria() <------ das hier klappt
::initstruktur(self) <------ hier wird der Dummy aufgerufen
::erzeugeStruktur(self) <------ hier wird der Dummy aufgerufen
RETURN self
********************************************************************************
********************************************************************************
********************************************************************************
CLASS filiale FROM datenbank, _filiale
EXPORTED:
VAR cBlzNr,;
cPlzNr
METHOD initvaria
METHOD BriefkopfAbsender
METHOD sucheEigeneFiliale
ENDCLASS
********************************************************************************
METHOD filiale:initvaria()
::cDbank := ::cIdSatzText := "Filialen" // Name der DB und der Indexdatei und der Beschreibung in der IDS des Feldes
::cPfad := "..\datenbanken\parameter\" // Verzeichnis der DB und des Index
::nIdSatz := 2
::cBlzNr := Space(8) // für Eingabefelder,...
::cPlzNr := Space(10) // für Eingabefelder, damit keine IDplz dort steht
RETURN self
********************************************************************************
********************************************************************************
CLASS _filiale
EXPORTED:
METHOD initstruktur
METHOD erzeugestruktur
ENDCLASS
********************************************************************************
METHOD _filiale:initstruktur(objekt)
// ACHTUNG immer auf Datum achten
// IndexArray {TAG,Schlüssel,Hinweistext,lUnique,Indexumschaltung im Browse, IndexAktiv}
objekt:aIndex := {;
{"ID" ,"Str(id,8,0)","ID" ,.F.,"" ,.F.},;
{"BEZ","Upper(bez)" ,"Bezeichnung",.F.,"bez",.T.};
}
objekt:cDbStrukturDatum := "20091018"
objekt:cIndexKeyDatum := "20080208"
RETURN self
********************************************************************************
METHOD _filiale:erzeugestruktur(objekt)
//!!!ACHTUNG, die Felder auch als MemVar eintragen in der Klasse, oder dem Objekt
// DbStruktur {Feldname,Feldart,Breite,Nachkomma,,Browse-Überschrift,Browserfeld,Picture,TOOLTIP,Erklärung}
objekt:aStruktur := {}
::StrukturArray1(objekt)
AAdd(objekt:aStrukturErweitert,{"BANK" ,"C",40,0,"","Bank:" ,"n","" ,"TOOLTIP" ,""})
AAdd(objekt:aStrukturErweitert,{"BEZ" ,"C",40,0,"","Firma" ,"n","@K !"+Repl("X",39) ,"Bezeichnung",""})
AAdd(objekt:aStrukturErweitert,{"BLZ" ,"C", 8,0,"","BLZ" ,"n","99999999" ,"TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"EMAIL" ,"C",40,0,"","Mailadresse" ,"n","" ,"Mailadresse",""})
AAdd(objekt:aStrukturErweitert,{"FUSSZEILE1","C",80,0,"","Fusszeile1" ,"n","" ,"1.Fusszeile",""})
AAdd(objekt:aStrukturErweitert,{"FUSSZEILE2","C",80,0,"","Fusszeile2" ,"n","" ,"2.Fusszeile",""})
AAdd(objekt:aStrukturErweitert,{"GF" ,"C",30,0,"","Geschäftsführer","n","" ,"TOOLTIP" ,""})
AAdd(objekt:aStrukturErweitert,{"IMHAUS" ,"L", 1,0,"","im Haus" ,"n","" ,"Wenn es die eigene und keine Fremdfiliale ist",""})
AAdd(objekt:aStrukturErweitert,{"KUERZEL" ,"C", 6,0,"","Kürzel" ,"n","!!!!!!" ,"Kurzbezeichnung für interne Abwicklungen" ,""})
AAdd(objekt:aStrukturErweitert,{"KTONR" ,"N",12,0,"","Kontonummer" ,"n","@K 9999 9999 99" ,"TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"ORT" ,"C",25,0,"","" ,"n","@K !"+Repl("X",24) ,"TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"PLZ" ,"N", 5,0,"","Plz" ,"n","99999" ,"TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"SLOGAN" ,"C",50,0,"","Slogan" ,"n","@K !"+Repl("X",49) ,"einen evtl. Slogan der Firma eingeben",""})
AAdd(objekt:aStrukturErweitert,{"SMTP" ,"C",50,0,"","SMTP-Server" ,"n","" ,"TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"SMTPPW" ,"C",50,0,"","SMTP-Passwort" ,"n","" ,"TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"STEUERNR" ,"C",12,0,"","Steuernummer" ,"n","@K 9999/9999/9999/" ,"TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"STRASSE" ,"C",40,0,"","Strasse" ,"n","@K !"+Repl("X",39) ,"TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"TELEFON" ,"C",21,0,"","Telefon" ,"n","@K (99999) 99 99 99 99 9","TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"TELEFAX" ,"C",21,0,"","Telefax" ,"n","@K (99999) 99 99 99 99 9","TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"USERNAME" ,"C",20,0,"","SMTP-Username" ,"n","" ,"TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"USTID" ,"C",12,0,"","Ust.-ID." ,"n","" ,"TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"WEBSEITE" ,"C",30,0,"","Webadresse" ,"n","@K http://www." ,"TOOLTIP",""})
AAdd(objekt:aStrukturErweitert,{"ZUSATZ1" ,"C",40,0,"","Zusatz1" ,"n","" ,"zusätzliche Firmenbezeichnung",""})
AAdd(objekt:aStrukturErweitert,{"ZUSATZ2" ,"C",40,0,"","Zusatz2" ,"n","" ,"zusätzliche Firmenbezeichnung",""})
::StrukturArray2(objekt)
::Strukturerweitert2Struktur(objekt)
RETURN self
Ich habe das jetzt etwas eingekürzt.