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:

Datei bereits geöffnet

 
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
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 16.12.2007, 16:09    Titel: Datei bereits geöffnet Antworten mit Zitat

Bei der letzten Zeile kommt der Error "Datei bereits geöffnet."
Und das, obwohl CACHE.DAT ordnungsgemäß geschlossen wurde.

Ich weiß nicht mehr weiter, habe da schon alles überprüft.

Danke für Hilfe.


Code:
OPEN "I", #14, "users4.DAT"
 DO
  INPUT #14, user$
  zaehler = zaehler + 1
 LOOP UNTIL EOF(14)
CLOSE #14
IF zaehler => 5 THEN
 PRINT "Bereits 5 Accounts!"
 SLEEP 2
 GOTO 30 'accounts
END IF
INPUT "Accountname: ", add$
CLS
OPEN "I", #15, "users4.DAT"
 DO
  INPUT #15, user$
  IF user$ = add$ THEN
   PRINT add$; " bereits vorhanden!"
   SLEEP 2
   CLOSE #15
   GOTO 30 'accounts
  END IF
 LOOP UNTIL EOF(15)
CLOSE #15
OPEN "I", #16, "users4.DAT"
OPEN "O", #17, "CACHE.DAT"
 DO
  INPUT #16, user$
  WRITE #17, user$
 LOOP UNTIL EOF(16)
 WRITE #17, add$
CLOSE #17
CLOSE #16
NAME "CACHE.DAT" AS "users4.DAT"


Mit dem Programm kann man zu einer Userliste einen weiteren Benutzer hinzufügen. Dabei wird überprüft, ob dieser bereits existiert oder es bereits 5 gibt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 16.12.2007, 16:22    Titel: Antworten mit Zitat

Evtl. hast du eine Dateinummer bereits mal verwendet aber mit CLOSE noch nicht wieder freigegeben? (Muss nicht einmal die selbe Datei sein.)

((Bin mir atm jedoch nicht sicher, ob QB dafür evtl. eine extra Fehlermeldung hatte.))
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 16.12.2007, 16:32    Titel: Antworten mit Zitat

Ich habe alle Dateinummern davor noch mal bearbeitet, es wird immer eine andere genommen. Immer wenn eine Datei geöffnet wurde, wurde sie auch so schnell wie möglich wieder geschlossen.

Ist übrigens das erste Mal, dass CACHE.DAT geöffnet wurde (also in den zeilen dadrüber passiert es das erste Mal)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

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

(Ich würde an deiner Stelle trotzdem immer FreeFile und den "normalen" Syntax von Open nehmen. --> Resistenter wenn es um Erweiterungen des Programms geht und übersichtlicher noch dazu.)
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 16.12.2007, 17:29    Titel: Antworten mit Zitat

Äh was heißt das?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Bimi



Anmeldungsdatum: 03.12.2007
Beiträge: 66

BeitragVerfasst am: 20.12.2007, 10:58    Titel: Antworten mit Zitat

EDIT:
Asche auf mein Haupt....hier geht es ja im QB, nicht FB....meine Antwort ist also Bedeutungslos....zwinkern

Ich habe das dumpfe Gefühl das die File-Operationen von FB nicht so ganz Bugfree sind. Ich hatte ebenfalls mehrfach das Problem und bin daher sehr schenll auf die crt Funktionen (C-like file operations) ausgewichen und seitdem ist Ruhe.
_________________
Rechtbehelf:

Rechschreibverfehlungen, Vergehen an der Deutschen Sprache sowie Stabwechselverbuchselungen unterliegen dem Urheberrecht, sind voll beabsichtigt und fördern das aufmerksame Lesen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ZaPPa



Anmeldungsdatum: 29.09.2004
Beiträge: 98
Wohnort: Wuppertal

BeitragVerfasst am: 29.12.2007, 17:36    Titel: Antworten mit Zitat

bei der letzten zeile kommt der fehler?

ergo:
Code:
NAME "CACHE.DAT" AS "users4.DAT"

?

im moment hast du 2 dateien.... "cache.dat" UND "users4.dat".....
du solltest erstmal die ursprüngliche "users4.dat" in was anderes umbenennen, bevor du "cache.dat" in "users4.dat" umbenennst....

oder hab ich jetz völlig ins klo gegriffen? bin ausser übung xD

versuchs mit
Code:
NAME "users4.DAT" AS "users4.tmp"
NAME "CACHE.DAT" AS "users4.DAT"

... oder so lächeln
_________________
--- ICH BIN DAGEGEN! ---
Jet_X hat Folgendes geschrieben:
Es währe mir sehr geholfen wenn ihr mir Helfen könnt !


And remember: Schwund is immer!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 08.01.2008, 18:26    Titel: Antworten mit Zitat

*glühbirne über meinem kopf schweb*

also erstmal: du musst die zieldatei löschen, mittels kill dateiname$

und: ich denke es ginge einfacher, wenn du die accounts-datei mit open "dateiname" for append as #nummer% öffnest, da hängst du gleich hinten an, ohne temporäre datei
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
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