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:

Aussteigen, wenn datei nicht vorhanden ist

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
qbasicfan
gesperrt (Wird das nicht langweilig?)


Anmeldungsdatum: 29.07.2009
Beiträge: 45

BeitragVerfasst am: 29.07.2009, 19:38    Titel: Aussteigen, wenn datei nicht vorhanden ist Antworten mit Zitat

Hallo, wenn bei " Open eingabe For binary as #1" die Datei "eingabe" nicht vorhanden ist, soll das Programm beendet werden.
Welchen Befehl gibt es dafür hier?

mfg

Code:

Dim text AS String, eingabe As String, ausgabe As String
   Dim b As UByte
   Dim zaehler As Integer, datazeile as Integer

   Input "Eingabedatei : ", eingabe
   Input "Ausgabedatei : ", ausgabe

   Open eingabe For binary as #1
   Open ausgabe for binary as #2

   datazeile=1000
   text=Str(datazeile)+" Data "

   do until( eof(1) )
      get #1, , b
      text=text+str(b)+" ,"
      zaehler=zaehler+1
      if zaehler=10 Then
         put #2,,text
         put #2,,chr(13)
         datazeile=datazeile+10
         text=""
         text=Str(datazeile)+" Data "
         zaehler=0
      end If
   Loop

   put #2,,text

   Close #2
   close #1
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 29.07.2009, 19:58    Titel: Antworten mit Zitat

So geht es:
Code:
If Open(eingabe For Binary As #1) <> 0 Then
    Print "Error"
Else
    Print "Offen"
EndIf
Close #1
Sleep
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbasicfan
gesperrt (Wird das nicht langweilig?)


Anmeldungsdatum: 29.07.2009
Beiträge: 45

BeitragVerfasst am: 29.07.2009, 20:33    Titel: Antworten mit Zitat

Jup, klappt wunderbar.

Danke.

mfg
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 29.07.2009, 21:12    Titel: Antworten mit Zitat

Übrigens kannst du dir viel Tipperei sparen, wenn du so dimensionierst:
Code:
Dim As String text, eingabe, ausgabe
Dim As Integer zaehler, datazeile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 29.07.2009, 21:44    Titel: Antworten mit Zitat

Hallo Peter, in der vbcomat.bi gibt's auch FileExists() fürs sowas!
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
qbasicfan
gesperrt (Wird das nicht langweilig?)


Anmeldungsdatum: 29.07.2009
Beiträge: 45

BeitragVerfasst am: 30.07.2009, 08:30    Titel: Antworten mit Zitat

Jup, danke. Funktioniert prima.

mfg
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 30.07.2009, 12:27    Titel: Antworten mit Zitat

Öm ..eigentlich geht das so nicht!

Wenn man "Binary" verwendet, wird die datei angelegt, wenn sie nicht existiert.

Soll Binary verwendung finden, muss man vorher mit Dir() prüfen, ob die Datei existiert, udn entsprechend das Prog verlassen, bzw. das Open unterbinden.

Andernfalls kann man es mit dem "Input" Statemant durchführen, wenn man kein Dir will, oder das Binary nicht braucht.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbasicfan
gesperrt (Wird das nicht langweilig?)


Anmeldungsdatum: 29.07.2009
Beiträge: 45

BeitragVerfasst am: 30.07.2009, 15:05    Titel: Antworten mit Zitat

Damit nicht : FileExists() und vbcompat.bi .

Bei Nichtvorhanden springt das Programm zur Meldung hin, die ich als Ausgabe festgelegt habe und wird dann beendet ohne das eine Leiche abgelegt wird.

mfg
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 FreeBASIC. 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