Сохранение формата колонок Browse в INI-файле.
Можно отменить формат пользователя нажатием
"горячей клавиши".
Взято целиком из набора шаблонов TinTools
(c) 1996,97 By Tinman Development Corp (All Rights Reserved World Wide).
#!---------------------------------------------------------------------------
#! Сохранение формата колонок Browse Browse
#!---------------------------------------------------------------------------
#EXTENSION (BrowseFormatSave,'Save Browse Box Columns'),REQ(BrowseBox(Clarion))
#BOXED ('Сохранение формата Browse')
#DISPLAY ('Сохраняет изменения колонок browse ')
#PROMPT('Гор.клавиша для сброса:
',KEYCODE),%GsmBRWALERTKEY,Default('CtrlShiftC')
#ENDBOXED
#ATSTART
#DECLARE(%GsmBrowsePrefix)
#DECLARE(%GsmBrowseCTRL)
#SET(%GsmBrowsePrefix,'GsmBRW::' & %ActiveTemplateInstance)
#! #FIND(%ActiveTemplateInstance,%ControlInstance,%ActiveTemplate)
#FOR(%CONTROL),WHERE(%ControlInstance=%ActiveTemplateParentInstance)
#SET(%GsmBrowseCTRL,%CONTROL)
#ENDFOR
#ENDAT
#AT(%DataSectionBeforeWindow)
%GsmBrowsePrefix:ORIG STRING(255) !PROGRAM SETTINGS
%GsmBrowsePrefix:USER STRING(255) !USERS SETTINGS
%GsmBrowsePrefix:USERFSET BYTE
#ENDAT
#AT(%AfterWindowOpening)
do %GsmBrowsePrefix::SETUP
#ENDAT
#AT(%AcceptLoopBeforeEventHandling)
#IF(%GsmBRWALERTKEY)
if EVENT() = EVENT:ALERTKEY AND KEYCODE() = %GsmBRWALERTKEY
do %GsmBrowsePrefix::FORMAT
cycle
.
#ENDIF
#ENDAT
#AT(%BeforeWindowClosing)
alert()
do %GsmBrowsePrefix::SAVE
#ENDAT
#AT(%ProcedureRoutines)
%GsmBrowsePrefix::FORMAT ROUTINE
if %GsmBrowsePrefix:USERFSET
%GsmBrowseCTRL{Prop:Format} = %GsmBrowsePrefix:ORIG
%GsmBrowsePrefix:USERFSET = FALSE
else
%GsmBrowseCTRL{Prop:Format} = %GsmBrowsePrefix:USER
%GsmBrowsePrefix:USERFSET = TRUE
.
display(%GsmBrowseCTRL)
%GsmBrowsePrefix::SETUP Routine
%GsmBrowsePrefix:ORIG =
GetIni('%Procedure','%GsmBrowseCTRL:ORIG',%GsmBrowseCTRL{Prop:Format},'%IniFileName')
%GsmBrowsePrefix:USER =
GetIni('%Procedure','%GsmBrowseCTRL:USER',%GsmBrowseCTRL{Prop:Format},'%IniFileName')
%GsmBrowseCTRL{Prop:Format} = %GsmBrowsePrefix:USER
%GsmBrowsePrefix:USERFSET = TRUE
#IF(%GsmBRWALERTKEY)
alert(%GsmBRWALERTKEY)
#ENDIF
%GsmBrowsePrefix::SAVE Routine
PutIni('%Procedure','%GsmBrowseCTRL:ORIG',%GsmBrowsePrefix:ORIG,'%IniFileName')
PutIni('%Procedure','%GsmBrowseCTRL:USER',%GsmBrowseCTRL{Prop:Format},'%IniFileName')
#ENDAT