[<<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