For simple programming, the Built-In functions should provide you with all you need. If
you wanna get down and dirty, however, this 'make a feature' also let's you do some
fun stuff, as seen in the advanced commands. At the bottom of this you can find some of the
built-in functions done with the advanced commands.

FOR BEGINNERS:
What is a class? I'm going to assume you know what a window is. Inside a window,
there are classes. A class can be an icon, text box, label, ANYTHING. Everything
inside a window is a class, and therefore has a class name. In AOL, most icons
go by the name _AOL_Icon. You can find the class names by using the AOL Snooper.


Text / Listbox Commands:

*NOTE: List and text box numbers always start at 0. You can find this number on the list/text box edit toolbars on the right hand side of the screen. Sometimes, saving and reloading a feature will change the text box number IF you have removed previous text boxes. Please save, reload, and retest everything before considering it finalized.

Also, double clicking any list item will remove that item.

%LB#% - Replace # with the list's number and this will replace the whole phrase with that list's selected item.

%TB#% - Replace # with the text box's number and this will replace the whole phrase with that text box's text.

%USER% - Will be replaced with the user's screen name.

These two commands can be used ANYWHERE the command asks for text. (AddItem, SendChat, etc.)

AddItem #, text - Adds an item 'text' to list #.

ClearT # - Sets textbox # to display nothing.

ClearL # - Clears list #.

T #, text - Sets the textbox # to display 'text'

SaveList # - Saves listbox # to file.

LoadList # - Loads a saved list to listbox #.



Built-In Functions:

SendChat text - sends whatever you replace 'text' with to the chat room

SendIM screen name, text - sends an im to 'screen name', saying 'text'

Keyword text - sends the user to keyword 'text' (note: a private room is aol://2719:2-2-room name)

RunMenu #, # - First number - File = 0, Edit = 1, and so on. Second number - Start with 0 again, include the gray bars. Example: to run Chat Now: RunMenu 3, 5

AddRoom # - Adds all the people in the room you are in to list #.

Pause # - Will pause for # seconds.

MsgBox text - Will create a message box with message 'text'.

Return - Uses the enter key on the class with focus set upon it.



Advanced Commands: (this is damn near real programming)

AOLChild - Sets focus on the very top AOL window.

AOLTitle text - Sets focus on the window with caption 'text'.

FindRoom - Sets focus on the chat room.

AOLToolbar - Sets focus on the _AOL_Toolbar.

AOLModal - Sets focus on an _AOL_Modal.

OKWin - Sets focus on the OK window.

FindClass name - Finds and sets focus upon class 'name'.

FindSameClass - Will find the next class of the same type if there are more then one. NOTE: No name is needed.

NextObj - Will find the next class in a window. (In a chat room, the send button comes after the text box.) Use this if you are trying to get to a class quickly instead of using multiple FindSameClass calls.

FindSubClass text - Will find a class within a class with name 'text'. See SendIM.

CloseWin - Closes the window with focus set upon it.

CloseClass - Closes the class with focus set upon it. (For example, the room punter does this to the chat view window so it does not lag you in return.)

Click - Clicks the class with focus set upon it.

ClickTitle text - Clicks the _AOL_Icon with caption 'text'. Use the AOL Snooper to get icon captions. CASE-SENSITIVE!

SetText text - Will "type" 'text' in the class. See SendChat.

WaitWinOpen text - Waits for window with caption 'text' to open. See SendIM.

WaitWinClose text - Waits for the window with caption 'text' to close.

WaitOKWin - Waits for the OK window to load.

WaitWinCloseOrOK text - Waits for the window with caption 'text' to close or the OK Window to open.

MakeClassWin - This is complicated. It is used in SendIM. When you have "sub-classes" you often need to do this. It will change the class with focus set upon into a window with focus set upon it. Study SendIM for awhile and you'll understand. In SendIM you do it because the classes you need (_AOL_Edit, RICHCNTL, and the send button) are inside the _AOL_IndWnd and not the _AOL_Child.





Built-In Function Codes: (Just for some examples.)
I reccomend opening the AOL Snooper and getting all the
classes (of the chat for sendchat, IM for sendIM) and
looking at them as you study these codes.


SendChat: (Return is used because buttons do not work when the chatroom is minimized)

FindRoom
FindClass RICHCNTL
SetText %TB0%
Return
ClickTitle Send


SendIM: (For SECURITY EDITION, not OPTIMIZED)
In Optimized, ATL:6724B2A0 changes to ATL:671F3398, as can be seen with the AOL Snooper.

RunMenu 3, 0
WaitWinOpen Instant Message
Pause .01
AOLTitle Instant Message
FindClass ATL:6724B2A0
FindSubClass _AOL_IndWnd
MakeClassWin
FindClass _AOL_Edit
SetText %TB0%
FindClass RICHCNTL
SetText %TB1%
ClickTitle Send
WaitWinCloseOrOK Instant Message
OKWin
CloseWin
AOLTitle Instant Message
CloseWin


Keyword:
Here you must click the _AOL_Edit for AOL to register the text. I don't know why.

AOLToolbar
FindClass _AOL_Edit
SetText %TB0%
Click
ClickTitle Go


Read First E-Mail:

AOLToolbar
ClickTitle Read Mail
WaitWinOpen %USER%'s Mailbox
Pause 1
AOLTitle %USER%'s Mailbox
FindClass ATL:6724B2A0
FindSubClass ATL:6724B2A0
FindSubClass _AOL_TabControl
FindSubClass _AOL_TabPage
MakeClassWin
ClickTitle Read