LB NEWSLETTERS CONTENTS: NL0001 Add extra entries to Combo Boxes. NL0002 Random number generator + Building reusable code. NL0003 New sites and postings + Tips and tricks: Continuation lines. STATICTEXT. Debugging. Disappearing code lines. VSTUB Errors and DLL Call Errors. Arrays. NL0004 Toward writing more readable code - Part 1: Be consistent with variable names. Make lines of code no longer than fit. Make logical functions fit within one Display screen. Use plenty of 'White Space'. Indent your code. A short story by Brosco: "The lonely programmer." NL0005 Backups for dummies. NL0006 Writing a replacement for Notepad in LB. NL0007 Writing a replacement for Notepad in LB - Part 2. NL0008 Reader Survey - Its your turn! Feedback. The Lonely Programmer - Part 2. Announcing SSS - Side by Side Software! NL0009 Using Random files - Part 1. NL0010 Using Random files - Part 2. NL0011 A proposal for you to consider. Indexing Concepts. NL0012 Using Random files - Part 3 (Using the DBdll to Index a Database). NL0013 Hey Carl - we need R2.00, 32 bit and a compiler! Using Secondary Indexes. Data Dictionary - DB Application Generator. NL0014 Liberty BASIC Functions. GIFTOBMP.DLL NVIEWL16.DLL NL0015 Using the Windows Graphics Device Interface (GDI) NL0016 Picking Colours Using the Common Dialog in Liberty BASIC. NL0017 An Intro to LB Programming. Your Feedback again. NL0018 LB Newsletter Discussion Email list. Understanding Arrays with Listboxes. NL0019 Managing your Email. NL0020 Announcing LB Printing for Dummies. Understanding Windows Programming. NL0021 Announcing Brosco's DLL User Defined Mouse Cursors in LB Drawing '3D' borders New Year's Honour List NL0022 Writing a program in LB Have YOU contributed lately? NL0023 Writing a program in LB - Part 2 NL0024 FreeForm for Dummies Questions and Requests - GOSUB NL0025 "There's more than one way to skin a cat." NL0026 "There's more than one way to skin a cat." - Part 2 NL0027 Announcing LB and the GDI for Dummies How to Ask for Help How to Give Help NL0028 Common Errors: a Troubleshooting Guide NL0029 "There's more than one way to skin a cat." - Part 3 NL0030 "I wanna be an alpha tester for version 2.0!" Creating DOS batch files, by Robert Oakes NL0031 Sprites made easy! A new DLL for Liberty BASIC, by Alyce Watson NL0032 Programmer's Spotlight on Dean Hodgson 1. Deanslib.DLL 2. Dean's Life - in his own words: 3. Summary of DEANSLIB.DLL functions 4. See the attached JPG for a photo of Dean. NL0033 Disk File Functions by Dean Hodgson. - Parts 1 and 2 NL0034 Editorial + The Mechanics of Debugging. NL0035 Disk File Functions by Dean Hodgson. - Part 3 NL0036 News + Handy Tips and Tricks NL0037 Disk File Functions by Dean Hodgson. - Parts 4 and 5 NL0038 For-Next Loops: Dos and Don'ts by Tom and Alyce Watson NL0039 Using Arrays with For-Next Loops: A Sample Program NL0040 Programmer's Spotlight on Carl Courtney. Carl Courtney - in his own words. Simple Data Files NL0041 Searching Arrays by Ian Davies - Part 1 NL0042 Programmer's Spotlight on Doyle Whisenant Doyle Whisenant, in his own words Practical Uses for API's in Liberty BASIC NL0043 GUI Design by Tom and Alyce Watson NL0044 Menus - Part 1 by Alyce Watson NL0045 Menus - Part 2 by Alyce Watson NL0046 Block Structured Code Development of Large Programs with LB, by Herman NL0047 Programmer's Spotlight on David Mosley David Mosley in his own words Flowcharting in a new way, by David Mosley NL0048 Procedure Parameter Passing and Encapsulation, by Herman NL0049 Serial Communications, by Herman NL0050 What is thunking? Why thunk? Calling 32-bit DLLs with call32.dll What else do you need to know? Source Code by Alyce NL0051 Liberty BASIC Message Boxes Message Box Tutorial, by Larry Dunham Borland Message Boxes NL0052 Promoting Liberty BASIC Make a Liberty BASIC Website: Web Servers FTP Clients HTML Tags Images for Webpages Template for YOUR website! NL0053 Manipulating the MainWindow Copy Any File Resize at Startup Hide Controls with Locate Change the Runtime Icon Runtimes in Windows\System Multiple Versions of DLL Error Associate *.BAS with Liberty.exe Password Unnecessary! Getbmp Failure Bitmap Colors LOG Notice NL0054 BMP packing NL0055 Status bars NL0056 Information for LB programmers -- Where to find it! NL0057 Windows Constants What are Bits? Bitwise Operations, by Thomas Watson Boolean Truth Table, by Brad Moore Toggling Bits using Windows Contstants Window with No Titlebar NL0058 LB Editor, part 1 Texteditor Menu NL0059 LB Editor, part 2 Toolbar Buttons NL0060 LB Editor, part 3 Tooltips NL0061 Single-Dimensioned Arrays 3D Dialog Windows Open Source Liberty BASIC Editor - Part Four Accessing Branch Labels About the Open Source Editor Series NL0062 Version checking Reading a file header Open Source Liberty BASIC Editor - Part Five Loading and displaying bitmaps Copy and move any file NL0063 Printing Printing with native Liberty BASIC commands Printing with Notepad - Open Source Editor part 6 Printing with Deanslib.dll Printing with vbprint.dll Printing with straight api calls NL0064 The Edit Menu Playing wavs A new way to use the filedialog Using ascii characters in commands -- copyrighting our code NL0065 Hard copy printing in Liberty BASIC with lbprnt01.dll NL0066 FILES command Writing and using an ini file Choosing fonts for the open source editor, by Chris Robertson NL0067 Liberty BASIC version 2 - in review User defined functions in Liberty BASIC 2.0, by Carl Gundel User defined functions, a beginner's tutorial NL0068 Liberty BASIC version 2 - overview of new features The Liberty BASIC editor Window/control colors Control creation by expression Graphics SET command Font dialog & font attributes PopupMenu command Decimal to hex conversions New time and date functions Improved random function Bitmaps - load and save 24-bit Updating the open source editor to version 2 RGB color choices NL0069 Editorial comment Extract of chat with Carl Gundel about LB2 Online transcript of much of the chat NL0070 Install Maker, a review by Gary Capps More on user-defined functions: new functions and explanations functions in functions, and as parameters adding more functions to our editor Creating bmpbuttons at runtime - many ways! Adding a bmpbutton to the open source editor NL0071 Using the runtime engine Changing the runtime icon in the LB editor Changing the runtime icon ourselves File manipulation via api Doing the manipulations with LB functions Extracting and viewing icon files Making an icon A simple icon viewer/editor Icon file format NL0072 Making professional-looking applications Using spreadsheets NL0073 A new kind of subroutine in LB2 CALL sub and the API Fun with the caret NL0074 Add subs to branch label finder in editor Comboboxes Write a code library Access code library in open source editor Launch email client and browser URL ShellExecute WinExec FindExecutable Documentation NL0075 Running a Windows helpfile How-to for helpfile making Creating a Windows helpfile 32-bit helpfile creation with Oasis SE LB help simulation Adding a help window to the open source editor HTML help Making progress Sorting algorithms, by David Szafranski NL0076 Do it with math: - evaluating conditions - toggling Don't duplicate routines: - gosubs - subs - functions NL0077 Simulating callbacks in Liberty BASIC A new tool to place an LB program in the system tray - by Dennis McKinney NL0078 Simulating a 32-bit look A floating toolbar A popup menu NL0079 Artificial Intelligence: - movement, parsing, evaluation and learning Nim, by Ryan Jeffords Design, by Brandon Watts NL0080 LB 2.0+ Real Time Programming NL0081 Liberty Basic Version checking Timer Program More on Real Time Loops: Optimized LB2 timer$("milliseconds") How to use Timer.dll (dll by Stephen@KiwiSoft) How to use timeGetTime (part of mmsystem.dll) Benchmarking Real Time Programming NL0082 Starting Liberty BASIC by clicking on your program Adding a Popup Menu To a Menu Item OpenSource Editor Updated With Popup Menu Sprites in Liberty BASIC V2 beta 2 NL0083 Announcing contest 2001, a Liberty BASIC Odyssey Programmer's Spotlight on Stephen from KiwiSoft How to use INI files in your Liberty BASIC programs Interesting code snippets posted in LBnews this month Popup window examples Floating button example Windows cursors example NL0084 Programmer's Spotlight on Brandon Watts Software Archives, by Brandon Watts Binary Searches, by Richard Miller Window title change, by Brandon Watts 3-dimensional arrays in LB, by Carl Gundel Code Beautifier, by David Drake LB Statements shortcut, by David Drake Cursors in LB listing, by Alyce Watson Keypress detection (background processing), by Mitchell Kotler NL0085 Programmer's Spotlight on Kevin Agorastos Liberty BASIC evolution, by Carl Gundel (Part 1) IRC (Internet Relay Chat), by Kevin Agorastos Word wrap detection, by Mark Parkinson Encryption, by Gary Capps Registration code, by Gary Capps Mouse click trapping, by Carl Courtney Shadow Boxes, by Jay Shrimplin Outline Boxes, by Jay Shrimplin Screen resolutions, by Doyle Whisenant Graphicbox scrolling, by Alyce Watson Graphicbox frame color, by Alyce Watson File copying demo (sprites), by David Drake Tabbing in window-type windows, by Dennis McKinney NL0086 Programmer's Spotlight on David Drake What's New in Freeform for Liberty BASIC 2, by David Drake Freeform - Quick Start, by David Drake A Liberty BASIC form primer, by David Drake Mapper (MapFoundry), by David Drake MDI, Multiple Document Interface, by Mitchell Kotler Getting the Length of a Struct, by Brent Thorn Getting around "Create Pen" bug in LB 2.01, discussion Writing code that works, by Rory Davis Dialog box location, by Brian Pugh NL0087 From Carl: A book about Liberty BASIC Using CommandLine$ with tokenized files Updating the Open Source Editor with CommandLine$ Using CommandLine$ Removing the Icon Changer Adding an Array Maker Contest reminder NL0088 Programmer's Spotlight on Philip Richmond A primer on richedit syntax coloring for Liberty BASIC, by Dennis McKinney Internet coding tutorial, by Brandon Watts Access Windows features (call dialogs), by Brandon Watts XIDE, an excellent IDE for Liberty BASIC. Snippets: Getting class name and window caption of running programs Tiled BMPs Getting keyboard input NL0089 Programmer's Spotlight on Keith Handy LiBOS (a GUI/shell), by PRTSoft Second Function (multiple buttons), by Mike Bradbury "Beginning Programming For Dummies," 2nd Edition Review, by Brandon Watts Liberty BASIC v2.02 Review, by Brandon Watts Liberty BASIC CoWeb Point and Click Games, by Brandon Watts LB Program of the Month: Freeform 2.024 LB Website of the Month: The Liberated Code Foundry Poll Results Snippets: HyperLink for version 2xx, by Brian Davies Screen Saver, by Doyle Whisenant Shutdown/Restart, by Brian D NL0090 Programmer's Spotlight on Bill Jennings Button Hinges, by Mike Bradbury Poll Results Snippets: Cursor examples, by Mitchell Kotler Date values, forwarded by Eldron Gill NL0091 Programmer's Spotlight on Alyce Watson The 6 Steps of Game Design, by Tegan Snyder Using the mouse commands, by Ben Jimenez Changing the background color of a BMPbutton, by Alyce Watson Code to create a custom titlebar that moves a window that doesn't have the standard Windows titlebar, by Alyce Watson & modified by Bubba NL0092 Simple encryption, two examples by Tegan Snyder NL0093 A new direction for the newsletter Contest Update Introducing Liberty BASIC 3! Updating the Open Source Editor Tip Corner: COLORDIALOG Callbacks Explained Drag 'n' Drop API Functions Drag 'n' Drop in LB3 by Mitchel Kottler Spotlight - the Gnu/Liberty BASIC Compiler System by Anthony Liguori LB2BCX NL0094 Contest Reminder Using Color Statements to Color Controls Updating the Open Source Editor - Colored Textboxes Tip Corner: INPUTTO$ Spotlight - Development4Life.net Why Development4Life? by John Magne Spilling Writing to the console from Liberty BASIC: Sample program by Brent Thorn API documentation from MS Volunteer to Publish the LB Newsletter! NL0095 2002 Liberty BASIC Challenge - polls open! SearchTreeForFile - API File Search Tip Corner: Filedialogs The FILES statement The FILES statement in action - program file dialog Updating the Open Source Editor for WinXP Spotlight on John Fisher Using Winsock, code example by Brent Thorn Winsock API Reference, from Microsoft Volunteer to Publish the LB Newsletter NL0096 Introducing the Team! Data Validation and Error Trapping (debugging code BEFORE you run it!) Tip Corner: binary file access Updating the Open Source Editor (changing the runtime icon) Spotlight on Polar Coordinates: tutorial by Tom Nally polar1.bas by Nally atari2.bas by Nally polar coordinate demo by Guy Canida NL0097 SyntaxError: Some words from the editor Tip Corner: Dumping a file directly into a texteditor Spotlight: Three items that caught my fancy recently Article: Serial Communication with LB, by Dean Jolly Review: David Drake reviews Image321.DLL Noteworthy: Translating Documentation Advanced: Implementing an editor with Scintilla. dll Attachments: List of included files. NL0098 Notes from the editor: Team publishing the LB Newsletter Remembering Logo Turtle graphics tutorial Scripting language tutorial Scripter.bas, a simple scripting language Changing window icons at runtime A real spinner control for Liberty BASIC Tip Corner: Select Case Hocus Focus, by Brad Moore Illuminated Radiobuttons, by Mike Bradbury NL0099 SyntaxError: Some words from the editor Tip Corner: Window Placement Techniques, by Brad Moore Spotlight: Listview Report, by Brent Thorn Article: Enhancing Liberty Basic [Array Handling], by Dennis McKinney Article: The Road to Release, by Brad Moore Demo: Formatted ListBox, by Mike Bradbury NL0100 SyntaxError: Some words from the editor Notes from the editor Use of Color in Graphics Bitmap Graphics Tutorial Bitmap Color Formats Tipcorner: - Getting the dimensions of a bitmap - SCAN vs WAIT Text Input Boxes - Text and Background Colour, by Ray Fisher An Easy Calendar Control Shareware Marketing, by Eldron Gill Demos: - Date/Time Picker, by Brent Thorn - Text Line-Wrap, by Bill Jennings - Combining Commands, by David Connor NL0101 SyntaxError: Some words from the editor Tipcorner: Paths and File Names Spotlight: Observed online, news and info Article: Resources for the beginner, by Brad Moore Article: Graphics Drawing Rules, by Alyce Watson Article: The beginner's guide to API and DLL calls, by Brad Moore Article: Drawing IN MEMORY, by Alyce Watson Demos: - Radiobuttons via API, by Mike Bradbury - NumbWord, by Rob Durk NL0102 Notes from the Editor Liberty BASIC News Safe Registry and Ini File Alternative Tipcorner - Deleting and Renaming Disk Files Segments and Flushing - a Graphics Tutorial Flat Toolbar with Toolips for the Open Source Editor Translating 32-bit Visual BASIC API Calls Event-Driven Programming Concepts - Part 1, by Brad Moore Spotlight on the Community! ODBC in Liberty BASIC, by Dennis McKinney Hex Viewer, by Walt Grams Listing Files Recursively, by Mark Parkinson Registering Hot Keys, by Ken Lewis Preventing more than 1 instance of your program, by Ken Lewis Multi-Coloured Text Input Boxes using a DLL, by Raymond Fisher Images on Buttons and Statictext, by Mike Bradbury Two demos by David Conner: An RGB color previewer and specifier Adding a cascading popup menu to an existing menu NL0103 Editor's Notes by Tom Nally Blast From the Past - Two Years Ago in LBNews Effective GUI Design, by David Drake Alternative to Graphics Printing, by Alyce Watson Liberty Basic Simple Help, by Tom Nally Announcement: New LB Programming Contest, by Brad Moore Debugging by Simulating Breakpoints, by Kevin (maitrikaruna@yahoo.com) Multi-Coloured Text Input Boxes using a DLL, plus hex numbers for 140 colors, by Ray Fisher Tip-of-the-day, zipped demos by David Drake, Kevin (maitrikaruna@yahoo.com), Mike Bradbury, Ray Fisher, Alyce Watson UsingDemo.bas, by Bill Jennings LBSH.zip (Liberty Basic Simple Help), by Tom Nally colourDLL.zip (improved), by Ray Fisher sysTray.zip (icon placement), by Ken Lewis, Sr. BMPs on a checkbox, zip by Mike Bradbury NL0104 SyntaxError: Some words from the editor Tipcorner: Maintaining checkbox states Recently Observed: Tidbits gathered from the online community News from Online: Liberty Basic 4, Update from Carl News Flash: New Alternate Forum Now Available Resources Online: Using the Tsunami Database, by Colin McMurchie Demo: Wizard Framework, by Brad Moore Demo: Gordon Sweet presents Links to LB Sites Contests: Update on 10th Anniversary Contest Article: Extracting Icons And Saving Them As Bitmaps, by Alyce Watson Article: Beginning Study Kit for Applying Symbolic Logic, by Bob Kenyon (AKA "lodgpole") Demo : QuadClicks, by Bill Jennings Article: Simple Math For Moving Objects, by Tom Nally Article: Event Driven Programming - Part 2, by Brad Moore Article: The Beginners Series - Part 1, by Brad Moore NL0105 Drawn Objects - A Beginning Graphics Tutorial, by Alyce Watson Documenting Your Code the Easy Way!, by Alyce Watson Tipcorner - Maximizing the Usefulness of the Liberty BASIC Helpfile, by Alyce Watson BmpButton Manipulations, by Alyce Watson Roll Your Own Prompt, by Brad Moore Alternative Way of Hiding and Showing Controls in LB3, by Mike Bradbury Demos by Dennis McKinney: Minimize CPU Usage in Scan Loop API Color Dialog Demos by Bill Jennings: Virtual Tabs Hot Keys and Mouse Clicks A User's Review of TheWrap, by David Drake Using BASIC for Numerical Integration, by Tom Nally LibSQL v1.4 - SQLite Database for LB, by Richard Peeters Help! (... is on the way!), by Jerry Muelver NL0106 MDI in LB, by David Conner Include Function added to the Open Source Editor, by Alyce Watson Review of Liberty Basic Workshop, by David Drake Fast Data Entry, demo by Bill Jennings SQLite Database Manager, by Collin McMurchie Tsunami Database Manager, by Collin McMurchie Beginning Programming - Part II, by Brad Moore Locate Command, by Tom Nally LBCard, by Tom Nally NL0107 SyntaxError: Some words from the editor Tip Corner: An easy way to send eMail Article: Alyce's Favorite LB Websites Feature: Haiku For Programmers Feature: Haiku Generator, by John Fisher Demo: API Based File Operations, by Dennis McKinney Article: Operating System Selection, by Jason Herbert Article: Binary Coding, by Jim Brossman Article: Beginning Programming Part 3, by Brad Moore Article: DatePup32 DLL - A Date Utility, by Brad Moore Newsletter help: Printing and copying pictures, text and code NL0108 CollSim Collision Simulator, by Tom Nally Foon's Tips, by Foon, aka Larry Crimmins · Structured Programming · Communicating with the Printer Encryption Demo and DLL, by David Drake Liberty BASIC 4 Lesson Browser CookieUtility DLL, by Brad Moore LB NoteBoard, by Brad Moore Tipcorner, LB Clipboard Commands Clipboard API Demos, by Dennis McKinney and Alyce Watson Creating Compiled HTML Help, by Alyce Watson Tabstrip and Container Controls, by Alyce Watson · Tabstrip Demo Scrolling Controls, by Alyce Watson Why use API's?, by Alyce Watson Sprite in a Box, by Alyce Watson NL0109 Blast from the past, Looking Back Three Years: NL74 and NL75 Beginning Game Programming, by Richard Ryles Differential Equations, by Ingemar Bjerle Browsing and Exploring a Folder, by Alyce Watson Flash-O-Rama!, by Tom Nally Beginning Programming Part IV, by Brad Moore Four Methods for Drawing Arcs, compiled by Tom Nally NL0110 API Corner: Password Textbox, by Alyce Watson Tip Corner: Character Replacement, by Brad Moore LB Isam Library (database indexing), by Richard Peeters Beginning Game Programming 2, by Richard Ryles Rubber Band Objects, by Tom Nally WMLiberty Primer, from the Forum, by Brent Thorne LB Browser, by Doyle Whisenant Beginning Programming, Part 5, by Brad Moore INPUTTO Demo, by Brad Moore Chase Button, LB fun, by David Drake Questionaire Wizard, A demo by Brad Moore MIDI Output, some thoughts, by Midi_boink MIDI-Tunes, some fun MIDI music, by John Richardson PlayMIDI DLL, a DLL for playing MIDI files, by Brad Moore Directory Search Function, by Brad Moore NL0111 Beginning Game Programming 3, by Richard Ryles Pseudo Menubars on a Window, by Alyce Watson Binary Numbers, by Norman Designing Games Humans Can Play, by Tom McIntire (aka WhizCat) API Corner: Modifying Liberty BASIC Controls Using the JPEG.DLL, by Alyce Watson Graphics Text Tutorial, by Alyce Watson Tip Corner - The Trapclose Command Installers for Liberty BASIC - User Reviews Demo Programs from the Community: · Kaleidoscope, by Midi Boink · Decimal to Roman Numeral Conversion, by the Liberty BASIC Forum · Rotating 3-D Wire Frame Cube, by Thomas Watson