 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Mark
Anmeldungsdatum: 02.05.2006 Beiträge: 37
|
Verfasst am: 05.05.2006, 15:24 Titel: mehrere fragen |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
|
Nach oben |
|
 |
Mark
Anmeldungsdatum: 02.05.2006 Beiträge: 37
|
Verfasst am: 05.05.2006, 16:50 Titel: |
|
|
sollte das ne antwort auf die frage wo ihr das proggen gelernt habt ?
das war nur ne nebenfrage . mir ings eigentlich mehr ums prog  |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 05.05.2006, 17:21 Titel: |
|
|
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 |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 05.05.2006, 17:33 Titel: |
|
|
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 |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 05.05.2006, 17:50 Titel: |
|
|
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  _________________ 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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 05.05.2006, 17:52 Titel: |
|
|
@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 |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 05.05.2006, 17:57 Titel: |
|
|
@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 |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 05.05.2006, 17:59 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 05.05.2006, 18:03 Titel: |
|
|
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 |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 05.05.2006, 18:13 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 05.05.2006, 19:42 Titel: |
|
|
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 )
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 |
|
 |
Mark
Anmeldungsdatum: 02.05.2006 Beiträge: 37
|
Verfasst am: 06.05.2006, 00:13 Titel: |
|
|
hei danke
ich werde bald anfangen zu proggen . |
|
Nach oben |
|
 |
Mark
Anmeldungsdatum: 02.05.2006 Beiträge: 37
|
Verfasst am: 06.05.2006, 16:51 Titel: |
|
|
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 |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 06.05.2006, 17:03 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 06.05.2006, 17:18 Titel: |
|
|
MisterD hat Folgendes geschrieben: | forensuche.... | MisterD hat Recht..
..aber ytwinky.freebasic.de hat eine Lösung
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 |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 06.05.2006, 17:29 Titel: |
|
|
ytwinky solche funktionen gehören in eine .bi und nicht als ganzes programm ausgeliefert  _________________ "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 |
|
 |
Mark
Anmeldungsdatum: 02.05.2006 Beiträge: 37
|
Verfasst am: 06.05.2006, 18:04 Titel: |
|
|
jop dann muss ich wohl mal suchen . (das exist.bas hab ich net verstanden.) |
|
Nach oben |
|
 |
Mark
Anmeldungsdatum: 02.05.2006 Beiträge: 37
|
Verfasst am: 07.05.2006, 01:03 Titel: |
|
|
hei könnt ihr mir bitte helfen damit ? alles was ich im forum finde bringt mich nicht weiter . |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 07.05.2006, 02:04 Titel: |
|
|
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
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 |
|
 |
|
|
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.
|
|