| Overview 
             This manual contains information and examples from AOL internal 
            documents. It has been posted here to educate AOL users and NOT for 
            any other reason. Send comments to atoms@aol-files.com 
             Key Atoms
             
             
              uni, act, if, man, mat, var 
              de, buf, idb, fm, cm, asyncBasic Programming Concepts
if, then, else, while, do, loop  Basics 
             
             
              FDO91 is a collection of atoms which define how things are 
              displayed to a user through the client. The atoms are responsible 
              for creating object and actions that a user interacts with on the 
              client. They are grouped into several different Protocols, defined 
              by a 2-3 letter prefix such as uniandif Descriptions 
             Object 
            Creation Atoms Data 
            Extraction, Handling and Storage Atoms Tool 
            Management Atoms General 
            Atoms 
             Object Creation Atoms 
             
             
              
               UNIResponsible for governing the flow of streams
IFResponsible for allowing the programmer to test 
              conditions
VARResponsible for movign data in and out of the 
              client registers
ACTResponsible for controling the action streams in 
              a form
MANResponsible for the structure of forms and 
              creation of objects
MATResponsible for setting flags used to define 
              forms created with MAN
 Data Extraction, Handling and Storage 
            Atoms 
             
             
              
               BUFUsed to handle the client buffer system. These 
              buffers hold data sent to the host or stored in main.idx
DEWorks directly with client buffers to extract and 
              store data from objects
IDBUsed to store and retrieve data from main.idx
FMFile Manager. Used to do limited direct 
              Input/Output with the users hard drive
 Tool Management Atoms 
             
             
              
               CMManages all the *.tol tools in the /tool/ 
              directory. Verifys tools for TODs and replacements
 General Atoms 
             
             
              
               ASYNCHandles messageboxes and screen name issues
SMA collection of shorthand atoms
 Programming Concepts 
             
             If 
             
             
              
               Simple If statement
tests if user is online, if true execute commands down to 
              uni_sync_skip <1>if false execute commands between uni_sync_skip 
              <1>anduni_sync_skip 
              <2>
 uni_start_streamif_online_then 
              <1, 2>
 async_alert <info, "You are 
              online">
 uni_sync_skip <1>
 async_alert <info, 
              "You are NOT online">
 uni_sync_skip 
              <2>
 uni_end_stream
 
Example in 
              VB:
 
 if online=true thenmessagebox "You are 
              online"
 else
 messagebox "You are NOT online"
 end 
              if
 
 VAR and IDB 
             
             
              Checks to see if GID 20-0-16 is New 
              User
 uni_start_streamSet context to 20-0-16
 idb_set_context 
              <20-0-16>
Set offset to where data is stored
 idb_atr_offset 
              <1>Stores DB value
 idb_get_string <>Loads a register with string value into register 
              A
 var_string_set_from_atom <A>Sets register B to New User
 var_string_set <B, 
              "New User">Kills context to the GID
 idb_end_contextTest case of register values
If string A equals string B then (see If statement 
              above)
 if_stra_eq_strb_then <1, 
              2>async_error_box <"GID 20-0-16 is not New 
              User">
 uni_sync_skip <1>
 async_error_box <"GID 
              20-0-16 is New User">
 uni_sync_skip 
              <2>
 uni_end_stream
 
 Actions 
             
             
              
               Ussually defined in button actions on a form
When clicked the button will display a message box
Start a button 
 man_start_object <trigger, 
              "Button">
Starts the action of the object when 
              clicked
 act_replace_select_action<
 uni_start_stream
 
The actions placed here will occur when the button is 
              clicked
 async_error_box <"Display message when 
              clicked">uni_end_stream
 >
 man_end_object
 
 MAN Atoms 
             
             
              
               MAN Atoms define attributes for 
              objects.
 uni_start_stream
Set attributes for object with relative ID of 
              3
 man_set_context_relative <3>
Get string A
 var_string_get <A>
Get the last atom and replace the content of object 3 with 
              string A
 uni_use_last_atom_string 
              <man_replace_data>
Update display
 man_update_display
Stop setting context for relative ID 
              3man_end_context
 
 FM Atoms 
             
             
              
               Start File Manager protocol
 fm_start
Full name path of the ini file
 fm_item_type 
              34fm_item_set_ascii "Name INI"
 fm_item_type 35
 
Internal group name of the ini file
 fm_item_set_ascii 
              "KEY"
Example: sysinfo.ini located in AOL root
 CM and Async 
             
             
              
               Start stream
 uni_start_stream
Useful for getting the windows 
              directory
 cm_tb_get_windows_dir
Open /aolshare/sysinfo/sinf.exe in the windows directory
sinf.exe is the AOL System Info 
              program
 async_exec_app 
              <"aolshare/sysinfo/sinf.exe">uni_end_stream
 
This example shows how to create a messagebox using 
              async
 uni_start_stream
You can use async_error_boxorasync_alertto display a 
              messagebox
 async_error_box <"This is a 
              messagebox">or
 async_alert <info, "This 
              is a messagebox">uni_end_stream
 While Loops 
             
             
              
               Example from fdo training 
              packetuni_start_stream
 var_number_set <"0, 
              0">
 var_number_set <"1, 
              100">
 uni_start_loop
 if_numa_lt_numb_then 
              <10>
 var_numa_increment
 man_set_context_relative 
              <1>
 var_number_get 
              0
 uni_convert_last_atom_string
 uni_use_last_atom_stringproto$display
 man_replace_data
 man_update_display
 man_end_context
 uni_end_loop
 uni_sync_skip 
              <10>
 uni_end_stream
 
 
Example in Basic:
 A = 0DO WHILE A < 100
 A = 
              A + 1
 Edit.1.text = STRA(A)
 LOOP
 END
 
 Tokens 
             
             Debugging 
             
             
              
               Using Atomic Debugger to debug your atomic script (FDO91 
              streams)There are two basic ways to debug your script. Go to 
              either Setup Options or Commands > Set 
              breakpoints
 
 From Setup Options choose Setup 
              (Ctrl+Enter), select Decompile Atoms and Single 
              Step, select all Trace Message Selectors
 Choose 
              Atom Trace and run your script to begin 
              debugging.
 
 From Commands choose Set 
              breakpoints and select your breakpoints clicking OK afterward. 
              Now follow the steps above to select Singe Step and Atom 
              Trace and start debugging.
 Producer Help 
             
             
              
               Keywords for FDO Support:KW: ISO > Tech Producer 
              Listserv
 KW: TechDoc
 KW: Guidelines > Training 
              Section
 KW: Atoms
 KW: DevHelp
 KW: FormTest
 KW: 
              OPSSEC
 You must have access to be able to view the above 
              keywords.
 |