// Use About.utl Use AppInfo.utl // Setup application information Use Buttons.utl // Button texts Use Spec0007.utl // Display modal text (DoDisplayText) Use Spec0012.utl // Read image to string (sTextDfFromImage function) procedure DoDisplayLog global local integer liLogImage local string lsLog get AppInfo AI_LOG_IMAGE to liLogImage get sTextFromDfImage liLogImage to lsLog send DoDisplayText "Program log" lsLog end_procedure procedure DoDisplayKnownIssues global local integer liLogImage local string lsLog get AppInfo AI_KNOWN_ISSUES to liLogImage get sTextFromDfImage liLogImage to lsLog send DoDisplayText "Known Issues" lsLog end_procedure #IFDEF IS$WINDOWS object oAboutPanel is a aps.ModalPanel label ("About "+AppInfo(AI_TITLE)) set locate_mode to CENTER_ON_SCREEN on_key kcancel send close_panel object oGraph is a GraphicArea set size to 200 300 send aps_auto_locate_control self end_object object oBtn1 is a aps.multi_button on_item "Log" send DoDisplayLog end_object object oBtn2 is a aps.multi_button on_item "Known issues" send DoDisplayKnownIssues end_object object oBtn3 is a aps.multi_button on_item t.btn.close send close_panel end_object procedure popup local integer liLogImage get AppInfo AI_LOG_IMAGE to liLogImage set object_shadow_state of (oBtn1(self)) to (not(liLogImage)) get AppInfo AI_KNOWN_ISSUES to liLogImage set object_shadow_state of (oBtn2(self)) to (not(liLogImage)) set piProgram_RAM of (oGraph(self)) to (AppInfo(TMP_GA_OBJECTID)) forward send popup end_procedure send aps_locate_multi_buttons end_object #ELSE /oAboutPanel.hdr ษ___________________________________________ป /oAboutPanel.frm บ บ บ บ บ___________________________________________บ บ___________________________________________บ บ___________________________________________บ บ บ บ บ /oAboutPanel.btn บ _____________ บ ศอออออออออออออออออออออออออออออออออออออออออออผ /* Use App.utl // Character Mode classes Use Buttons.utl // Button texts object oAboutPanel is a app.ModalClient oAboutPanel.hdr set window_color item 0 to 2 set location to 6 18 absolute on_key kcancel send cancel object oFrm is a Form oAboutPanel.frm set location to 1 0 relative set focus_mode to POINTER_ONLY set center_state item 0 to true set center_state item 1 to true set center_state item 2 to true set center_state item 3 to true item_list on_item on_item (AppInfo(AI_VERSION)+", "+AppInfo(AI_REVISION)) send none on_item (AppInfo(AI_AUTHOR)) send none on_item (AppInfo(AI_WATERMARK)) send none on_item (AppInfo(AI_RELEASEDATE)) send none end_item_list end_object object oBtn is a app.Button oAboutPanel.btn set location to 7 0 relative item_list on_item t.btn.close send cancel end_item_list end_object procedure popup local integer rval# set value item 0 to ("About "+AppInfo(AI_TITLE)+" for "+AppInfo(AI_SUBTITLE)+"ออออออออออออออออออออออออออออออออออออออออออ") ui_accept self to rval# end_procedure end_object // oAboutPanel #ENDIF procedure DoAbout global send popup to (oAboutPanel(self)) end_procedure