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:

fehler bei exe erstellen
Gehe zu Seite Zurück  1, 2
 
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
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

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

Code:
OPEN phatprog + "tmp.dat" FOR RANDOM AS #1 LEN=255

so in der Art.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
braesident



Anmeldungsdatum: 15.04.2008
Beiträge: 189
Wohnort: Berlin

BeitragVerfasst am: 04.02.2012, 19:21    Titel: Antworten mit Zitat

ok danke das funzt, hab jetzt auch entlich raus wie ich die alte field zeile ersetze, doch leider gibt es ein neues problem: nachdem der code etwas in eine datei geschrieben hat soll er auf eine eingabe warten über do sleep 1... loop while inkey = "" doch direkt nach dem speichern endet das prog
wenns sein muss stell ich die frage auch nochmal unter allgemeine fragen zu FB... ansonsten ist hier erstmal mein probier code
Code:
#include "fbgfx.bi"
declare sub konischiwa (txt as string)
DECLARE SUB autowrite (c as integer,ze as integer,sp as integer,wort as string)
DECLARE SUB button (cb1 as integer,cb2 as integer,ze as integer,sp as integer,c as integer,wort as string)
dim as integer halb
dim as string txt,bust,wort
dim K as string*3, B as string*3
dim as integer xmaus,ymaus,mrad,mbuttons,mclib,mrad2,mradoffset
TYPE ContactInformation
     strasse     AS STRING * 10
     ContactName AS STRING * 10
     PhoneNumber AS STRING * 10
     Email       AS STRING * 10
END TYPE
DIM Contact      AS ContactInformation

windowtitle "MyTour by braesident"
screenres 800,480,8,,
close
mytourstart:

button (7,9,200,360,15,"Touren")

do
    getmouse (xmaus,ymaus,mrad,mbuttons,mclib)      'xmaus = wide/ymaus = hide
    mrad2=mrad-mradoffset       'mrad erhält 2te variable zum späteren zurücksetzen
    'beispiel: if mbuttons = 1 then mradoffset=mrad ..... zum zurücksetzen des rades
    color 15:locate 1,1:? xmaus,ymaus,mrad2,mbuttons,mclib
    if multikey (fb.sc_escape) then end
   
    if mbuttons = 1 and xmaus > 359 and xmaus < 441 and ymaus > 199 and ymaus < 211 then goto Touren

loop



locate 5,10: ? "hier ist das ende"
sleep:end



Touren:cls              'Touren
? "Hier ist Seite 2"
OPEN "C:\" + "tmp.dat" FOR RANDOM AS #1 LEN=40
Contact.strasse = "polo ave 17"
Contact.ContactName = "Marko Polo"
Contact.PhoneNumber = "(030)3344 1212"
Contact.Email = "marko@polo.com"

put #1,1,Contact
close #1
do
    sleep 3000
loop while inkey =""
? "gespeichert"
sleep
end










'-------------------------------------------------------------

sub konischiwa (txt as string)
    locate 3,5:? txt
end sub

SUB button (cb1 as integer,cb2 as integer,ze as integer,sp as integer,c as integer,wort as string)
dim as integer halb
? "sub button "
LINE (sp, ze)-STEP(80, 10),cb1 , BF
LINE (sp + 1, ze + 1)-STEP(80, 10), cb2, BF
halb = len(wort)* 6 / 2
sp = sp + 42 - halb
 autowrite(c, ze + 4, sp, wort)
? "end sub button"
END SUB

SUB autowrite (c as integer,ze as integer,sp as integer,wort as string)
dim as integer i
dim as string bust
COLOR c
FOR i = 1 TO LEN(wort)
bust = MID(wort, i, 1)

IF bust = "a" OR bust = "A" THEN PSET (sp, ze + 4): DRAW "u3 e1 r2 d4 u2 l3": sp = sp + 6: GOTO awende          'A
IF bust = "ä" OR bust = "Ä" THEN PSET (sp, ze + 4): DRAW "u2 e2 f2 d2 u2 l4 bu3 u-1 br4 d-1": sp = sp + 7: GOTO awende'Ž
IF bust = "b" OR bust = "B" THEN PSET (sp, ze): DRAW "d4 r2 e1 h1 l1 r1 e1 h1 l2": sp = sp + 6: GOTO awende   'B
IF bust = "c" OR bust = "C" THEN PSET (sp + 3, ze): DRAW "l2 g1 d2 f1 r2": sp = sp + 6: GOTO awende             'C
IF bust = "d" OR bust = "D" THEN PSET (sp, ze): DRAW "d4 r2 e1 u2 h1 l2": sp = sp + 6: GOTO awende              'D
IF bust = "e" OR bust = "E" THEN PSET (sp + 3, ze): DRAW "l3 d2 r2 l2 d2 r3": sp = sp + 6: GOTO awende          'E
IF bust = "f" OR bust = "F" THEN PSET (sp + 3, ze): DRAW "l3 d2 r2 l2 d2": sp = sp + 6: GOTO awende             'F
IF bust = "g" OR bust = "G" THEN PSET (sp + 3, ze): DRAW "l2 g1 d2 f1 r2 u2 l1": sp = sp + 6: GOTO awende       'G
IF bust = "h" OR bust = "H" THEN PSET (sp, ze): DRAW "d4 u2 r3 u2 d4": sp = sp + 6: GOTO awende                 'H
IF bust = "i" OR bust = "I" THEN PSET (sp + 2, ze): DRAW "d4": sp = sp + 6: GOTO awende                         'I
IF bust = "j" OR bust = "J" THEN PSET (sp, ze): DRAW "r3 d3 g1 l1 h1": sp = sp + 6: GOTO awende                 'J
IF bust = "k" OR bust = "K" THEN PSET (sp, ze): DRAW "d4 u2 r1 e2 g2 f2": sp = sp + 6: GOTO awende              'K
IF bust = "l" OR bust = "L" THEN PSET (sp, ze): DRAW "d4 r3": sp = sp + 6: GOTO awende                          'L
IF bust = "m" OR bust = "M" THEN PSET (sp, ze + 4): DRAW "u4 f2 e2 d4": sp = sp + 6: GOTO awende                'M
IF bust = "n" OR bust = "N" THEN PSET (sp, ze + 4): DRAW "u4 f4 u4": sp = sp + 6: GOTO awende                   'N
IF bust = "o" OR bust = "O" THEN PSET (sp, ze + 1): DRAW "d2 f1 r1 e1 u2 h1 l1": sp = sp + 6: GOTO awende       'O
IF bust = "p" OR bust = "P" THEN PSET (sp, ze + 4): DRAW "u4 r2 f1 g1 l1": sp = sp + 6: GOTO awende             'P
IF bust = "q" OR bust = "Q" THEN PSET (sp, ze + 1): DRAW "d2 f1 r1 e1 f1 h1 u2 h1 l1": sp = sp + 7: GOTO awende 'Q
IF bust = "r" OR bust = "R" THEN PSET (sp, ze + 4): DRAW "u4 r2 f1 g1 l1 f2": sp = sp + 6: GOTO awende         'R
IF bust = "s" OR bust = "S" THEN PSET (sp, ze + 4): DRAW "r2 e1 h1 l1 h1 e1 r2": sp = sp + 6: GOTO awende     'S
IF bust = "t" OR bust = "T" THEN PSET (sp, ze): DRAW "r2 d4 u4 r2": sp = sp + 6: GOTO awende                    'T
IF bust = "u" OR bust = "U" THEN PSET (sp, ze): DRAW "d4 r3 u4": sp = sp + 6: GOTO awende                       'U
IF bust = "ü" OR bust = "Ü" THEN PSET (sp, ze - 1): DRAW "bd2 d3 r3 u3 bu2 r-1": sp = sp + 6: GOTO awende                     'U
IF bust = "v" OR bust = "V" THEN PSET (sp, ze): DRAW "d2 f2 e2 u2": sp = sp + 7: GOTO awende                    'V
IF bust = "w" OR bust = "W" THEN PSET (sp, ze): DRAW "d4 e2 f2 u4": sp = sp + 6: GOTO awende                    'W
IF bust = "x" OR bust = "X" THEN PSET (sp, ze): DRAW "f4 h2 g2 e4": sp = sp + 6: GOTO awende                    'X
IF bust = "y" OR bust = "Y" THEN PSET (sp, ze): DRAW "d2 r3 u2 d4 l2": sp = sp + 6: GOTO awende                 'Y
IF bust = "z" OR bust = "Z" THEN PSET (sp, ze + 1): DRAW "u1 r3 g3 d1 r3 u1": sp = sp + 6: GOTO awende          'Z

IF bust = "0" THEN PSET (sp, ze + 1): DRAW "d2 f1 r2 e1 u2 h1 l2": sp = sp + 6: GOTO awende        '0
IF bust = "1" THEN PSET (sp + 2, ze + 4): DRAW "u4 g2": sp = sp + 6: GOTO awende                   'I
IF bust = "2" THEN PSET (sp, ze + 1): DRAW "e1 r1 f1 g3 r3": sp = sp + 6: GOTO awende              '2
IF bust = "3" THEN PSET (sp, ze + 4): DRAW "r2 e1 h1 l1 r1 e1 h1 l2": sp = sp + 6: GOTO awende   '3
IF bust = "4" THEN PSET (sp + 2, ze + 4): DRAW "u4 g2 d1 r3": sp = sp + 6: GOTO awende             '4
IF bust = "5" THEN PSET (sp, ze + 4): DRAW "r2 e1 h1 l2 u2 r3": sp = sp + 6: GOTO awende           '5
IF bust = "6" THEN PSET (sp + 2, ze): DRAW "l1 g1 d2 f1 r1 e1 h1 l1": sp = sp + 6: GOTO awende     '6
IF bust = "7" THEN PSET (sp, ze + 1): DRAW "u1 r3 d1 g3": sp = sp + 6: GOTO awende                 '7
IF bust = "8" THEN PSET (sp, ze + 1): DRAW "f1 g1 f1 r1 e1 h1 e1 h1 l1": sp = sp + 6: GOTO awende  '8
IF bust = "9" THEN PSET (sp + 2, ze + 2): DRAW "l1 h1 e1 r1 f1 d2 g1 l1": sp = sp + 6: GOTO awende '9

IF bust = "%" THEN PSET (sp, ze): PSET (sp + 4, ze + 4): PSET (sp, ze + 4): DRAW "e4": sp = sp + 8: GOTO awende   '%
IF bust = ">" THEN PSET (sp + 1, ze + 4): DRAW "e2 h2": sp = sp + 6: GOTO awende'>
IF bust = "<" THEN PSET (sp + 4, ze + 4): DRAW "h2 e2": sp = sp + 6: GOTO awende'>
IF bust = "/" THEN PSET (sp, ze + 4): DRAW "e4": sp = sp + 6: GOTO awende                '/
IF bust = "\" THEN PSET (sp + 4, ze + 4): DRAW "h4": sp = sp + 6: GOTO awende                '/
IF bust = "_" THEN PSET (sp, ze + 4): DRAW "r4": sp = sp + 6: GOTO awende                          '_
IF bust = "+" THEN PSET (sp + 1, ze + 2): DRAW "r2 l1 u1 d2": sp = sp + 6: GOTO awende             '+
IF bust = "-" THEN PSET (sp + 1, ze + 2): DRAW "r2": sp = sp + 6: GOTO awende                      '-
IF bust = "." THEN PSET (sp + 2, ze + 4): DRAW "": sp = sp + 6: GOTO awende                        '.
IF bust = "," THEN PSET (sp + 2, ze + 4): DRAW "g1": sp = sp + 6: GOTO awende                      ',
IF bust = ":" THEN PSET (sp + 2, ze + 4): PSET (sp + 2, ze + 2): sp = sp + 6: GOTO awende        ':
IF bust = " " THEN sp = sp + 6: GOTO awende                                                          'leer

PSET (sp, ze + 4): DRAW "r4": sp = sp + 6
awende:
NEXT i
END SUB
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 04.02.2012, 23:33    Titel: Antworten mit Zitat

Probier statt der Schleife mal ein GetKey..
Wenn's klappt lass es doch dabei^^
Ansonsten sollteste vllt. mal den Tastaturpuffer vor der Schleife löschen:
Code:

While Inkey<>""
  c=Inkey
Wend
Do..
etc.

Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
braesident



Anmeldungsdatum: 15.04.2008
Beiträge: 189
Wohnort: Berlin

BeitragVerfasst am: 05.02.2012, 13:20    Titel: Antworten mit Zitat

danke für deine Antwort, aber ich glaub ich zu blöd.

Ich habe es mit Getkey probiert - selbes ergebnis
und mit deinem Code bsp ebenfalls - auch nix

hab dann mal
Code:
? "inkey: ", inkey: sleep
vor put#1... eingefügt
und das programm zeigt Inkey:

dann habe ich diese Zeile verschoben zwischen put... und close#1 und es wird nichts mehr angezeigt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 05.02.2012, 13:38    Titel: Antworten mit Zitat

Wenn du mit FreeBasic arbeitest, solltest du auch die FreeBasic-Hilfe haben:
siehe hier. Es ist keine gute Idee, mit Random zu arbeiten, wenn du neu bist in FreeBasic..
Der alte Briest würde sagen:'Das ist ein weites Feld..'
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
braesident



Anmeldungsdatum: 15.04.2008
Beiträge: 189
Wohnort: Berlin

BeitragVerfasst am: 05.02.2012, 14:08    Titel: Antworten mit Zitat

ja danke diese seite hab ich schon x mal gelesen
allerdings wollt ich binary einfach nicht versuchen. warum ? Gute Frage warscheinlich weil RANDOM unter QB immer ging und ich mir nicht vorstellen konnte das das selbe Ziel dabei raus kommt.

Binary geht jedenfalls... Trotzdem würde ich gern wissen und verstehen warum der Code bei RANDOM zwar richtig in die vorgesehene Datei Schreibt
aber bei PUT oder CLOSE einfach endet

wenn ich den Code von http://www.petesqbsite.com/sections/express/issue6/index.html#randomaccessfiles unter der Überschrift EXAMPLE PROGRAM kopiere und am Ende vor close ein sleep einfüge, dann klappt das prima!?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 05.02.2012, 15:56    Titel: Antworten mit Zitat

GETKEY wartet auf jeden Fall auf eine Eingabe - wenn es das nicht tut, heißt das, dass dein Programm nicht bis zum GETKEY gekommen ist. Da RANDOM wirklich ein Relikt vergangener Tage ist, haben das die FreeBASIC-Entwickler nicht in das Zentrum der Entwicklungsarbeit gestellt; mit den Worten der Referenz:
Referenz hat Folgendes geschrieben:
Es kann nicht garantiert werden, dass FreeBASIC den Dateimodus RANDOM in vollem Umfang unterstützt.

Möglicherweise hat dein Problem damit zu tun; wenn es mit BINARY funktioniert, liegt diese Vermutung jedenfalls nahe.

Übrigens funktioniert das SLEEP bei mir unter Linux; auf der anderen Seite solltest du vielleicht wissen, dass dein UDT Contact die Länge 44 besitzt, und nicht 40. Könnte auch eine mögliche Fehlerquelle sein.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
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
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
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