[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
ATESTGEN.INT
{ ---------------------------------------------------------------- }
{ DATENBANK-TESTDATENGENERATOR }
{ ---------------------------------------------------------------- }
{ Zur "Produktion" von garantiert nicht dem Datenschutzgesetz }
{ unterliegenden Testdatens.tzen im dBase-Format. }
{ Das Problem bei (Performance-) Tests bei Datenbanken etc. ist, }
{ eine ausreichende Anzahl von Testdaten zu bekommen: "Echte" }
{ sind nicht nur vom Gesetz her kritisch, sondern auch wegen ihrer }
{ meist nicht unbedingt sehr zuf.lligen Struktur kritisch; Daten }
{ selbst zu erfinden, wird meist sp.testens nach dem 10. Datensatz }
{ sehr erm.dend - von statistisch interessanten Mengen um die }
{ 10.000 herum gar nicht zu reden. }
{ ---------------------------------------------------------------- }
{ Dieses Modul erzeugt eine beliebige Anzahl von Datens.tzen, die }
{ trotz ihrer Zuf.lligkeit strukturiert sind. Leere Felder kommen }
{ dabei nicht (!) vor; Zahlenfelder werden immer mit ganzen Zahlen }
{ gef.llt, die aber vorzeichenbehaftet sein k.nnen; Memofelder }
{ bleiben immer leer. Es werden dazu zwei Prozeduren zur Verf.gung }
{ gestellt: }
{ GenerateAppend: H.ngt an die angegebene Datenbank eine zu be- }
{ stimmende Anzahl von "erfundenen" Datens.tzen an. }
{ GenerateCreate: Erzeugt eine neue Datenbank im .bergebenen }
{ Format, in die die angegebene Anzahl von Testdatens.tzen }
{ geschrieben wird. }
{ Eine bedeutende Rolle spielt bei der ganzen Geschichte nat.rlich }
{ der Zufallsgenerator; es werden die Standard-TP-Funktionen ver- }
{ wendet (RANDOMIZE initialisiert Zufallszahlengenerator mit einer }
{ Kombination aus Datum und Uhrzeit; RANDOM (n) gibt eine Zufalls- }
{ zahl zwischen 0 und n - 1 zur.ck). }
{ ---------------------------------------------------------------- }
{ Folgende Schw.chen hat die Sache meiner Meinung nach: }
{ - Die Zeichenh.ufigkeit einer Sprache wird (leider) noch nicht }
{ ber.cksichtigt (behoben Release vom 20.7.92). }
{ - Manche Buchstabenkombinationen sollten als unm.glich vermieden }
{ werden (behoben Release vom 20.7.92). }
{ - Einzelne Gro.buchstaben sollten eigentlich auch nicht (all zu }
{ h.ufig) vorkommen (behoben Release vom 20.7.92). }
{ - Zahlen und Sonderzeichen sollten in den Textfeldern auch er- }
{ laubt werden (und vorkommen) (behoben Release vom 20.7.92). }
{ - Eine spezielle Version f.r Real-Zahlen (Nachkommastellen > 0) }
{ w.rde die Sache abrunden. }
{ - Und das non-plus-ultra w.re, wenn auch Memofelder mit Inhalten }
{ belegt w.rden (behoben Release vom 20.7.92). }
{ F.r die n.chste Version stelle ich mir eine Art Analyseprogramm }
{ vor, das beliebige Texte einer beliebigen Sprache analysiert und }
{ daraus dann etwas realit.tsn.here Daten generiert. }
{ ---------------------------------------------------------------- }
{ (c) 1991-1992 by Aurora featuring M.J. Schwaiger }
{ ---------------------------------------------------------------- }
UNIT ATestGen; { Testdatengenerator }
INTERFACE
USES
{$IFDEF Windows}
WINCRT,
WINDOS,
Strings,
{$ELSE}
CRT,
DOS,
{$ENDIF}
ATextGen,
{ Generierung von nicht ganz zuf.lligen Zufallstexten }
LongIdle, { Idle-Prozeduren f.r l.ngere Vorg.nge }
Idle, { Idle-Prozeduren zur Fortschrittsanzeige }
Error, { Fehlerbehandlung }
ADatum, { Aurora's Datumsroutinen }
AStrings, { Null-terminated Strings }
DbTypes, { Globale Typdefinitionen }
TDB; { Turbo-Database }
{ ---------------------------------------------------------------- }
{ H.ngt an die angegebene Datenbank die angegeben Anzahl von "er- }
{ fundenen" Datens.tzen an. }
{ Die Datenbank mu. dazu bereits .ber Use bzw. Create ge.ffnet }
{ worden sein; sollte sie bereits Datens.tze enthalten, so werden }
{ diese nicht ver.ndert, sondern die neuen S.tze hinten angeh.ngt. }
{ ---------------------------------------------------------------- }
{ Eventuelle auftretende Fehler werden .ber die Unit "Error" ge- }
{ setzt und bewirken, da. anstatt der Standardwertes True False }
{ zur.ckgegeben wird. }
{ ---------------------------------------------------------------- }
FUNCTION GenerateAppend (Db : PDataBase; Anz : LONGINT) : BOOLEAN;
{ ---------------------------------------------------------------- }
{ Erzeugt eine neue Datenbank im .bergebenen Format (Beschreibung }
{ siehe Unit "TDB"), in die die angegebene Anzahl von Testdaten- }
{ s.tzen geschrieben wird. }
{ ---------------------------------------------------------------- }
{ Eventuelle auftretende Fehler werden .ber die Unit "Error" ge- }
{ setzt und bewirken, da. anstatt der Standardwertes True False }
{ zur.ckgegeben wird. }
{ ---------------------------------------------------------------- }
FUNCTION GenerateCreate (Name : STRING; CreateInfo : TCreateInfo;
Anz : LONGINT) : BOOLEAN
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson