Small basic ulaz datoteke

poruka: 5
|
čitano: 1.807
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
13 godina
neaktivan
offline
Small basic ulaz datoteke

Nedavno sam počeo raditi igricu u Microsoft Small Basicu i naišao sam na jedan problem.

Programski kod:

' Ovo je uvodni meni

TextWindow.WriteLine("------------------")
TextWindow.WriteLine("Moja prva igra")
TextWindow.WriteLine("------------------")

TextWindow.WriteLine("1) Nova igra")
TextWindow.WriteLine("2) Pravila")
TextWindow.WriteLine("3) Izlaz")
TextWindow.WriteLine("-------------------")

uvodni_meni = TextWindow.ReadNumber()

If uvodni_meni = "1" Then
TextWindow.Clear()
  File.ReadContents("C:\Users\JOSIP\Desktop\Dokumenti\Igra\Odabir igrača.sb")
EndIf

If uvodni_meni = "2" Then
TextWindow.Clear()
  File.ReadContents("C:\Users\JOSIP\Desktop\Dokumenti\Igra\Pravila.sb")
EndIf

If uvodni_meni = "3" Then
Program.End()
EndIf

 

Ako upišem 3 radi mi, ali ako upišem 1 ili 2 napiše mi samo Press any key to continue, a  Odabir igrača.sb i  Pravila.sb postoje.

U čem sam pogriješio i sa kojom operacijom trebam zamijeniti ReadContents() da mi se učita Pravila.sb program.

Unaprijed hvala.

Moj PC  
0 0 hvala 0
17 godina
offline
Re: Small basic ulaz datoteke

AJd da probam...

procitao si datoteku, ali nisi nigdje rekao gdje da ti ispise taj sadrzaj.

 

Mozda ovako:

 

If uvodni_meni = "1" Then

 TextWindow.Clear()

 sadrzajdatoteke = File.ReadContents("C:\Users\JOSIP\Desktop\Dokumenti\Igra\Odabir igrača.sb")

 TextWindow.Write(sadrzajdatoteke)

EndIf

Probaj umjesto write(sadrzajdatoteka) koristiti writeline(sadrzajdatoteke).


Procitaj:

http://blogs.msdn.com/b/smallbasic/archive/2014/02/09/the-developer-s-reference-guide-to-small-basic-the-first-5-chapters.aspx

http://social.technet.microsoft.com/wiki/contents/articles/16390.the-developers-reference-guide-to-small-basic-chapter-4-textwindow-object.aspx

Linux, Arch Linux. Dvorak keyboard layout.
Poruka je uređivana zadnji put sub 15.3.2014 12:46 (Ante).
13 godina
neaktivan
offline
Re: Small basic ulaz datoteke
Ante kaže...

AJd da probam...

procitao si datoteku, ali nisi nigdje rekao gdje da ti ispise taj sadrzaj.

 

Mozda ovako:

 

If uvodni_meni = "1" Then

  TextWindow.Clear()

  sadrzajdatoteke = File.ReadContents("C:\Users\JOSIP\Desktop\Dokumenti\Igra\Odabir igrača.sb")

  TextWindow.Write(sadrzajdatoteke)

EndIf

Probaj umjesto write(sadrzajdatoteka) koristiti writeline(sadrzajdatoteke).


Procitaj:

http://blogs.msdn.com/b/smallbasic/archive/2014/02/09/the-developer-s-reference-guide-to-small-basic-the-first-5-chapters.aspx

http://social.technet.microsoft.com/wiki/contents/articles/16390.the-developers-reference-guide-to-small-basic-chapter-4-textwindow-object.aspx

  Sada mi ispiše programski kod, a ne izvršava program.

15 godina
neaktivan
offline
Re: Small basic ulaz datoteke

Ti to pokušavaš program rascjepkati na više source datoteka? Mislim da ti small basic ne podržava takvu organizaciju i sve ti treba biti u jednoj source datoteci. No nisam siguran...

To understand what recursion is, you must first understand recursion.
13 godina
neaktivan
offline
Small basic ulaz datoteke

Kako ti je već rečeno to uopće nemožeš preko Small Basica! Prvo pogledaj što radi File.ReadContents(...), nemožeš tako!

Rekao sam da nemožeš? A ja to radim, u http://jkelava6projects.wordpress.com/small-dock/ !

Samo sigurno ne koristim File.ReadContents(...), nego SPProcess.Start(...), za što ti očigledno treba SayPlus ekstenzija.

Vjerojatno može i neka druga ekstenzija, ali SayPlus je po meni odličan.

 

Kako god bilo, to ja nebi ni slučajno tako. Postaviš varijablu mode = 1 na početku programa, i imaš while petlju while mode > 0, a u njoj za svaki meni / igru staviš

If mode = broj_menija_ili_igre Then

  naredbe inicijalizaije ' najčešće gr.clear(), pa gumbi, ili crtanje :D

  While mode = broj_...

   Program.Delay(10) ' tu se mogu ubaciti još neke stvari ( provjere, updatei, ako se radi o igri )
  EndWhile

  naredbe završetka ' ako je potrbno

EndIf 

Jasno, onaj vanjski while mode > 0 se može riješiti i s goto, na par načina.


Vidi više:
Ekstenzije
SayPlus 

 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice