|
Post by Marco Kurvers on Nov 30, 2023 22:53:31 GMT
Are you interested in how to use data in Liberty BASIC? Here I have some examples that you can use.
|
|
|
Post by Marco Kurvers on Nov 30, 2023 22:58:25 GMT
See here my first example. A program that shows you how to move a list and a table using the arrow keys. I use my SetTuple() function to extract rows from strings and display them as columns.
Note that I have comment the deel$() array and the HaalUit subroutine. That's code from an earlier version. This new version can self scroll in the arrays without to get a piece of the arrays.
dim lijst$(40) dim table$(40) 'dim deel$(10) dim tuple$(1) global boven, onder, Getal, keuze
boven = 0 onder = 9 WindowWidth = 1600 WindowHeight = 800 textbox #w.txtGetal, 10, 20, 100, 35 button #w.btnStart, "Start lijst", btnStart, UL, 200, 20, 250, 45 button #w.btnStartTable, "Start tabel", btnStartTable, UL, 460, 20, 250, 45 open "Lijst scrollen" for graphics as #w #w "trapclose Quit" #w "down" #w "font arial 16" #w "fill lightgray" #w "when characterInput Key" wait
sub Quit handle$ close #w end end sub
sub btnStart handle$ keuze = 1 call VulArrayLijst call SchrijfLijst end sub
sub VulArrayLijst #w.txtGetal "!contents? Getal" for i = 0 to 40 n = int(rnd(0) * i) lijst$(i) = "Getal"; i; " * "; n; " = "; Getal * n next i 'call HaalUit end sub
sub btnStartTable handle$ keuze = 2 call VulArrayTabel call SchrijfTabel end sub
sub VulArrayTabel restore for i = 0 to 40 read s$ table$(i) = ""; i + 1; ", "; s$ next i data "dinsdag 5 december, 13:00 uur, Sinterklaas" data "donderdag 7 december, 11:35 uur, Tandarts" data "zondag 31 december, 16:00 uur, Oliebollen en appelflappen bakken" data "woendag 3 januari, 11:00 uur, Nieuwjaarsborrel" data "donderdag 4 januari, 19:00 uur, Naar mijn tante" data "dinsdag 5 december, 13:00 uur, Sinterklaas" data "donderdag 7 december, 11:35 uur, Tandarts" data "zondag 31 december, 16:00 uur, Oliebollen en appelflappen bakken" data "woendag 3 januari, 11:00 uur, Nieuwjaarsborrel" data "donderdag 4 januari, 19:00 uur, Naar mijn tante" data "dinsdag 5 december, 13:00 uur, Sinterklaas" data "donderdag 7 december, 11:35 uur, Tandarts" data "zondag 31 december, 16:00 uur, Oliebollen en appelflappen bakken" data "woendag 3 januari, 11:00 uur, Nieuwjaarsborrel" data "donderdag 4 januari, 19:00 uur, Naar mijn tante" data "dinsdag 5 december, 13:00 uur, Sinterklaas" data "donderdag 7 december, 11:35 uur, Tandarts" data "zondag 31 december, 16:00 uur, Oliebollen en appelflappen bakken" data "woendag 3 januari, 11:00 uur, Nieuwjaarsborrel" data "donderdag 4 januari, 19:00 uur, Naar mijn tante" data "dinsdag 5 december, 13:00 uur, Sinterklaas" data "donderdag 7 december, 11:35 uur, Tandarts" data "zondag 31 december, 16:00 uur, Oliebollen en appelflappen bakken" data "woendag 3 januari, 11:00 uur, Nieuwjaarsborrel" data "donderdag 4 januari, 19:00 uur, Naar mijn tante" data "dinsdag 5 december, 13:00 uur, Sinterklaas" data "donderdag 7 december, 11:35 uur, Tandarts" data "zondag 31 december, 16:00 uur, Oliebollen en appelflappen bakken" data "woendag 3 januari, 11:00 uur, Nieuwjaarsborrel" data "donderdag 4 januari, 19:00 uur, Naar mijn tante" data "dinsdag 5 december, 13:00 uur, Sinterklaas" data "donderdag 7 december, 11:35 uur, Tandarts" data "zondag 31 december, 16:00 uur, Oliebollen en appelflappen bakken" data "woendag 3 januari, 11:00 uur, Nieuwjaarsborrel" data "donderdag 4 januari, 19:00 uur, Naar mijn tante" data "dinsdag 5 december, 13:00 uur, Sinterklaas" data "donderdag 7 december, 11:35 uur, Tandarts" data "zondag 31 december, 16:00 uur, Oliebollen en appelflappen bakken" data "woendag 3 januari, 11:00 uur, Nieuwjaarsborrel" data "donderdag 4 januari, 19:00 uur, Naar mijn tante" data "vrijdag 15 februari, 8:00 uur, Op vakantie Duitsland" end sub
'sub HaalUit ' j = 0 ' for i = boven to onder ' deel$(j) = lijst$(i) ' j = j + 1 ' next i 'end sub
sub SchrijfLijst #w "fill lightgray" #w "backcolor lightgray" #w "place 30 100" 'for i = 0 to 9 '#w "|"; deel$(i); chr$(13) for i = boven to onder #w "|"; lijst$(i); chr$(13) next i end sub
sub SchrijfTabel length = SetTuple("Id, Afspraakdatum, Tijd, Omschrijving") #w "color darkblue" #w "fill lightgray" #w "backcolor lightgray" #w "place 30 100" for i = 0 to length - 1 #w "place "; 30 + i * 300; " 100" #w "|"; tuple$(i + 1) next i '#w "|"; chr$(13) #w "color black" for j = boven to onder length = SetTuple(table$(j)) #w "posxy x y" for i = 0 to length - 1 #w "place "; 30 + i * 300; " "; y #w "|"; tuple$(i + 1) next i '#w "|"; chr$(13) next j end sub
sub ClearView '#w "place end sub
sub Key handle$, char$ if len(char$) > 1 then toets$ = right$(char$, 1) select case asc(toets$) case _VK_UP boven = boven - 1 if boven < 0 then boven = 0 else onder = onder - 1 end if 'call HaalUit if keuze = 1 then call SchrijfLijst else call SchrijfTabel end if case _VK_DOWN onder = onder + 1 if onder > 40 then onder = 40 else boven = boven + 1 end if 'call HaalUit if keuze = 1 then call SchrijfLijst else call SchrijfTabel end if end select end if end sub
function SetTuple(tuple$) n$ = "" i = 1 do n$ = word$(tuple$, i, ",") i = i + 1 loop until n$ = "" redim tuple$(i - 1) n$ = "" i = 1 n$ = word$(tuple$, i, ",") do while n$ <> "" if n$ <> "" then tuple$(i) = n$ i = i + 1 end if n$ = word$(tuple$, i, ",") loop SetTuple = i - 1 end function
|
|