Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Länge einer .DAT-datei bestimmen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
seimon



Anmeldungsdatum: 09.06.2007
Beiträge: 12

BeitragVerfasst am: 09.07.2007, 19:03    Titel: Länge einer .DAT-datei bestimmen Antworten mit Zitat

Hi, ich habe leider folgendes Problem:

Wenn ich eine Datei einlesen möchte, z.B. eine Random-Datei z.B.
Code:

CLS
 TYPE xxr
  bauteilname AS STRING * 12
  Nr AS STRING * 4
  gewicht AS SINGLE
  preis AS DOUBLE
 END TYPE
a$ = "\          \ \  \ ##### ##########"
DIM bauteil(2) AS xxr

OPEN "bauteil.dat" FOR RANDOM AS 1 LEN = LEN(bauteil(2))
 FOR i = 1 TO 2
  GET 1, i, bauteil(i)
  PRINT USING a$; bauteil(i).bauteilname; bauteil(i).Nr; bauteil(i).gewicht;   bauteil(i).preis
  bauteil(i).preis = bauteil(i).preis / 1.95584
  PUT 1, i, bauteil(i)
 NEXT i
CLOSE 1
END

Nur wollte ich gerne, dass das Prog. auch läuft wenn die Anzahl der Datensätze unbekannt ist, ich habe da die LOF()-Funktion gefunden, jedoch wenn ich in meinem Beispiel die 2 (in der FOR Schleife) ersätze bekomm ich immer eine Fehlermeldung. Woran lieg das?

mfg seimon
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 09.07.2007, 19:17    Titel: Antworten mit Zitat

Sagst du Meldung, gibts konkret Hilfe zwinkern
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
seimon



Anmeldungsdatum: 09.06.2007
Beiträge: 12

BeitragVerfasst am: 09.07.2007, 19:34    Titel: Antworten mit Zitat

Sorry, er hat immer gesagt "INdex außerhalb des zulässigen Bereiches",
allerdings hab ich es, glaube ich, rausgefunden^^, denn wenn ich in der FOR-Schleife LOF(1)/28 mache geht alles wunderbar.
Ich danke trotzdem für das Angebot zur Hilfe.

mfg seimon
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 09.07.2007, 19:50    Titel: Antworten mit Zitat

Hallo

Das liegt wohl daran, dass LOF(n) die Dateilänge in Byte angibt. Da deine mit TYPE definierten Variablen aber aus 28 Bytes bestehen, funktioniert es mit LOF(1) / 28, denn das ergibt folglich die Anzahl dieser 28-Byte-Datensätze.

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
seimon



Anmeldungsdatum: 09.06.2007
Beiträge: 12

BeitragVerfasst am: 09.07.2007, 20:15    Titel: Antworten mit Zitat

Hi, ja genau ich hab die 28 ja auch nicht einfach geraten^^. Wollte halt nur bescheid sagen das zumindest dies Frage beantwortet ist.
Danke für eure Mühen

mfg seimon
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz