SQLWindows is a RAD environment for Windows that is largely concerned with creating front ends for processes that are based around a DBMS. There's really very little code here; for a program of this size, the housekeeping stuff is overwhelming. .head 0 + Application Description: 99 Bottles of Beer, by Gregory Weston .head 1 - Outline Version - 4.0.26 .head 1 + Design-time Settings .data VIEWINFO 0000: 6F00000001000000 FFFF01000D004347 5458566965775374 6174650400010000 0020: 0000000000A50000 002C000000020000 0003000000FFFFFF FFFFFFFFFFFCFFFF 0040: FFE9FFFFFFFFFFFF FF000000007C0200 004D010000010000 0000000000010000 0060: 000F4170706C6963 6174696F6E497465 6D04000000075769 6E646F77730A4265 0080: 657257696E646F77 0946756E6374696F 6E7306446F536F6E 67 .enddata .data DT_MAKERUNDLG 0000: 00000000000E433A 5C626F74746C6573 2E6578650D433A5C 6E65776170702E64 0020: 6C6C0D433A5C6E65 776170702E617063 000001010115433A 5C43656E74757261 0040: 5C6E65776170702E 72756E15433A5C43 656E747572615C6E 65776170702E646C 0060: 6C15433A5C43656E 747572615C6E6577 6170702E61706300 0001010115433A5C 0080: 43656E747572615C 6E65776170702E61 706415433A5C4365 6E747572615C6E65 00A0: 776170702E646C6C 15433A5C43656E74 7572615C6E657761 70702E6170630000 00C0: 01010115433A5C43 656E747572615C6E 65776170702E6170 6C15433A5C43656E 00E0: 747572615C6E6577 6170702E646C6C15 433A5C43656E7475 72615C6E65776170 0100: 702E617063000001 0101 .enddata .head 2 - Outline Window State: Normal .head 2 + Outline Window Location and Size .data VIEWINFO 0000: 6600040003002D00 0000000000000000 0000B71E5D0E0500 1D00FFFF4D61696E 0020: 0000000000000000 0000000000000000 0000003B00010000 00000000000000E9 0040: 1E800A00008600FF FF496E7465726E61 6C2046756E637469 6F6E730000000000 0060: 0000000000000000 0000000000003200 0100000000000000 0000E91E800A0000 0080: DF00FFFF56617269 61626C6573000000 0000000000000000 0000000000000000 00A0: 3000010000000000 00000000F51E100D 0000F400FFFF436C 6173736573000000 00C0: 0000000000000000 0000000000000000 .enddata .data VIEWSIZE 0000: D000 .enddata .head 3 - Left: -0.013" .head 3 - Top: 0.0" .head 3 - Width: 8.013" .head 3 - Height: 4.969" .head 2 + Options Box Location .data VIEWINFO 0000: D4180909B80B1A00 .enddata .data VIEWSIZE 0000: 0800 .enddata .head 3 - Visible? Yes .head 3 - Left: 4.15" .head 3 - Top: 1.885" .head 3 - Width: 3.8" .head 3 - Height: 2.073" .head 2 + Class Editor Location .head 3 - Visible? No .head 3 - Left: 0.575" .head 3 - Top: 0.094" .head 3 - Width: 5.063" .head 3 - Height: 2.719" .head 2 + Tool Palette Location .head 3 - Visible? No .head 3 - Left: 6.388" .head 3 - Top: 0.729" .head 2 - Fully Qualified External References? Yes .head 2 - Reject Multiple Window Instances? No .head 2 - Enable Runtime Checks Of External References? Yes .head 2 - Use Release 4.0 Scope Rules? No .head 1 - Libraries .head 1 + Global Declarations .head 2 + Window Defaults .head 3 + Tool Bar .head 4 - Display Style? Etched .head 4 - Font Name: MS Sans Serif .head 4 - Font Size: 8 .head 4 - Font Enhancement: System Default .head 4 - Text Color: System Default .head 4 - Background Color: System Default .head 3 + Form Window .head 4 - Display Style? Etched .head 4 - Font Name: MS Sans Serif .head 4 - Font Size: 8 .head 4 - Font Enhancement: System Default .head 4 - Text Color: System Default .head 4 - Background Color: System Default .head 3 + Dialog Box .head 4 - Display Style? Etched .head 4 - Font Name: MS Sans Serif .head 4 - Font Size: 8 .head 4 - Font Enhancement: System Default .head 4 - Text Color: System Default .head 4 - Background Color: System Default .head 3 + Top Level Table Window .head 4 - Font Name: MS Sans Serif .head 4 - Font Size: 8 .head 4 - Font Enhancement: System Default .head 4 - Text Color: System Default .head 4 - Background Color: System Default .head 3 + Data Field .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Multiline Field .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Spin Field .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Background Text .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Pushbutton .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 3 + Radio Button .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Check Box .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Option Button .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 3 + Group Box .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Child Table Window .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + List Box .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Combo Box .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Line .head 4 - Line Color: Use Parent .head 3 + Frame .head 4 - Border Color: Use Parent .head 4 - Background Color: 3D Face Color .head 3 + Picture .head 4 - Border Color: Use Parent .head 4 - Background Color: Use Parent .head 2 + Formats .head 3 - Number: 0'%' .head 3 - Number: #0 .head 3 - Number: ###000 .head 3 - Number: ###000;'($'###000')' .head 3 - Date/Time: hh:mm:ss AMPM .head 3 - Date/Time: M/d/yy .head 3 - Date/Time: MM-dd-yy .head 3 - Date/Time: dd-MMM-yyyy .head 3 - Date/Time: MMM d, yyyy .head 3 - Date/Time: MMM d, yyyy hh:mm AMPM .head 3 - Date/Time: MMMM d, yyyy hh:mm AMPM .head 2 - External Functions .head 2 + Constants .data CCDATA 0000: 3000000000000000 0000000000000000 00000000 .enddata .data CCSIZE 0000: 1400 .enddata .head 3 - System .head 3 - User .head 2 - Resources .head 2 - Variables .head 2 - Internal Functions .head 2 - Named Menus .head 2 - Class Definitions .head 2 + Default Classes .head 3 - MDI Window: cBaseMDI .head 3 - Form Window: .head 3 - Dialog Box: .head 3 - Table Window: .head 3 - Quest Window: .head 3 - Data Field: .head 3 - Spin Field: .head 3 - Multiline Field: .head 3 - Pushbutton: .head 3 - Radio Button: .head 3 - Option Button: .head 3 - Check Box: .head 3 - Child Table: .head 3 - Quest Child Window: cQuickDatabase .head 3 - List Box: .head 3 - Combo Box: .head 3 - Picture: .head 3 - Vertical Scroll Bar: .head 3 - Horizontal Scroll Bar: .head 3 - Column: .head 3 - Background Text: .head 3 - Group Box: .head 3 - Line: .head 3 - Frame: .head 3 - Custom Control: .head 2 - Application Actions .head 1 + Form Window: BeerWindow .head 2 - Class: .head 2 - Property Template: .head 2 - Class DLL Name: .head 2 - Title: Bottles .head 2 - Icon File: .head 2 - Accesories Enabled? No .head 2 - Visible? Yes .head 2 - Display Settings .head 3 - Display Style? Default .head 3 - Visible at Design time? Yes .head 3 - Automatically Created at Runtime? Yes .head 3 - Initial State: Normal .head 3 - Maximizable? Yes .head 3 - Minimizable? Yes .head 3 - System Menu? Yes .head 3 - Resizable? No .head 3 - Window Location and Size .head 4 - Left: Default .head 4 - Top: Default .head 4 - Width: 10.583" .head 4 - Width Editable? Yes .head 4 - Height: 4.405" .head 4 - Height Editable? Yes .head 3 - Form Size .head 4 - Width: Default .head 4 - Height: Default .head 4 - Number of Pages: Dynamic .head 3 - Font Name: Default .head 3 - Font Size: Default .head 3 - Font Enhancement: Default .head 3 - Text Color: Default .head 3 - Background Color: Default .head 2 - Description: .head 2 - Named Menus .head 2 - Menu .head 2 + Tool Bar .head 3 - Display Settings .head 4 - Display Style? Default .head 4 - Location? Top .head 4 - Visible? Yes .head 4 - Size: Default .head 4 - Size Editable? Yes .head 4 - Font Name: Default .head 4 - Font Size: Default .head 4 - Font Enhancement: Default .head 4 - Text Color: Default .head 4 - Background Color: Default .head 3 - Contents .head 2 + Contents .head 3 + Pushbutton: pb1 .head 4 - Class Child Ref Key: 0 .head 4 - Class ChildKey: 0 .head 4 - Class: .head 4 - Property Template: .head 4 - Class DLL Name: .head 4 - Title: Sing! .head 4 - Window Location and Size .head 5 - Left: 0.183" .head 5 - Top: 0.155" .head 5 - Width: 1.2" .head 5 - Width Editable? Yes .head 5 - Height: 0.298" .head 5 - Height Editable? Yes .head 4 - Visible? Yes .head 4 - Keyboard Accelerator: (none) .head 4 - Font Name: Default .head 4 - Font Size: Default .head 4 - Font Enhancement: Default .head 4 - Picture File Name: .head 4 - Picture Transparent Color: None .head 4 - Image Style: Single .head 4 - Text Color: Default .head 4 - Background Color: Default .head 4 + Message Actions .head 5 + On SAM_Click .head 6 - Call DoSong() .head 3 + Multiline Field: ml1 .head 4 - Class Child Ref Key: 0 .head 4 - Class ChildKey: 0 .head 4 - Class: .head 4 - Property Template: .head 4 - Class DLL Name: .head 4 - Data .head 5 - Maximum Data Length: Default .head 5 - String Type: String .head 5 - Editable? Yes .head 4 - Display Settings .head 5 - Border? Yes .head 5 - Word Wrap? No .head 5 - Vertical Scroll? Yes .head 5 - Window Location and Size .head 6 - Left: 1.583" .head 6 - Top: 0.155" .head 6 - Width: 8.1" .head 6 - Width Editable? Yes .head 6 - Height: 3.417" .head 6 - Height Editable? Yes .head 5 - Visible? Yes .head 5 - Font Name: Default .head 5 - Font Size: Default .head 5 - Font Enhancement: Default .head 5 - Text Color: Default .head 5 - Background Color: Default .head 4 - Message Actions .head 2 + Functions .head 3 + Function: DoSong .head 4 - Description: .head 4 - Returns .head 4 - Parameters .head 4 - Static Variables .head 4 + Local variables .head 5 - Number: theBottleCount .head 5 - String: theCountString .head 5 - String: thePlural .head 5 - String: theNewLine .head 4 + Actions .head 5 - Set theNewLine = SalNumberToChar(13) || SalNumberToChar(10) .head 5 - Set theBottleCount = 99 .head 5 - Call SalClearField(ml1) .head 5 - Call SalSetMaxDataLength(ml1, 32767) .head 5 + Loop .head 6 - Set theCountString = CountString(theBottleCount) .head 6 - Set thePlural = PluralString(theBottleCount) .head 6 - Set ml1 = ml1 || theCountString || " bottle" || thePlural || " of beer on the wall; " || theCountString || " bottle" || thePlural || " of beer." || theNewLine || "Take one down, pass it around: " || CountString(theBottleCount - 1) || " bottle" || PluralString(theBottleCount - 1) || " of beer on the wall." || theNewLine .head 6 - Set theBottleCount = theBottleCount - 1 .head 6 + If theBottleCount = 0 .head 7 - Break .head 3 + Function: CountString .head 4 - Description: .head 4 + Returns .head 5 - String: .head 4 + Parameters .head 5 - Number: inCount .head 4 - Static Variables .head 4 - Local variables .head 4 + Actions .head 5 + If inCount = 0 .head 6 - Return "No" .head 5 + Else .head 6 - Return SalNumberToStrX(inCount, 0) .head 3 + Function: PluralString .head 4 - Description: .head 4 + Returns .head 5 - String: .head 4 + Parameters .head 5 - Number: inCount .head 4 - Static Variables .head 4 - Local variables .head 4 + Actions .head 5 + If inCount = 1 .head 6 - Return "" .head 5 + Else .head 6 - Return "s" .head 2 - Window Parameters .head 2 - Window Variables .head 2 - Message Actions