Echte beginners voorbeelden

Cursussen, tutorials
Plaats hier uw bijdrage.

Echte beginners voorbeelden

Berichtdoor anthonio » wo aug 20, 2008 7:16 pm

Hoi,

Aangezien er de laatste tijd veel vraag is van beginnende programmeurs om kleine voorbeelden te geven,
wel bij deze gaan we hiermee beginnen.
Mag ik aanraden om de codes ZELF te schrijven in LB en NIET te kopieren, op deze manier leer je het meest.

Code: Selecteer alles
print "hello"


en typ daarna

Code: Selecteer alles
nomainwin
print "hello


Het verschil:
De eerste code schrijft (print) het woord hello in het hoofdscherm (mainwindow) van LB.
In het tweede voorbeeld schakelen we het hoofdscherm uit.
De print word geschreven maar je kan deze niet zien aangezien het hoofdscherm is uitgeschakeld.
Probeer maar uit.

Code: Selecteer alles
notice "hello"


Code: Selecteer alles
nomainwin
notice "hello"


Code: Selecteer alles
nomainwin
notice "Voorbeeld" + chr$(13) + "hello"


Deze keer krijg je een notitie.
In het laatste voorbeeld geven het venster een naam, start de laatste code en kijk naar de titel van het notitie venster, deze heeft als tekst "Voorbeeld".
De chr$(13) is een ASCI-code en deze wil zeggen "enter".

Een venster openen:

Code: Selecteer alles
nomainwin

open "Test" for window as #main


en daarna deze

Code: Selecteer alles
nomainwin

open "Test" for window as #main
wait


In dit voorbeeld "openen" we een venster (window) genaamd "test" en geven hieraan de naam #main.
De "wait" commando zorgt ervoor dat LB stopt waardoor LB zichzelf niet afsluit en hierdoor kunnen wij dus ons test scherm zien.

De grootte van je scherm:

Code: Selecteer alles
nomainwin

WindowWidth = 100
WindowHeight = 100

open "Test" for window as #main
wait


En daarna

Code: Selecteer alles
nomainwin

WindowWidth = 300
WindowHeight = 300

open "Test" for window as #main
wait


WindowWidth = de breedte van je venster in pixels
WindowHeight = de hoogte van je venster in pixels

Het scherm ergens plaatsen.

Code: Selecteer alles
nomainwin

WindowWidth = 100
WindowHeight = 100

UpperLeftX = 10
UpperLeftY = 10

open "Test" for window as #main
wait


En daarna

Code: Selecteer alles
nomainwin

WindowWidth = 100
WindowHeight = 100

UpperLeftX = 100
UpperLeftY = 100

open "Test" for window as #main
wait


En daarna

Code: Selecteer alles
nomainwin

WindowWidth = 100
WindowHeight = 100

Upperleftx = 10
Upperlefty = 10

open "Test" for window as #main
wait


UpperLeftX = de positie van je venster gezien van het links bovenste van je scherm over de horizontale-as
UpperLeftY = de positie van je venster gezien van het links bovenste van je scherm over de verticale-as
LET OP: deze commando is HOOFDLETTER gevoelig.

Voila voor zover de les voor vandaag :D
Morgen gaan we verder.
Bekijk alles eens rustig en heb je vragen, stel ze hier maar gerust.

Andy
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Echte beginners voorbeelden

Berichtdoor anthonio » do aug 21, 2008 6:07 pm

Oke dan,

laten we verder gaan waar we gisteren gestopt zijn.

Een knop toevoegen

Code: Selecteer alles
nomainwin

WindowWidth = 100
WindowHeight = 100

button #main, "Tekst", [Tekst], UL, 10, 10
open "Test" for window as #main
wait


en dan

Code: Selecteer alles
nomainwin

WindowWidth = 100
WindowHeight = 100

button #main, "Tekst", [Tekst], UR, 10, 10
open "Test" for window as #main
wait


De "UL" of "UR" staat voor upper left (=links boven) of upper right (=rechts boven)
Je kan ook nog LL or LR gebruiken, deze staan voor Lower Left (=links onder) of Lower Right (=rechts onder).

Nu als je op de knop duwt krijg je een foutmelding.
Aangezien we niet hebben gezegd wat er moet gebeuren als je op de knop duwt geeft LB een foutmelding.

Een actie aan de knop toevoegen.

Code: Selecteer alles
nomainwin

WindowWidth = 100
WindowHeight = 100

button #main, "Tekst", [Tekst], UL, 10, 10
open "Test" for window as #main
wait

[Tekst]
notice "U hebt op de knop geduwd"


En daarna deze

Code: Selecteer alles
nomainwin

WindowWidth = 100
WindowHeight = 100

button #main, "Tekst", [Tekst], UL, 10, 10
open "Test" for window as #main
wait

[Tekst]
notice "U hebt op de knop geduwd"
wait


We hebben nu dus een actie gekoppeld aan de knop.
In het eerste voorbeeld hebben we geen "wait" commando gebruikt, in het tweede wel.
In het eerste krijgen we een foutmelding omdat LB niet weet wat hij moet doen na de notitie-tekst geprint te hebben.

Een ja/nee vraag.

Code: Selecteer alles
nomainwin

WindowWidth = 100
WindowHeight = 100

button #main, "Tekst", [Tekst], UL, 10, 10
open "Test" for window as #main
wait

[Tekst]
confirm "Hebt u op de knop geduwd?"; antwoord$
  if antwoord$ = "no" then
    notice "U hebt nee geantwoord"
  else
    notice "U hebt ja geantwoord"
  end if
wait


De confirm-commando geeft een ja/nee vraag.
Via de if/then commando kunnen we achterhalen of je ja/nee geduwd hebt en daarop inspelen.
confirm "je vraag"; string$
de string$ bewaard je antwoord, ja of nee dus.
de if /then gaat als volgt:
if "vraag" then
"iets doen"
end if
if "vraag then
"iets doen"
then
"iets anders doen"
end if

Bekijk alles rustig, experimenteer er eens mee en heb je vragen, stel ze gerust.
Morgen gaan we verder.

Andy
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Echte beginners voorbeelden

Berichtdoor Abcott » za aug 23, 2008 6:27 pm

Code: Selecteer alles
CONFIRM "Kies Ja of Nee knop"; antw$
print antw$


antw$ blijkt alleen "yes" of "no" te zijn, afhankelijk van welke knop u kiest.


IF antw$ = "yes" THEN
' doe iets positiefs
ELSE
' doe iets negatiefs
END IF

De stelling (bewering) tussen de eerste IF en de THEN wordt door BASIC geëvalueerd.
Dat wil zeggen dat LB na gaat of de bewering waar (true) of onwaar (false) is.

Abcott
Avatar gebruiker
Abcott
 
Berichten: 115
Geregistreerd: wo mei 25, 2005 9:58 pm

Re: Echte beginners voorbeelden

Berichtdoor anthonio » zo aug 24, 2008 2:56 am

Herleesde dit even.
Misschien had ik het nogal wat onduidelijk uitgelegd.
Merci abcott om dit even te verduidelijken.

Andy
Dual boot: Ubuntu 8.04 - WIndows XP SP2 (via VMware) - Windows Vista 32bit - Toshiba L40 - Dual Core @ 1,76GHz - 1GB RAM - 120GB HDD - VDSL Connection
Avatar gebruiker
anthonio
 
Berichten: 281
Geregistreerd: zo mei 20, 2007 9:58 pm

Re: Echte beginners voorbeelden

Berichtdoor bluatigro » do nov 12, 2009 11:47 am

bij programmeren heb je 4 verschillende strukturen :
1 - opeenvolging
2 - lussen
3 - keuzes
4 - recursie

voorbeelden :

1- opeenvolging
Code: Selecteer alles
input " a = " ; a$
input " b = " ; b$
print " a + b = " ; val( a$ ) + val( b$ )
'probeer ook * - / eens

2 - lussen
Code: Selecteer alles
' er zijn verschillede lussen mogelijk
' die in 2 catogorieen vallen
' for-next en while-wend
for i = 1 to 10
  print i
next i
a$ = ""
while a$ <> "x" and a$ <> "X"
  input "type x to end " ; a$
wend
print a$

3 - keuzes
Code: Selecteer alles
' er zijn 2 catogorieen bij keuzes
' if then else
' select case
input " Ja / Nee = " ; jn$
if left$( jn$ , 1 ) = "J" or left$( jn$ , 1 ) = "j" then
  print "je antwoort was ja ."
else
  print "je anwoort was GEEN ja ."
end if
input "welke richting ? ; a$
select case a$
  case VK_UP
    print "1 omhoog"
  case VK_DOWN
    print "1 omlaag"
  case VK_LEFT
    print "1 linx"
  case VK_RIGHT
    print "1 rechts"
  case chr$( 32 ) 'spacebar
    print "vuur"
  case else
    'doe niets
end select

4 - recursie
WAARSCHUWING : hieraan pas beginnen als 1,2,3 begrepen hebt
Code: Selecteer alles
' recursie kan alleen met n functie of n sub
function facultijd( x )
  ' zorg ALTIJD voor n keuze zoals de volgende
  if x < 0 or x > 63 then
    ' onderschep ALLE fouten
    print "ILLEGAL QUANTETY ERROR !!!!"
  else if x = 1
    ' zorg ALTIJD voor n einde van de recursie
    facultijd = 1
  else
   ' verander ALTIJD de input en stuur door
    facultijd = facultijd( x - 1 ) * x
  end if
end function

deze laatste constructie is oa bruikbaar voor fractels
bluatigro
 
Berichten: 306
Geregistreerd: za sep 27, 2008 6:01 pm

Re: Echte beginners voorbeelden

Berichtdoor bluatigro » wo maart 02, 2011 1:12 pm

tijd voor strutuur no 5 events :

eerst een leeg fulscreen window
Code: Selecteer alles
WindowWidth = DisplayWidth
WindowHeight = DisplayHeight
''1 window
nomainwin
''maak een window voor tekeningen met handle #m
open "empty window" for graphics as #m
  ''als de gebruiker op de X drukt ga naar [quit]
  #m "trapclose [quit]"
wait
[quit]
  ''sluit window met handle #m
  close #m
''game over
end

als dat werkt dan verander en voeg toe :
Code: Selecteer alles
open "empty window" for graphics as #m
  ''als de gebruiker op de X drukt ga naar [quit]
  #m "trapclose [quit]"
  ''spring elke 100ms = 10frames/sec naar [tmr]
  timer 100 , [tmr]
wait
[tmr]
  ''beweeg pen naar 100 100
  #m "goto 100 100"
  ''set font
  #m "font Courier_new 40 bold"
  ''print systemtime + date op window
  #m "\time = " ; time$ ; "     date = " ; date$
wait

er is ook n 6de strutuur : spagetie
WAARSCHUWING : GEBRUIK DIE ZO MIN MOGELIJK
bluatigro
 
Berichten: 306
Geregistreerd: za sep 27, 2008 6:01 pm


Keer terug naar Leren programmeren met Liberty BASIC

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron