====== Programming Techniques: Overview ====== This chapter provides concrete, "real world" examples of OpenInsight programming, based on actual problems that need to be solved to get applications up and running. Frequently it's not enough to know the syntax of a particular command or function. What's necessary is to gain insights into how to solve particular problems. The purpose of the sections that follow is to help you to gain added facility in OpenInsight through problem solving. Where needed, actual coding examples are shown. Simply copy them from the text and paste them into your OpenInsight application. ==== Finding Users Logged In To OpenInsight ==== [[[guides:programming:programmers_reference_manual:finding_users_who_are_logged_in|Finding Users Who are Logged In]] ==== Application Maintenance Considerations ==== [[[guides:programming:programmers_reference_manual:application_maintenance_considerations|Application Maintenance Considerations]] === Database Template (.DBT) Files === [[[guides:programming:programmers_reference_manual:database_template_.dbt_files|Database Template (.DBT) Files]] [[[guides:programming:programmers_reference_manual:how_an_openinsight_database_is_loaded_into_memory|How an OpenInsight Database is Loaded into Memory]] [[[guides:programming:programmers_reference_manual:structure_of_systables_and_sysvolumes|Structure of SYSTABLES and SYSVOLUMES]] [[[guides:programming:programmers_reference_manual:operations_that_affect_systables_and_sysvolumes|Operations that Affect SYSTABLES and SYSVOLUMES]] [[[guides:programming:programmers_reference_manual:how_syscolumns_is_used|How SYSCOLUMNS Is Used]] [[[guides:programming:programmers_reference_manual:database_id_vs_application_id|Database ID vs Application ID]] [[[guides:programming:programmers_reference_manual:dbt_file_structure|DBT File Structure]] [[[guides:programming:programmers_reference_manual:problems_with_dbt_files|Problems with DBT Files]] [[[guides:programming:programmers_reference_manual:synchronizing_the_volume_and_table_information|Synchronizing the Volume and Table Information]] [[[guides:programming:programmers_reference_manual:licensing_considerations|Licensing Considerations]] === Removing Indexes Manually === [[[guides:programming:programmers_reference_manual:removing_indexes_manually|Removing Indexes Manually]] [[[guides:programming:programmers_reference_manual:when_to_remove_an_index_manually|When to Remove an Index Manually]] [[[guides:programming:programmers_reference_manual:finding_the_indexes|Finding the Indexes]] [[[guides:programming:programmers_reference_manual:removing_the_bang_file|Removing the Bang File]] [[[guides:programming:programmers_reference_manual:dictionary_cleanup|Dictionary Cleanup]] [[[guides:programming:programmers_reference_manual:final_steps|Final Steps]] === Updating A Deployed Application === [[[guides:programming:programmers_reference_manual:updating_a_deployed_application|Updating A Deployed Application]] [[[guides:programming:programmers_reference_manual:identifying_changes_to_be_deployed|Identifying Changes to be Deployed]] [[[guides:programming:programmers_reference_manual:creating_a_deployment_definition_for_the_upgrade|Creating a Deployment Definition for the Upgrade]] [[[guides:programming:programmers_reference_manual:upgrading_the_deployed_application|Upgrading the Deployed Application]] [[[guides:programming:programmers_reference_manual:building_rdk_files_into_a_self_contained_executable|Building RDK Files Into A Self-contained Executable]] ==== Capturing Mouse Events in a Form ==== [[[guides:programming:programmers_reference_manual:catching_mouse_events_in_a_window|Catching Mouse Events in a Window]] [[[guides:programming:programmers_reference_manual:coding_the_create_event_for_capturing_window_mouse_events|Coding the CREATE Event for Capturing Window Mouse Events]] [[[guides:programming:programmers_reference_manual:coding_the_winmsg_event_for_processing_mouse_events|Coding the WINMSG Event for Processing Mouse Events]] ==== "Collector Windows" in OpenInsight ==== [[[guides:programming:programmers_reference_manual:collector_window_overview|Collector Window Overview]] [[[guides:programming:programmers_reference_manual:passing_data_from_a_window_to_a_dialog_box|Passing Data from a Window to a Dialog Box]] [[[guides:programming:programmers_reference_manual:processing_the_received_data_in_the_dialog_box|Processing the Received Data in the Dialog Box]] [[[guides:programming:programmers_reference_manual:passing_data_from_the_dialog_box_to_the_window|Passing Data from the Dialog Box to the Window]] [[[guides:programming:programmers_reference_manual:processing_the_received_data_in_the_window|Processing the Received Data in the Window]] ==== Displaying Dynamic Text Using the Msg() Function ==== [[[guides:programming:programmers_reference_manual:displaying_dynamic_text_using_the_msg|Displaying Dynamic Text Using the Msg() Function]] [[[guides:programming:programmers_reference_manual:changing_the_msg_text_during_process_execution|Changing The Msg() Text During Process Execution]] ==== Hierarchical List Boxes ==== === How to Create a Simple Hierarchical List Box === * [[[guides:programming:programmers_reference_manual:how_to_create_a_simple_hierarchical_list_box|How to Create a Simple Hierarchical List Box]] * [[[guides:programming:programmers_reference_manual:about_the_hierarchical_list_box|About the Hierarchical List Box]] * [[[guides:programming:programmers_reference_manual:setting_up_the_hierarchical_list_box_in_a_form|Setting up the Hierarchical List Box in a Form]] === Hierarchical List Box Programming Using Tabs === * [[[guides:programming:programmers_reference_manual:hierarchical_list_box_programming|Hierarchical List Box Programming]] * [[[guides:programming:programmers_reference_manual:building_the_hierarchical_list_box|Building the Hierarchical List Box]] * [[[guides:programming:programmers_reference_manual:the_test_lb|The TEST LB Function]] * [[[guides:programming:programmers_reference_manual:displaying_the_populated_list_box|Displaying the Populated List Box]] * [[[guides:programming:programmers_reference_manual:adding_expand_all_and_collapse_all_functionality|Adding Expand All and Collapse All Functionality]] * [[[guides:programming:programmers_reference_manual:creating_labels_for_the_hierarchical_list_box|Creating Labels for the Hierarchical List Box]] [[[guides:programming:programmers_reference_manual:hierarchical_list_box_programming_using_bitmaps|Hierarchical List Box Programming Using Bitmaps]] [[[guides:programming:programmers_reference_manual:populating_a_hierarchical_list_box_dynamically|Populating a Hierarchical List Box Dynamically]] [[[guides:programming:programmers_reference_manual:hierarchical_list_boxes_faq|Hierarchical List Boxes FAQ]] ==== Promoted Events ==== [[[guides:programming:programmers_reference_manual:types_of_event_handlers|Types of Event Handlers]] [[[guides:programming:programmers_reference_manual:where_event_code_is_stored|Where Event Code is Stored]] [[[guides:programming:programmers_reference_manual:how_a_promoted_event_fits_in_the_event_chain|How a Promoted Event Fits in the Event Chain]] [[[guides:programming:programmers_reference_manual:promoted_events_and_the_repository|Promoted Events and the Repository]] === The Five Steps to Creating a Promoted Event === * [[[guides:programming:programmers_reference_manual:the_five_steps_to_creating_a_promoted_event|The Five Steps to Creating a Promoted Event]] * [[[guides:programming:programmers_reference_manual:create_a_promoted_event_commuter_module|Create a Promoted Event Commuter Module]] * [[[guides:programming:programmers_reference_manual:copy_commuter_module_object_code_to_sysreposeventexes|Copy Commuter Module Object Code to SYSREPOSEVENTEXES]] * [[[guides:programming:programmers_reference_manual:create_the_promoted_event_processing_code|Create the Promoted Event Processing Code]] * [[[guides:programming:programmers_reference_manual:promote_the_event|Promote the Event]] * [[[guides:programming:programmers_reference_manual:restart_openinsight|Restart OpenInsight]] [[[guides:programming:programmers_reference_manual:promoted_events_in_action|Promoted Events in Action]] === Deploying Promoted Events === [[[guides:programming:programmers_reference_manual:deploying_promoted_events|Deploying Promoted Events]] === Removing Promoted Events === [[[guides:programming:programmers_reference_manual:removing_promoted_events|Removing Promoted Events]] ==== Storing Images in Linear Hash Tables ==== [[[guides:programming:programmers_reference_manual:storing_images_in_linear_hash_tables|Storing Images in Linear Hash Tables]] [[[guides:programming:programmers_reference_manual:storing_a_path_to_the_image|Storing a Path to the Image]] [[[guides:programming:programmers_reference_manual:using_the_choosefile_dialog_box|Using the CHOOSEFILE Dialog Box]] ==== Transaction Processing ==== [[[guides:programming:programmers_reference_manual:transaction_processing|Transaction Processing]] [[[guides:programming:programmers_reference_manual:sample_transaction_processing|Sample Transaction Processing Subroutine]] ==== User Defined Conversions ==== [[[guides:programming:programmers_reference_manual:user_defined_conversions|User Defined Conversions]] [[[guides:programming:programmers_reference_manual:creating_a_user_defined_conversion|Creating a User Defined Conversion]] === PHONE_FORMAT Conversion === [[[guides:programming:programmers_reference_manual:purpose_of_phone_format_conversion|Purpose of PHONE FORMAT Conversion]] [[[guides:programming:programmers_reference_manual:phone_format_conversion_source_code|PHONE FORMAT Conversion Source Code]] === NUMTOCHAR_CONV Conversion === [[[guides:programming:programmers_reference_manual:numtochar_conv_conversion|NUMTOCHAR CONV Conversion]] === Text Case Conversion - UPPER_CASE === [[[guides:programming:programmers_reference_manual:text_case_conversion_upper_case|Text Case Conversion - UPPER CASE]] === ZIP_FORMAT Conversion === [[[guides:programming:programmers_reference_manual:zip_format_conversion|ZIP FORMAT Conversion]] ==== Using OIPI to Export to Files === [[[guides:programming:programmers_reference_manual:using_oipi_to_export_to_files|Using OIPI to Export to Files]] [[[guides:programming:programmers_reference_manual:exporting_your_report_to_a_rtf_pdf_or_html_file|Exporting Your Report to a RTF PDF or HTML File]] [[[guides:programming:programmers_reference_manual:the_exportdata_message|The EXPORTDATA Message]] ==== Windows API Examples ==== [[[guides:programming:programmers_reference_manual:windows_api_examples|Windows API Examples]] === Keyboard Characteristics === [[[guides:programming:programmers_reference_manual:keyboard_characteristics|Keyboard Characteristics]] === Flashing a Window === [[[guides:programming:programmers_reference_manual:flashing_a_window|Flashing a Window]] === Reading and Writing File Attributes === [[[guides:programming:programmers_reference_manual:reading_and_writing_file_attributes|Reading and Writing File Attributes]] [[[guides:programming:programmers_reference_manual:reading_file_attributes|Reading File Attributes]] [[[guides:programming:programmers_reference_manual:writing_file_attributes|Writing File Attributes]] === Reading and Writing Environment Variables === [[[guides:programming:programmers_reference_manual:reading_and_writing_environment_variables|Reading and Writing Environment Variables]] [[[guides:programming:programmers_reference_manual:reading_the_environment_path_variable|Reading the Environment PATH Variable]] [[[guides:programming:programmers_reference_manual:writing_an_environment_variable|Writing an Environment Variable]] === Reading a Registry Value === [[[guides:programming:programmers_reference_manual:reading_a_registry_value|Reading a Registry Value]] === Displaying Memory Size === [[[guides:programming:programmers_reference_manual:displaying_memory_size|Displaying Memory Size]] === Disabling the Window Close Button === [[[guides:programming:programmers_reference_manual:disabling_the_window_close_button|Disabling the Window Close Button]] [[[guides:programming:programmers_reference_manual:procedure_to_disable_window_close_button|Procedure to Disable Window Close Button]] ==== Zoom Functionality ==== [[[guides:programming:programmers_reference_manual:creating_zoom_functionality|Creating Zoom Functionality]] [[[guides:programming:programmers_reference_manual:the_zoom_window_create_event|The Zoom Window CREATE Event]] [[[guides:programming:programmers_reference_manual:coding_the_ok_button_click_event_in_the_zoom_window|Coding the OK Button CLICK Event in the Zoom Window]] [[[guides:programming:programmers_reference_manual:coding_the_cancel_button_quick_event_in_the_zoom_window|Coding the CANCEL Button Quick Event in the Zoom Window]] [[[guides:programming:programmers_reference_manual:the_zoom|The ZOOM Function]] [[[guides:programming:programmers_reference_manual:the_zoom_menu_item_settings|The ZOOM Menu Item Settings]] [[[guides:programming:programmers_reference_manual:calling_the_zoom|Calling the ZOOM Function]]