Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

RANDOM-Tutorial

von RedakteurytwinkySeite 1 von 3

Nachdem nun schon mehrfach Benutzer an der Verwendung von RANDOM gescheitert sind, scheint es angebracht, etwas Licht in das Dunkel um RANDOM zu bringen.
(Der Link zu Externer Link! Pete's QBSite war eine gute Hilfe hierfür)^^
Dabei hat RANDOM erstmal nichts mit RND() oder RANDOMIZE zu tun, doch dazu später mehr..
RANDOM gehört genauso wie INPUT und OUTPUT zur Datei-Ver-/Bearbeitung. Es wird also zur Bearbeitung von Dateien verwendet.
Nun haben Dateien oftmals aber auch einen Inhalt und diesen gilt es erstmal festzulegen:
Wir haben 4 Personen:

Diese Daten können wir leicht mit FreeBASIC speichern und darauf zugreifen. Doch stimmt das?
Leicht stimmt auf alle Fälle, aber mit dem Zugriff ist das so eine Sache. Wir können immer nur ALLE Daten lesen oder ALLE Daten speichern, das kann aber dauern(z.B. bei einer Song-Sammlung mit 70000 Titeln)..
Nun Gut, soviel haben wir jetzt hier nicht, aber das Beispiel wirft eine andere Frage auf: Was ist denn, wenn im Laufe der Bearbeitung die Datei so groß wird, dass sie nicht mehr in den Arbeitsspeicher paßt?
Rechnen wir mal durch: 70000 Songs, 1000 Zeichen an Informationen/Song macht ~77MB Daten. Das Speichern dauert auf einem Celeron(2GHz, 1GB-RAM) ~20sec, das Lesen dauert mehr als doppelt solange..
..Naja, vielleicht ist das Beispiel auch an den Haaren herbeigezogen..^^
(70000 Songs bedeuten immerhin 145 Tage Musik-NonStop) ;-))
Also bleiben wir beim einfachen Beispiel:

Dim As Integer DatenFile=FreeFile
Open "Personen.Dat" For OUTPUT As #DatenFile
  Print #DatenFile, "Ben Cartwright, 199, Ponderosa"
  Print #DatenFile, "Joe Dalton, 41, Wilder Westen"
  Print #DatenFile, "Lois Lane, 22, Metropolis"
  Print #DatenFile, "Marge Simpson, 34, Springfield"
Close #DatenFile

Diese Daten lassen sich auch wieder einlesen:

Dim As Integer DatenFile=FreeFile
DIM AS STRING DatenZeile
Open "Personen.Dat" For INPUT As #DatenFile
  While Not EOF(DatenFile) ' solange es noch Daten gibt..
    Line Input #DatenFile, DatenZeile
    Print DatenZeile
  Wend 'einlesen und ausgeben, sonst fertich^^
Close #DatenFile ' Datei schließen(immer wieder wichtig!!)
Sleep

Das bringt uns nun aber nicht gerade meterweit nach vorn, denn:
-wir haben keinen Zugriff auf die einzelnen Zeilen
-überhaupt keinen Zugriff auf die Elemente eines Datensatzes
Ooops, was war das? Datensatz?

 

Gehe zu Seite Gehe zu Seite  1  2  3  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 21.01.2008 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 07.09.2017 von Mitgliedavrfreund gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen