This software was written for a medical dispensary to display menus on large screen televisions. The idea is the store would change a text file and the signage would automatically update. Source code is below:
' Program developed by Jason Page of Page Telegram May of 2022
' V1.00 is not fault tolerant: text file needs consistently 5 columns and
' the last line EOF must not be an empty carraige return.
' This software is not yet ready for release for production, yet until
' Fault torelant measures are made.
' This software is released privately and folks are welcome to improve
' Upon it. If you have such interest you may contact me:
' jsp@pagetelegram.com
' MenuGram copyright Jason Page 2022
' This software is developed for easily updatable text based menu display
' and can be implimented in different merchant environments.
' Press "F" to toggle full screen and +/- for incrementing rotation in
' seconds. This software is designed to be compiled in qb64 compiler.
' See qb64.net for details or google for it.
Dim Shared a$(255), b$(255), c$(255), d$(255), e$(255)
declare sub menu(tis) as dynamic
declare sub disp(tis) as dynamic
_Title "MenuGram V1.00 by Page Telegram, May 2022"
Timer On
f = 0
tis = 5
Call menu(tis)
five:
p = p + 1
Cls
Color 15, 2
Cls
Locate 1, 1
Print " MENU AS OF: "; Date$; " "; Time$; " sec:"; tis
Color 12, 1
tmp$ = " \ \ \ \ \ \ \ \ \ \ "
Print Using tmp$; a$(0); b$(0); c$(0); d$(0); e$(0)
Color 15, 0
Timer Stop
Timer On
Return
Sub menu (tis)
Do
1:
If f = 1 Then
_FullScreen
Else
_FullScreen Off
End If
p = 1
c = 0: i = 0
Cls
If _FileExists("menugram.txt") Then
Open "menugram.txt" For Input As #1
Do
If Not (EOF(1)) Then
Input #1, a$(c), b$(c), c$(c), d$(c), e$(c)
c = c + 1
End If
Loop Until EOF(1)
Close #1
Call disp(tis)
Color 12, 1
tmp$ = " \ \ \ \ \ \ \ \ \ \ "
Print Using tmp$; a$(0); b$(0); c$(0); d$(0); e$(0)
For i = 1 To c
If i Mod 2 = 1 Then
Color 0, 15
Else
Color 15, 0
End If
tmp$ = "## \ \ \ \ \ \ \ \ \ \ "
Print Using tmp$; i; a$(i); b$(i); c$(i); d$(i); e$(i)
If i Mod 17 = 0 Then
Select Case tis
Case 1: On Timer(1) GoSub five
Case 2: On Timer(2) GoSub five
Case 3: On Timer(3) GoSub five
Case 4: On Timer(4) GoSub five
Case 5: On Timer(5) GoSub five
Case 6: On Timer(6) GoSub five
Case 7: On Timer(7) GoSub five
Case 8: On Timer(8) GoSub five
Case 9: On Timer(9) GoSub five
Case 10: On Timer(10) GoSub five
Case 11: On Timer(11) GoSub five
Case 12: On Timer(12) GoSub five
Case 13: On Timer(13) GoSub five
Case 14: On Timer(14) GoSub five
Case 15: On Timer(15) GoSub five
Case 16: On Timer(16) GoSub five
Case 17: On Timer(17) GoSub five
Case 18: On Timer(18) GoSub five
Case 19: On Timer(19) GoSub five
Case 20: On Timer(20) GoSub five
End Select
Sleep
End If
Select Case LCase$(InKey$)
Case Chr$(27): System
Case "f": If f = 0 Then f = 1 Else f = 0: GoTo 1
Case "-", "_":
If tis > 1 Then
tis = tis - 1
GoTo 1
Else
Beep
End If
Case "+", "=":
If tis < 20 Then
tis = tis + 1
GoTo 1
Else
Beep
End If
End Select
Next i
Else
Print "Creating file 'menugram.txt' as did not already exist. Please open this file in a text editor such as notepad with 5 columns seperated by a comma."
Print "Hit any key..."
Sleep
Open "menugram.txt" For Output As #2
Print #2, "Type, Brand, Name/Description, Weight, Price"
Print "File created. Please open 'menugram.txt' and add essential display items. Program restarts in 10 seconds."
Print "[ESC]ape to exit or toggle full screen mode using [F] key..."
Sleep 10
Close #2
End If
Loop
End Sub
Sub disp (tis)
Color 15, 2
Cls
Locate 1, 1
Print " MENU AS OF: "; Date$; " "; Time$; " sec:"; tis
Color 12, 1
End Sub