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:

mehrere fragen
Gehe zu Seite 1, 2  Weiter
 
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
Mark



Anmeldungsdatum: 02.05.2006
Beiträge: 37

BeitragVerfasst am: 05.05.2006, 15:24    Titel: mehrere fragen Antworten mit Zitat

also ich bin anfänger und hab nen kleinen rechner zu berechnung von rohstoffen in einem browsergame (wie viel man in ner stunde protoziert)

hier mal der code (teils) :
Code:
screen 18
locate 0,25
Print "***HDSM - Rohstoffrechner***"
print
print "Fuege deine Gebaeudestufen ein !"
input "Goldmine   : ",x
input "Steinbruch : ",y
input "Saegewerk  : ",z
input "Farm       : ",q
input "Anzahl der Stunden : ",e
cls
if x=0 then
    ergebnis=9*e
end if
if x=1 then
    ergebnis=10*e
end if
if x=2 then
    ergebnis=12*e
end if
if x=3 then
    ergebnis=15*e

(und dann geht das halt so weiter mit if ...... ) und zum schluss :

locate 0,25
Print "***HDSM - Rohstoffrechner***"
Print
if x>25 then
    print "ERROR"
else
    Print "In";e%;" Stunde/n produzierst du";ergebnis%;" Gold !"
end if
if y>25 then
    print "ERROR"
else
    Print "In";e%;" Stunde/n produzierst du";ergebnis2%;" Stein !"
end if
if z>25 then
    print "ERROR"
else
    Print "In";e%;" Stunde/n produzierst du";ergebnis3%;" Holz !"
end if
if q>25 then
    print "ERROR"
else
    Print "In";e%;" Stunde/n produzierst du";ergebnis4%;" Nahrung !"
end if
Print
print "(druecke eine Taste zum Schliessen)"
print
print
print
locate 0,27
print "HDSM - Rohstoffrechner V0.1"
locate 0,33
print "by L!te][Mark"
sleep



so jetzt hab ich folgende fragen : Ich möchte hinbekommen dass die gebäudestufen gespeichert werden (textfile oda so) und dass er beim 2. aufruf nurnoch fragt ob man was an den gebäudestufen verändern will und wenn ja sie ändern kann . zudem möchte ich dass man am schluss per tastendruck entscheiden kann ob das prog beendet werden soll oder ob man nochmal was ausrechnen lassen will .

so letzte frage : wo habt ihr das programmieren so gelernt wie ihr es könnt ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 05.05.2006, 16:42    Titel: Antworten mit Zitat

Hi Mark,
http://de.groups.yahoo.com/group/free-basic/message/92
Kommst du da rein?
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
Mark



Anmeldungsdatum: 02.05.2006
Beiträge: 37

BeitragVerfasst am: 05.05.2006, 16:50    Titel: Antworten mit Zitat

sollte das ne antwort auf die frage wo ihr das proggen gelernt habt ?

das war nur ne nebenfrage . mir ings eigentlich mehr ums prog zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 05.05.2006, 17:21    Titel: Antworten mit Zitat

Hi Mark,
In
[FreeBASIC-Dir]\inc\win\winreg.bi
stehen die einzelnen Deklarationen für die RegWerte(REG_SZ etc.)
Ich rate dir erst in die Registry zu schreiben, wenn du genau
verstanden hast, was hier beschrieben wird..
Wenn dich die Warnungen sehr stören, schau dir diesen Code an:
Code:
Option Explicit
Option Escape
Const HKEY_CLASSES_ROOT=&H80000000
Const HKEY_CURRENT_USER=&H80000001
Const HKEY_LOCAL_MACHINE=&H80000002
Const HKEY_USERS=&H80000003
Const HKEY_CURRENT_CONFIG=&H80000005
Const HKCR=&H80000000 'Vbs-Abkürzung
Const HKCU=&H80000001 'Vbs-Abkürzung
Const HKLM=&H80000002 'Vbs-Abkürzung
Const HKUS=&H80000003 'Meine Abkürzung
Const HKCC=&H80000005 'Meine Abkürzung

Const READ_CONTROL As Integer=&H20000
Const KEY_NOTIFY As Integer=&H10
Const KEY_ENUMERATE_SUB_KEYS As Integer=&H8
Const KEY_QUERY_STRING As Integer=&H1
Const KEY_QUERY_VALUE As Integer=&H1
Const STANDARD_RIGHTS_READ As Integer=(READ_CONTROL)
Const SYNCHRONIZE As Integer=&H100000
Const KEY_READ As Integer=((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))

Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Integer, ByVal lpSubKey As String, ByVal ulOptions As Integer, ByVal samDesired As Integer, ByRef phkResult As Integer) As Integer
Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Integer, ByVal ValueName As String, ByVal Reserved As Integer, lpType As Integer, byval lpString As string, lpDataSize As Integer) As Integer
Declare Function RegCloseKey Lib "advapi32.dll" Alias "RegCloseKey" (ByVal hKey As Integer) As Integer
Declare Function ReadRegKey(ByVal OpenKey As Integer, ByVal SubKey As String, ByVal ValueName$="") As String
Dim DizFile As String, Erw As String
Erw=".Diz"
? "HKCR\\"+Erw+": "
DizFile=ReadRegKey(HKEY_CLASSES_ROOT, Erw, "")
? DizFile
? "HKCR\\"+DizFile+"\\shell\\open\\command: "
?ReadRegKey(HKCR, DizFile+"\\shell\\open\\command", "")
Sleep
End

Function ReadRegKey(ByVal HKey As Integer, ByVal SubKey As String, ByVal ValueName As String="") As String
  Dim As Integer i, lpType=0, ReturnKey, DataSize=255
  Dim keyvalue As zstring*256
  Dim TOMWTB As String="", ESC As String="\"
  If Instr(SubKey &ValueName, ESC) Then
     TOMWTB=ESC
  Else
     KeyValue=Space$(255)
     If RegOpenKeyEx(HKey, SubKey, 0, KEY_READ, ReturnKey) Then
       TOMWTB="Error: RegOpenKeyEx(" & Hex$(HKey) & SubKey & ValueName &")\r\n"
     Else
       If RegQueryValueEx(ReturnKey, ValueName, 0, lpType , KeyValue, Datasize) Then TOMWTB=TOMWTB+"Error: RegQueryValueEx\r\n"
       If RegCloseKey(ReturnKey) Then TOMWTB=TOMWTB &"Error: RegCloseKey\r\n"
     End if
  End If
  If TOMWTB<>"" Then
    Function=ESC
    ?TOMWTB
  Else
    Function=Left$(KeyValue, DataSize-1)
  End If
end function

Das Programm kann allerdings nur lesen und das ist auch gut so.
Kommst du in die yahoo-groups nu rein oder nicht?
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
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 05.05.2006, 17:33    Titel: Antworten mit Zitat

Zum Speichern:
MonsterFAQ

@ytwinky
Zitat:
Ich rate dir erst in die Registry zu schreiben, wenn du genau
verstanden hast, was hier beschrieben wird..

Was soll der Unsinn!?
Lass doch die Registry zu frieden, es geht auch ohne!
Solche Daten sollte man allgemein nicht dort ablegen.

Zitat:
Kommst du in die yahoo-groups nu rein oder nicht?

Was soll der Verweiss auf die Yahoo Groups?
Da steht ja nichts dazu?!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 05.05.2006, 17:50    Titel: Antworten mit Zitat

Was du brauchst sind ein paar Befehle zur Dateimanipulation.
Als da wären:
OPEN, PRINT #, WRITE #, INPUT #, INPUT (Dateimodus), LINE INPUT, CLOSE

Hier kannst du dich direkt zu den Befehlen informieren:

www.freebasic.de/r.php?s=OPEN#1
www.freebasic.de/r.php?s=PRINT#3
www.freebasic.de/r.php?s=WRITE#1
www.freebasic.de/r.php?s=INPUT#1
www.freebasic.de/r.php?s=INPUT#2
www.freebasic.de/r.php?s=INPUT#5
www.freebasic.de/r.php?s=CLOSE

PS@all: Schaut euch mal den Link in der Sig an - lohnt sich, glaube ich zwinkern
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 05.05.2006, 17:52    Titel: Antworten mit Zitat

@Michael Frey:
Was meckerst du mich an?
Ich lese nur aus der Registry..
Und wenn Mark wissen will, wo wir programmieren gelernt haben,
darf ich doch wohl darauf verweisen, wo ich das schon mal geschrieben habe.
[Edit]
Oh sorry, Mark wollte das mit der Registry gar nicht wissen..
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..

Zuletzt bearbeitet von ytwinky am 05.05.2006, 17:57, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 05.05.2006, 17:57    Titel: Antworten mit Zitat

@ytwinky
Ich verstehe nicht, was die Registery mit Mark's Frage(n) zu tun hat.
Das wegen der Yahoo Group: Das hab ich wohl falsch verstanden, sorry.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 05.05.2006, 17:59    Titel: Antworten mit Zitat

Tut mir Leid, ytwinky, aber in diesem Fall würde auch ich von der Reg abraten. Mag sein, dass das ganz praktisch ist, weil man keine Dateien verwalten muss, aber in diesem Fall ist da was anderes, das die Datei-Methode für mich als bessere Alternative kennzeichnet:

Mark hat Folgendes geschrieben:
also ich bin anfänger und...

Sicher, wer einmal kapiert hat, wie man mit dem ganzen API-Wust umgehen muss, wird es für einfach befinden, aber bis dahin ist erst mal ein Weg...

Nichts für ungut...
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 05.05.2006, 18:03    Titel: Antworten mit Zitat

Ich hab doch schon gesagt, daß ich mich 'verpostet' habe..
(War eigentlich für oldirty gedacht)
Soll ich die Registry-Geschichte jetzt hier rausnehmen?
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
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 05.05.2006, 18:13    Titel: Antworten mit Zitat

Oh, hab das EDIT noch nicht gelesen.

Ich denke mal, es schadet nicht, wenn das hier steht. Aber sprich dich da am besten mit der moderation ab.
Oder hast du vor den Code nochmal zu posten? Wenn er an anderer Stelle nochmal steht, sollte er schon raus, denke ich.
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 05.05.2006, 19:42    Titel: Antworten mit Zitat

Nee, nee,
ich habe im anderen Thread schon auf diesen hier verwiesen, denn
ich wollte diesen Beitrag nicht so einfach löschen(soll ja Konsequenzen haben sowas lachen )
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
Mark



Anmeldungsdatum: 02.05.2006
Beiträge: 37

BeitragVerfasst am: 06.05.2006, 00:13    Titel: Antworten mit Zitat

hei danke lächeln
ich werde bald anfangen zu proggen .
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mark



Anmeldungsdatum: 02.05.2006
Beiträge: 37

BeitragVerfasst am: 06.05.2006, 16:51    Titel: Antworten mit Zitat

hey noch ne frage :
zu dem if zeugs ,
also ich will folgendes erreichen z.B. :

falls die datei c:/test.dat existiert dann ....

habs mal mit :
if file "c:/test.dat exist then ....

probiert . ging aber natürlich net .
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 06.05.2006, 17:03    Titel: Antworten mit Zitat

forensuche....
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 06.05.2006, 17:18    Titel: Antworten mit Zitat

MisterD hat Folgendes geschrieben:
forensuche....
MisterD hat Recht..
..aber ytwinky.freebasic.de hat eine Lösung zwinkern
Exist.Bas(steht unter Sources)
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
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

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

ytwinky solche funktionen gehören in eine .bi und nicht als ganzes programm ausgeliefert zwinkern
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mark



Anmeldungsdatum: 02.05.2006
Beiträge: 37

BeitragVerfasst am: 06.05.2006, 18:04    Titel: Antworten mit Zitat

jop dann muss ich wohl mal suchen . (das exist.bas hab ich net verstanden.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mark



Anmeldungsdatum: 02.05.2006
Beiträge: 37

BeitragVerfasst am: 07.05.2006, 01:03    Titel: Antworten mit Zitat

hei könnt ihr mir bitte helfen damit ? alles was ich im forum finde bringt mich nicht weiter mit dem Kopf durch die Mauer wollen .
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 07.05.2006, 02:04    Titel: Antworten mit Zitat

benutz doch einfach ytwinkys code?
http://ytwinky.freebasic.de/freebasic/bas.php?file=exist den da meinte er in seinem beitrag nur aus irgendeinem grund verlinkt er nie direkt happy
kopier einfach die funktionen und dann kannst du mit if fileexists("bla.txt") then ... arbeiten
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
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
Gehe zu Seite 1, 2  Weiter
Seite 1 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