oefBB.txt is not needed separate anymore
It's included by DATA statements
' LB Help Search HelpGordon.bas' Author: Gordon Rahman' Date: 29.05.11'' This code is free for personal use.' You may not republish this code in its current form.' You may modify this code for your personal use.' You may publish a modified version of this code under these conditions:' 1. You have made major changes to the code.' 2. You give credit to the original author' This the (almost) final solution.' Look out for next editions?nomainwin' check for valid LB versionifVersion$<>"4.5.0"thennotice"Wrong LB Version!"; chr$(13);_
"This add-on is only valid for LB v4.04!"; chr$(13);_
"Exiting ... (StartupDir$ function missing)"endendif'constants for tabControl:
TCIF.TEXT=1
TCIF.IMAGE =2
TCS.MULTILINE =512
TCM.INSERTITEMA =4871
TCM.GETCURSEL =4875
TCM.SETCURSEL =4876
tabID =1'current tab
oldTab =0'previously selected tabstruct TCITEM,_
mask asulong,_
dwState asulong,_
dwStateMask asulong,_
pszText$ asptr,_
txtMax aslong,_
iImage aslong,_
lParam aslong'constants for SendmessageA
msg1 = _LB_GETSEL
msg2 = _LB_SETTOPINDEX
msg3 = _LB_SETSEL
msg4 = _LB_GETSELCOUNT
global retSendM
dim totalSelItems$(20)'internet$="C:\Program files\Internet Explorer\IEXPLORE.EXE"
helpDir$ =StartupDir$+"\lb4help\LibertyBASIC_4_web\HTML\"'reading in the HTML helpfilesdim info$(10,10)files helpDir$,"*.htm", info$()
numFiles =val(info$(0,0))'print numFiles '(271)dim a$(numFiles,1)dim helpItem$(numFiles), helpItemFile$(numFiles), dispHelpFile$(500)for i =1to numFiles
open helpDir$+info$(i,0)forinputas#f
html$ =input$(#f,LOF(#f))
tagpos1 =instr(html$,"<TITLE>")
tagpos2 =instr(html$,"</TITLE>")
Title$ =mid$(html$,tagpos1+7,(tagpos2-tagpos1-7))
a$(i,0)= Title$
a$(i,1)= info$(i,0)close#f
nextsort a$(),1,numFiles,0for t =1to numFiles
helpItem$(t)= a$(t,0)
helpItemFile$(t)= a$(t,1)next t
'reading in the data from oefBB$()
itemsInOef =0while a$ <>"zzzz"read a$
itemsInOef = itemsInOef +1wenddim oefBB$(itemsInOef)restore
itemsInOef =0:a$ =""while a$ <>"zzzz"read a$
itemsInOef = itemsInOef +1
oefBB$(itemsInOef)= a$
wend'initialize DLL for the TABcalldll#comctl32,"InitCommonControls", ret asvoid'first TAB pageWindowWidth=435:WindowHeight=455UpperLeftX=300:UpperLeftY=200listbox#tab1.listbox1, helpItem$(,[listbox1DoubleClick],20,145,390,225button#tab1.button2,"Display Item",[button2Click], UL,100,377,95,25button#tab1.button3,"Print",[button3Click], UL,210,377,85,25button#tab1.button4,"Cancel",[quit], UL,310,377,95,25statictext#tab1.statictext5,"2. Select Item and press Display button ",20,112,250,20textbox#tab1.textbox6,20,62,390,35statictext#tab1.statictext7,"1. Type first letter of search item",15,37,250,20Stylebits#tab1,0,0, _WS_EX_CLIENTEDGE,0'Stylebits #tab1, _WS_DLGFRAME,0,0,0open""forwindowas#tab1
#tab1.listbox1 "singleclickselect"#tab1.listbox1,"reload"#tab1.button3 "!disable"'second TAB pageStylebits#tab2.default, _BS_DEFPUSHBUTTON,0,0,0Button#tab2.default,"",[DefaultButton], UL,-100,-100'defaultbutton to read textboxtextbox#tab2.textbox6,10,29,263,21stylebits#tab2.sttxt1,_WS_DLGFRAME,0,0,0stylebits#tab2.sttxt2,_WS_DLGFRAME,0,0,0Stylebits#tab2,0,0, _WS_EX_CLIENTEDGE,0Stylebits#tab2.listbox2, _LBS_MULTIPLESEL,0,0,0statictext#tab2.txt0,"1. Typ words you are looking for.. or a space to reveal combobox ",10,10,400,20statictext#tab2.txt1,"2. Do some <Fine Tuning> when needed",10,75,200,20statictext#tab2.txt2,"3. Doubleclick/Singleclick select/de-select and Display Helpfile",10,215,300,20statictext#tab2.sttxt2,"Options: ",220,340,200,30statictext#tab2.sttxt1,"",10,340,200,30combobox#tab2.combobox1, oefBB$(,[combobox1DoubleClick],10,30,280,70listbox#tab2.listbox2, oefBB$(,[listbox2DoubleClick],10, 095,280,100listbox#tab2.listbox3, dispHelpFile$(,[listbox3DoubleClick],10,235,410,100button#tab2.button4," Clear ",[button4Click], UL,300,30,122,25button#tab2.button5," Options... ",[button5Click], UL,300,60,122,25button#tab2.button6,"Fine Tuning ",[button4Click], UL,300,100,122,25button#tab2.button7," Search now ",[button7Click], UL,300,130,121,25button#tab2.button8,"Rebuild dbase ",[button8Click], UL,300,170,121,26button#tab2.button9,"Display Helpfile",[button9Click], UL,10,375,130,25button#tab2.button10,"Print....",[button10Click], UL,155,375,120,25button#tab2.button11," Cancel ",[quit], UL,290,375,130,25open""forwindowas#tab2
#tab2.textbox6 "!setfocus"#tab2.button10 "!disable"'main program window for the TAB pagesWindowWidth=475:WindowHeight=500open"Help-subject: Liberty BASIC for Windows v4.04"forwindowas#1#1"trapclose [quit]"#1"font ms_sans_serif 10"'handles and initial setup of TABs
hwndListbox1 =hwnd(#tab1.listbox1)
hwndListbox2 =hwnd(#tab2.listbox2)
hwndParent =hwnd(#1)'retrieve window handle
hTab1=hwnd(#tab1):hTab2=hwnd(#tab2)dim winTab(2)'hold tab window handles in array
winTab(0)=hTab1:winTab(1)=hTab2
'set popups to be children of main program windowfor i =0to1call SetParent hwndParent,winTab(i)next'move child windows (init)gosub[clear]call MoveWindow hTab1,20,40,430,410' Get window instance handleCallDLL#user32,"GetWindowLongA",_
hwndParent Asulong,_ 'parent window handle
_GWL_HINSTANCE Aslong,_'flag to retrieve instance handle
hInstance Asulong'instance handle' Create control
style = _WS_CHILD or _WS_CLIPSIBLINGS or _WS_VISIBLE _
or TCS.MULTILINE
calldll#user32,"CreateWindowExA",_
0Aslong,_ ' extended style"SysTabControl32"asptr,_ ' class name""asptr,_
style aslong,_ ' style20aslong,_ ' left x16aslong,_ ' top y430aslong,_ ' width430aslong,_ ' height
hwndParent asulong,_ ' parent hWnd0aslong,_
hInstance asulong,_ ' hInstance""asptr,_
hwndTab asulong' tab control handle'set mask and fill struct members:
TCITEM.mask.struct= TCIF.TEXTor TCIF.IMAGE
TCITEM.iImage.struct=-1'no image
TCITEM.pszText$.struct="Index "'add first tab:' call SendM hwndTab,TCM.INSERTITEMA,0,TCITEM 'Doesn't work!!!!!calldll#user32,"SendMessageA",_
hwndTab asulong,_
TCM.INSERTITEMA aslong,_
0aslong,_ 'zero-based, so 0=first tab
TCITEM asstruct,_
ret aslong'add second tab:
TCITEM.pszText$.struct="Search"calldll#user32,"SendMessageA",_
hwndTab asulong,_
TCM.INSERTITEMA aslong,_
1aslong,_ 'zero-based, so 1=second tab
TCITEM asstruct,_
ret aslongcalldll#gdi32,"GetStockObject",_
0aslong, hFont asulong'was _DEFAULT_GUI_FONT'set the font to the control:CallDLL#user32,"SendMessageA",_
hwndTab Asulong,_ 'tab control handle
_WM_SETFONT Aslong,_ 'message
hFont Asulong,_ 'handle of font1Aslong,_ 'repaint flag
ret Aslongtimer400,[checkForTab]calldll#user32,"SetFocus",hwndParent asulong,re asulongwait[quit]timer0close#1:close#tab1:close#tab2 :end'testing which TAB to display[checkForTab]'see if selected tab is the same'as previously selected tab and'change controls if tab has changed'get the current tab IDcalldll#user32,"SendMessageA",_
hwndTab asulong,_ 'tab control handle
TCM.GETCURSEL aslong,_ 'message to get current selection0aslong,0aslong,_ 'always 0's
tabID aslong'returns selected tab IDif tabID <> oldTab then'change page displayed
oldTab = tabID 'for next check of selected tabgosub[clear]call MoveWindow winTab(tabID),20,40,430,410endifif tabID =0then[txtb6]if tabID =1then
kg =0redim dispHelpFile$(500)goto[combb2]endifwait'-----------------TAB1--------------------------------------------[txtb6]#tab1.textbox6 "!setfocus"#tab1.textbox6 "!contents? a$"if a$ =""thenwait
a$ =Upper$(a$)for index =1to numFiles
ifleft$(Upper$(helpItem$(index)),len(a$))= a$ then#tab1.listbox1 "selectindex ";index
call SendM hwndListbox1,msg2,index-1,0'sent index to topexitforendifnextwait[listbox1DoubleClick]#tab1.listbox1 "selection? sel$"#tab1.textbox6 sel$
[button2Click]#tab1.listbox1 "selectionindex? selIndex"#tab1.listbox1 "selection? sel$"#tab1.textbox6 sel$
'run internet$ + " " + DefaultDir$ + "\lb4help\LibertyBASIC_4_web\html\"+helpItemFile$(selIndex)
displayItem$ = helpDir$+helpItemFile$(selIndex)run"rundll32.exe url.dll,FileProtocolHandler "+ displayItem$ 'thanks to Stefanwait'-----------------TAB2-------------------------------------------[combb2]#tab2.textbox6 "!contents? a$"if a$ =""then#tab2.textbox6 "!setfocus":waitfor index =1to itemsInOef
ifleft$(oefBB$(index),len(a$))= a$ then#tab2.listbox2 "selectindex ";index
call SendM hwndListbox2,msg2,index-1,0'sent index to topexitforendifnextwait'---------------Button EVENTS ---------------------[DefaultButton]
sel$ = a$
goto[displayFound]'display found in ... helpfilewait[button7Click]'the <search now> button was clicked
cnt =0:c2 =0for index =1to itemsInOef
call SendM hwndListbox2,msg1,index-1,0'get selected wordsif retSendM =1then
cnt = cnt +1'number of seleted words
totalSelItems$(cnt)= oefBB$(index)'place selected words in arrayendifnext index
for i =1to numFiles
open helpDir$ + helpItemFile$(i)forinputas#file
txt$ =INPUT$(#file,lof(#file))
c2 =0for c1 =1to cnt
ifinstr(txt$,totalSelItems$(c1))>0then c2 = c2 +1next c1
if c2 = cnt then'all selected words in the file
kg = kg +1
dispHelpFile$(kg)="all ";cnt;" words match in file:";helpItem$(i)'sel$?
c2 =0endifclose#file
#tab2.listbox3 "reload"next#tab2.sttxt1 str$(kg)+" objects found"wait[listbox2DoubleClick]'User double clicked on the listbox#tab2.listbox2 "selection? sel$"#tab2.combobox1 "!"[displayFound]for i =1to numFiles
'open helpDir$ + info$(i,0) for input as #fileopen helpDir$ + helpItemFile$(i)forinputas#file
txt$ =INPUT$(#file,lof(#file))ifinstr(txt$,sel$)>0then
kg = kg +1
dispHelpFile$(kg)= sel$ +" found in file:";helpItem$(i)endifclose#file
#tab2.listbox3 "reload"next#tab2.sttxt1 str$(kg)+" objects found"wait[listbox3DoubleClick]'User double clicked on the listbox'rem[button9Click]'User clicked <DisplasyHelpfile>#tab2.listbox3 "selection? sel$"
sel$ =mid$(sel$,instr(sel$,":")+1)'+ " "print sel$
if sel$ =""thennotice"Sorry empty":waitfor t =1to numFiles
if helpItem$(t)= sel$ then
selIndex = t
print helpItemFile$(t)endifnext t
displayItem$ = helpDir$+helpItemFile$(selIndex)run"rundll32.exe url.dll,FileProtocolHandler "+ displayItem$
wait[combobox1DoubleClick]'User selected with combobox#tab2.combobox1 "contents? sel$"print sel$
goto[displayFound]wait[button4Click]'<CLEAR> button was pressed#tab2.combobox1 "!"'clear combobox#tab2.textbox6 ""'clear the textboxcall SendM hwndListbox2,msg3,0,-1'clear all selected words in lb2wait[button5Click]'search optionsWindowWidth=320WindowHeight=410UpperLeftX=int((DisplayWidth-WindowWidth)/2)UpperLeftY=int((DisplayHeight-WindowHeight)/2)groupbox#dlgmain.groupbox2,"Search for words with",10,7,295,130groupbox#dlgmain.groupbox1,"Start searching with",10,212,295,125groupbox#dlgmain.groupbox6,"Display all words that starts with",10,142,295,65button#dlgmain.button3,"OK",[okbutton], UL,10,347,96,25button#dlgmain.button4,"Cancel",[dlg.quit], UL,110,347,96,25button#dlgmain.button5,"File...",[filesbutton], UL,210,347,96,25radiobutton#dlgmain.radiobutton7,"All words in random order",[r7Set],[r7Reset],20,27,176,25radiobutton#dlgmain.radiobutton8,"At least one word found in doc",[r8Set],[r8Reset],20,47,199,25radiobutton#dlgmain.radiobutton9,"All words in exact order",[r9Set],[r9Reset],20,67,162,25checkbox#dlgmain.checkbox10,"Display matching word groups",[checkbox10Set],[checkbox10Reset],60,87,205,25combobox#dlgmain.combobox11, array$(,[combobox11DoubleClick],25,167,260,100radiobutton#dlgmain.radiobutton12,"RadioButton Caption",[r12Set],[r12Reset],20,242,148,25radiobutton#dlgmain.radiobutton13,"RadioButton Caption",[r13Set],[r13Reset],20,262,148,25checkbox#dlgmain.checkbox14,"CheckBox Caption",[checkbox14Set],[checkbox14Reset],70,287,135,25open"Search Options:"for dialog_modal as#dlgmain
print#dlgmain,"font ms_sans_serif 11"print#dlgmain,"trapclose [dlg.quit]"'wait here for input eventwait[checkbox10Set]'Perform action for the groupbox named 'groupbox6''Insert your own code herewait[checkbox10Reset]'Perform action for the groupbox named 'groupbox6''Insert your own code herewait[okbutton]'Perform action for the button named 'button3''Insert your own code herewait'[cancelbutton] 'Perform action for the button named 'button4''Insert your own code here' wait[filesbutton]'Perform action for the button named 'button5''Insert your own code herewait[r7Set]'Perform action for the radiobutton named 'radiobutton7''Insert your own code herewait[r7Reset]'Perform action for the radiobutton named 'radiobutton7''Insert your own code herewait[r8Set]'Perform action for the radiobutton named 'radiobutton8''Insert your own code herewait[r8Reset]'Perform action for the radiobutton named 'radiobutton8''Insert your own code herewait[r9Set]'Perform action for the radiobutton named 'radiobutton9''Insert your own code herewait[r9Reset]'Perform action for the radiobutton named 'radiobutton9''Insert your own code herewait[combobox11DoubleClick]'Perform action for the combobox named 'combobox11''Insert your own code herewait[r12Set]'Perform action for the radiobutton named 'radiobutton12''Insert your own code herewait[r12Reset]'Perform action for the radiobutton named 'radiobutton12''Insert your own code herewait[r13Set]'Perform action for the radiobutton named 'radiobutton13''Insert your own code herewait[r13Reset]'Perform action for the radiobutton named 'radiobutton13''Insert your own code herewait[checkbox14Set]'Perform action for the checkbox named 'checkbox14''Insert your own code herewait[checkbox14Reset]'Perform action for the checkbox named 'checkbox14''Insert your own code herewait[dlg.quit]'End the programclose#dlgmain
wait'[button6Click]' #tab2.combobox1 "!"'wait[button8Click]notice"rebuilding OEF.txt ... again coming soon!"wait[clear]'hide all windowsfor i =0to1'2call MoveWindow winTab(i),3000,3000,450,450nextreturnFunction GetParent(hWnd)calldll#user32,"GetParent",hWnd asulong,_
GetParent asulongEndFunctionSub SetParent hWnd,hWndChild
CallDLL#user32,"SetParent", hWndChild AsuLong,_
hWnd AsuLong, result AsuLong
style = _WS_CHILD or _WS_VISIBLE
CallDLL#user32,"SetWindowLongA",_
hWndChild Asulong, _GWL_STYLE Aslong,_
style AsLong, r AslongEndSubSub MoveWindow hWnd,x,y,w,h
CallDLL#user32,"MoveWindow",hWnd AsuLong,_
x AsLong, y AsLong,w AsLong, h AsLong,_
1Aslong, r AslongEndSubSub SendM handl,msg,Wp,Lp
calldll#user32,"SendMessageA",_
handl asulong,_
msg aslong,_
Wp aslong,_
Lp aslong,_
retSendM aslongEndSubfunction GetFolder$(Path$)
pos =1
GetFolder$ = Path$
while pos >0
pos =instr(Path$,"\", pos)if pos >0then
GetFolder$ =left$(Path$, pos)
pos = pos +1endifwendendfunctionfunction GetModuleFileName$()
nSize = _MAX_PATH +1
lpFilename$ =space$(nSize); CHR$(0)calldll#kernel32,"GetModuleFileNameA",_
hModule asuLong,_
lpFilename$ asptr,_
nSize asuLong,_
result asuLongif result >0then GetModuleFileName$ =trim$(lpFilename$)endfunction'---------------------------------data"#","#comctl32","#comdlg32","#gdi32","#kernel32","#shell32","#user32","#winmm"data"(View Graphics Window Commands)","(View Text Window Commands)","[branchLabel]"data"16-color icons","32-bit"data A,a,"A Simple Example"data ABS,"ABS( n )","absolute value",ACS,"ACS( n )","Add a Mask",addition
data"Additional Commands",address,addsprite,Algebra,Alphanumeric,"AND",animate
data API,"API call","API calls",APIs,APPEND,Application,"Application Programming Interface"data"arc cosine","arc sine","arc tangent",Arithmetic,array,arrays,"Arrays in Loops"data"Arrays with more than two dimensions",ARROW,"ASC( s$ )",ASCII,"ASCII table",ASN
data"ASN( n )",assignment,"Associated File",async,asynch,ATN,"ATN( n )",Attributes
data"Auto Indenting",autoresize
data B,b,backcolor,background,BackgroundColor$,backgroundxy,BAK,BAS,"base 16","BASIC code","BEEP"data Binary,"Binary Access,Binary Files","binary numbers","BINARYBinary Files access",Bit
data bitmap,bitwise,"Bitwise Operations","Block Conditionals",BMP,"BMPBUTTON","BMPBUTTON COMMANDS"data"BMPSAVE",bold,boolean,"Boolean Operators","BOOLEAN TRUTH TABLE",booleans,Boot,Border,box
data boxfilled,Branch,"branch label","Branch Labels",BREAKPOINTS,Bug,"Built-in Dialogs"data"BUTTON","Button commands","by reference","by value",byref,Byte
data C,c,"CALL","callback","Callbacks for API Functions","CALLDLL","Calling APIs and DLLs"data Calls,"CASE","CASE ELSE",Caveats,centersprite,"CHANGING THE BACKGROUND",characterInput
data characters,"CHECKBOX","Checkbox Commands",CHR$,"CHR$( n )",circle,circlefilled
data Class,Click,Clipboard,clock,"Close","CLOSE #h","cls",code,"COLLISION DETECTION",color
data"Color and Size","COLORDIALOG","Colors and the Graphical User Interface"data"columnar printing",columns,"Combobox",ComboboxColor$,comdlg32,Command
data"Command Reference A-C","Command Reference D-F","Command Reference G-K","Command Reference L-M"data"Command Reference N-P","Command Reference R-S","Command Reference T-Z","CommandLine$"data"commands for combobox","commands for listbox","comments","communications ports",compile
data"compile progress",compiler,"Compiler Reporting",compiling,"Computer Program",Concatenation
data conditional,conditions,configuration,"CONFIRM","Confirm on exit",Constants,contents,contents?
data"Control Commands",Controls,"Controls - Menus, Buttons, Etc.","Controls and Events"data copy,COS,"COS( n )",cosine,"Creating a tokenized file","Creating an Application",CROSSHAIR,"CURSOR"data"Customizing the Liberty BASIC Editor",cut,cyclesprite
data D,d,"-D","DATA","Data File",Database,"Date and Time Functions",Date$,"DATE$( )",days,Debug
data DECHEX$,"Dechex$( )",decimal,Default,"Default Button","default printer",DefaultDir$,degrees
data delete,delsegment,"Designate Sprites",Desktop,Dialog,"dialog box","Dialog","Default Button"data"dialog_fs","dialog_modal","dialog_nf","dialog_nf_fs","dialog_nf_modal","dialog_popup","DIM"data"DIM array( )",dimensioned,directory,disable,discard,Disk,"Disk Drive","disk file",DisplayHeightdataDisplayWidth,"DisplayWidth and DisplayHeight",Distribution,divide,division,DLL,DLLs,"DO","DO LOOP"data Document,double,"DOUBLE QUOTE","Double-Click",down,DPI,"Drag (mouse)",drawbmp,"Drawing and Collision Detection"data"Drawing Segments","Drawn Objects","Drawn Text",drawsprites,Drive,Drives$,"DUMP","dynamic link library"data"Dynamic-Link-Libraries","Dynamic-Link-Library"data E,e,"e^n",EDIT,"edit menu",element,ellipse,ellipsefilled,"ELSE",embed,enable,"END","End Function","END IF"data"end of the file","END SELECT","ENTER key","EOF( #h )","Error","Error Log","Error Log Explained"data"Error Messages","Error.log","EVAL","EVAL$",evaluate,"evaluating BASIC code","evaluation statement"data Event,"Event Handlers","Event-Driven Programming","Example Programs","EXE",executable,"executable program"data"Exit","EXIT FOR","Exit Function","exit sub","EXIT WHILE","EXP( n )",Explorer,Expression,extension
data F,f,FaceName,"field","FIELD Statement",file,"File Access","File Copy","File Operations","FILEDIALOG",Filename
data"Filename Extension","files",fill,"Float divide by zero exception","floating point",flush,"Flushing Sprite Graphics"data Focus,Folder,font,"FONTDIALOG","FOR","FOR...NEXT","FOR/NEXT",ForegroundColor$,FreeForm,"function",functions
data"Functions and subroutines","General Protection Faults",G,g,"GET","GET #h, n","getbmp","GETTRIM","GETTRIM #h, n"data Gigabyte,"GLOBAL","Global Variables",Glossary,go,GOLD,"gold license","GOSUB","GOSUB label","goto"data"GOTO label","Graphical User Interface","Graphicbox","GRAPHICBOX COMMANDS",graphics,"graphics_fs"data"graphics_fs_nsb","graphics_nf_nsb","graphics_nsb","GROUPBOX",GUI,"Gui Designer",H,h,handle,"Handle Variables"data"Hard Disk",Hardware,"hardware ports","HBMP( -name- )",hexadecimal,hexdec,"HEXDEC( -value- )",hide
data Highlight,home,horizscrollbar,HOURGLASS,"How Do Sprites Work?","How to make API/DLL calls","How to Specify Fonts"data HWND,"HWND( #handle )",I,i,Icon,"Icon Editor",Identifier,"IF","IF...THEN",Images,indent
data"Informational resources about APIs/DLLs",ini,"INI file",Inkey,Inkey$,"INP( )","INPUT","INPUT Multiple Items"data"Input to Arrays",INPUT$,"INPUT$( #h, n )",INPUTTO$,insert,install,Installing,"Installing Liberty BASIC"data INSTR,"INSTR(a$,b$,n)",INT,"INT( n )",integer,italic,J,j,Joy1button1,Joy1button2,Joy1x,Joy1y,Joy1z,joystick,joysticks
data K,k,"Key Down","Key Up",keyboard,"Keyboard and Joystick","Keyboard input",Keystrokes,"Kill BASIC Apps"data"Kill BASIC Programs","KILL s$",L,l,"Lander.bas",LAYERING,LEFT$,"LEFT$( s$, n )",leftButtonDouble,leftButtonDown
data leftButtonMove,leftButtonUp,"LEN","LEN( s$ )",length,Lesson,"lesson browser","LET var = expr"data"Liberty BASIC","Liberty BASIC Editor","Liberty BASIC Language","LIBERTY.EXE","line","line input",lines
data"Listbox","ListboxColor$","Lite Debug",literal,"literal strings","literal value",Literals,"Load on startup"data"loadbmp",loc,"LOC( #h)","Local Variables","LOCATE","Locating Text","LOF( #h )",LOG,"LOG( n )",logarithm
data"Logical Line Extension",long,"loop",Looping,"Low memory",LOWER$,"LOWER$( s$ )","LPRINT","LPRINTG3_4AL"data M,m,"main window","Main window columns/rows","mainwin","Mainwin Size",MAINWINDOW,"Making API and DLL Calls"data"Manipulating Characters","MAPHANDLE",Mask,MASKS,Mathematics,MAX,"MAX( )","Maximize Button","MB",memory
data"MENU","Menu Bar",MID$,"MID$( )",middleButtonDouble,middleButtonDown,middleButtonMove,middleButtonUp
data MIDI,MIDIPOS,milliseconds,MIN,"MIN( )",MINIMIZE,"Minimize Button","MKDIR( )","mm/dd/yy","mm/dd/yyyy"data"MOD",mode,modified?,Monitor,mouse,mouseMove,MouseX,MouseY,move,multiplication,Multitasking
data"My Computer","NAME a$ AS b$",N,n,"natural log","natural logarithm","Negative numbers","NEXT","NOMAINWIN"datanone,NORMAL,north,NOT,"NOTICE",Notification,"ntport.dll","ntport2.reg",Numbers,"Numbers and Strings"data numeric,"numeric expression","Numeric Expressions","Numeric variables",O,o,"ON ERROR","ON ERROR GOTO"data"ONCOMERROR","open","OPEN COMn: ...open a communications port for reading/writing"data"Operating System",Operations,"OR",Order,origin,origin?,OS,"OS Error 16r582","OUT","OUT port, byte"data"OUTPUT","outside the quotation marks",Overview,"Parallel Port","Passing by Reference"data"Passing strings into API/DLL calls",P,p,paste,Path,"Path and Filenames",PAUSE,"Pauses and Timing",PI,pie,piefilled
data Pixel,place,Platform$,"PLAYMIDI","PLAYWAVE",Pointer,"POPUPMENU",port,"Port I/O","Port I/OPortI/O",position
data posxy,power,preferences,"PRINT","PRINT USING",PrintCollate,PrintCopies,printer,"PRINTERDIALOG",PrinterFont$dataPrinterName$,"process user events","Programming Language","PROMPT",ptr,"PUT","PUT #h, n","quotation marks"data"-R",R,r,radians,"RADIOBUTTON",RAM,random,"random access","random access file","Random Access Files","Random Files"data"random number","random number generator","RANDOMIZE","read","READ and DATA","Reading DATA into Arrays"data"Reading Mouse Events and Keystrokes","READJOYSTICK",Reboot,record,Recursion,"recursive function","REDIM"data redraw,REFRESH,register,"Registering Liberty BASIC","Relative Path","REM",remainder,removesprite,rename
data"Reserved Word","Reserved Word List",resize,"Resize.bas",RESIZEHANDLER,Resolution,"RESTORE","Restore Button"data"Resume","RETURN",RIGHT$,"RIGHT$( s$, n )",rightButtonDouble,rightButtonDown,rightButtonMove,rightButtonUp
data"Right-Click","Right-Click Menu","Right-Drag","RMDIR( )",RND,"RND( n )",ROM,rows,rule,"run","RUN s$, mode"data"Running a Liberty BASIC program","runtime engine","Runtime Icon",S,s,"sample programs",Save,"Save As","SCAN"data"Scientific Notation","Scroll Arrows","Scroll Bar","scroll bars",SCROLLING,"seek",segment,"select","SELECT CASE"data"Select Case Statement",selectall,selection?,semicolons,"Sending Commands","Sequential Access","sequential file"data"Sequential File Access","Sequential Files","serial communications","serial communications port",set,setfocus
data"Setup Menu",Shell,shell32,short,"Short Filename",SHOW,SHOWMAXIMIZED,SHOWMINIMIZED,SHOWMINNOACTIVE,SHOWNA
data SHOWNOACTIVE,SHOWNORMAL,SILVER,"similar variables","Simple Demo Program",SIN,"SIN( n )",sine,size
data"Size and Placement of Windows","Size in Pixels","Size in Points","Sizing Handle",Software,"sort"data"Sorting Arrays",sound,Sounds,space,"space characters",SPACE$,"SPACE$( n )returns a string of n spaces"data spaces,"Special Globals",Spreadsheet,"Sprite Commands","Sprite Properties","Sprite Table of Contents"data spritecollides,spriteimage,spritemovexy,spriteoffset,spriteorient,spriteround,spritescale,spritetoback
data spritetofront,spritetravelxy,spritevisible,spritexy,spritexy?,SQR,"SQR( n )","square root","Start with the Background"data Statement,"Statictext","Statictext Commands","Status Bar","STEP","Step by Step","Step Out","Step Over","Stop"data"STOPMIDI",STR$,"STR$( n )",strikeout,string,"string expression","String Literals","string variable"data strings,"Strings and Text",stringwidth?,"struct",Structs,structure,style,"STYLE CONSTANTS","STYLEBITS","SUB"data Subfolder,Subprogram,subroutine,subroutines,subs,subtraction,support,svga,"SW_HIDE",sync,synch,syntax,"syntax coloring"data"Syntax error","system clock",T,t,TAB,"TAB( n )",TAN,"TAN( n )",tangent,Taskbar,terminate,"Testing for file existence"datatext,"Text and Characters","Text mode display","text_fs","text_nsb","text_nsb_ins","Textbox","Textbox commands"dataTextboxColor$,"Texteditor","texteditor commands",TexteditorColor$,"The Error.log file","The Liberty BASIC Editor"data"The Preferences Dialog","THEN","third-party editor",time,Time$,"TIME$( )","Timer","Title Bar","Titlebar",tkn
data Tokenize,"tokenized program",Toolbar,"TRACE","TRACE n",trapclose,"Trapping the close event",Trigonometry,TRIM$
data"TRIM$( s$ )",TroubleShooting,TRUE,turn,"Turtle Graphics",TXCOUNT,TYPE,"Type mismatch error",types,U,u,ulong,underscore
data"Understanding Syntax",uninstall,"Uninstalling Liberty BASIC","unloadbmp",Unzip,up,UPPER$,"UPPER$( s$ )"data uppercase,UpperLeftX,"UpperLeftX and UpperLeftY",UpperLeftY,usage,"user input",ushort,USING,"Using a different code editor"data"Using hexadecimal values","Using Inkey$","Using the Debugger","Using the Runtime Engine","Using types with STRUCT and CALLDLL"data"Using virtual key constants with Inkey$","USING( )",V,v,VAL,"VAL( s$ )",Variable,"variable names",variables,version
dataVersion$,vertscrollbar,vga,"Video drivers","virtual keycodes","Virtual Keys",void,VSTUB,W,w,"wait",wav,"WEND"data"What are APIs/DLLs?","What is a Sprite?","What's New!",when,"when characterInput","while","WHILE...WEND","WHILE/WEND"data"whole number",window,"Window and Dialog Commands","Window Types","window_nf","window_popup",WindowHeight,Windows
data"Windows API","Windows handle","Windows timer",WindowWidth,"WindowWidth and WindowHeight",winmm,Winstring,worddata"WORD$( s$, n )","World of Liberty BASIC",write,"Writing your own Programs",WYSIWYG,xga,"XOR","yyyy/mm/dd","Zipped file"data"zntport.sys"data zzzz
oefBB.txt is not needed separate anymore
It's included by DATA statements