Random-Acess    (direkter  Zugriff auf Files),   DLL Version 1.00

 

 

Unter Quick Basic gab es die Dateiform  „Random“, was soviel bedeutete, wie  direkter Zugriff  auf eine Datei.

Leider ist diese unter vielen Programmiersprachen, unter anderem  Profan, nicht mehr vorhanden.  Neben der

normalen Sequentiellen Datei und den Datenbanken hat der  „wahlfreie Zugriff , RANDOM“  jedoch noch seine

Berechtigung, wenn nicht sogar, Vorzüge gegenüber einer Sequentiellen (Zeilenweise) Datei.  Random-Acess

Öffnet eine Datei zum gleichzeitigen Lesen und Schreiben.

 

Diese DLL richtet sich an alle, die in ihren Programm einen RANDOM ACESS zugriff auf eine Datei benötigen,

die Form ist dabei Kompatible zum alten Quick Basic.

 

 

Lizenz:

 

Diese DLL ist Freeware und darf ohne Einschränkungen in alle Projekte (Programme) verwendet werden. Bei

Schäden, die durch die DLL an Hard oder Software entstehen könnten, wird keine Haftung übernommen,

MRK-Soft wird jedoch Fehler und Verbesserungen, soweit diese den Vorschritt dienen durchführen.

 

 

 

Anleitung für RGH-Profan

 

 

Für Profan steht eine Inlude ( INC )  Datei zur Verfügung, in den 6 neue Befehle (Proceduren) vorhanden sind.

ES empfiehlt sich, diese zu benutzen,  Hinweise auf die direkten Funktionen der DLL sind auf der Homepage zu

Finden.

 

WICHTIG:  dateinummer#  ist eine Zahl von 1 bis 15

 

                        Die Variable  VALUE$  und  VALUE#  sind Lokal in gesamten Programm verfügbar, in dem das Ergebnis

                        Der gelesenen Daten steht.

 

 

 

            OpenRandomFile  dateinummer# ,  Dateiname$ ,  satzlänge%

 

Die Datei mit den Namen „Dateiname$“ und dem Handle  dateinummer#   wird geöffnet, existiert diese nicht, wird eine neue

NULL-Byte Datei angelegt.  Die Länge eines Satzes wird in  satzlänge%  angegeben.    Es können bis zu 15 Dateien

gleichzeitig geöffnet sein.

 

Bsp:     OpenRandomFile 1 , „testdatei.txt“ , 200

 

                                               Öffnet die Datei „testfile.txt“ mit einer Satzlänge von 200 zum lesen / schreiben.

 

 

 

 

 

            CloseRandomFile  dateinummer#

 

Die Datei mit dem Handle  „dateinummer#“  wird geschlossen.

 

 

 

 

 

 

            PutRandomFileS  dateinummer#  ,  satznummer%  ,  Text$

 

Schreibt den String TEXT$  in der festen Satznummer  „satznummer%“  der Datei mit den Handle  „dateinummer#“.

Der Text  „TEXT$“  muss  dabei der gleichen Länge entsprechen, wie bei Open angegeben, sonst Crasht es !!!

 

 

 

 

            PutRandomFile  dateinummer#,  satznummer%,   text-bereich#

 

Schreibt den Inhalt der Bereichsvariable  „text-bereich#“  in der festen Satznummer „satznummer%“  

der Datei mit den Handle „dateinummer#“.   TEXT-BERECH#  ist hier eine Bereichsvariable, womit

sehr einfach Strukturen geschrieben werden können.

 

 

 

            GetRandomFileS  dateinummer#  ,  satznummer%

 

Liest den festen Satz  „satznummer%“  als String aus der Datei mit dem Handle  dateinummer#.  Der gelesene

Wert Ist dann in der Variable  VALUE$  zu finden.

 

 

 

 

            GetRandomFile  dateinummer#  ,  satznummer%

 

Liest den festen Satz  „satznummer%“  als kompletten Bereich in den Speicher aus der Datei mit dem

Handle  „dateinummer#“.  Wurde eine Struktur in Profan erzrugt, so bleibt diese hier komplett erhalten

und kann der Struktur Bereichsvariable übergeben werden.

 

Bsp:

 

                                    STRUCT  adresse = name $(30) , ort$ (20)

                                    DIM data# , adresse

 

Data hat also nun eine Struktur, in dem der Name 30 Zeichen und der Ort 20 Zeichen besitzt.

 

                                    GetRandomFile  1 , 3

                                   data# = value#

 

Lese den 3 Datensatz aus der Datei mit dem Handle 1, das Ergebnis wird in value#  hinterlegt.

Danach wird die gelesene Struktur in value# nun der selbst erzeigten übergeben, wodurch sich

Nun sehr einfach auf diese zugreifen lässt.

 

            PRINT  data#.name$

            PRINT  data#.ort$

 

oder

 

                                   WITH data#

  PRINT  .name$

  PRINT  .ort$

ENDWITH

 

 

 

 

            Value& = LocRandomFile ( dateinummer# )

 

Die letzte Datensatznummer wird zurückgegeben.

 

 

 

 

 

            Value& = LofRandomFile ( dateinummer# )

 

Die Länge der Datei wird zurückgegeben.

 

 

 

 

© 2002, MRK-Soft