Для сохранения текста в полях, положений флажков и пр.
Чтобы пользоваться, нужно иметь хотя бы минимальные познания IC, чтобы подставить нужные значения в нужных местах. В комментариях к коду всё указано.
Требует минимального кол-ва связей - лишь точки PHandle визуальных компонентов, этим и ценен.
Код:
Add(InlineCode,11882593,294,273) { @Hint=#59:Модуль загрузки/сохранения параметров в ini-файл SRData 2.0| DataPoints=#5:dtPH_| Code=#61://Модуль загрузки/сохранения параметров в ini-файл SRData 2.0|31://Автор: 3042 (smvid@yandex.ru)|83://Можно использовать несколько модулей в схеме, они будут выполнены последовательно|0:|15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|31: fOldOnClose:TOnEventAccept;|17: ini:PIniFile;|19: procedure Init;|58: procedure onCloseApp(Sender:PObj; var Accept:Boolean);|38: procedure SRData(im:TIniFileMode);|9: public|45: //PHandle всех компонентов для сохранения|21: dtPH_: THI_Event;|0:|23: constructor Create;|5: end;|0:|14:implementation|0:|31:constructor THiAsmClass.Create;|5:begin|18: inherited Create;|15: InitAdd(Init);|4:end;|0:|27:procedure THiAsmClass.Init;|5:begin|20: fOldOnClose := nil;|64: if Assigned(Applet.OnClose) then fOldOnClose := Applet.OnClose;|30: Applet.OnClose := onCloseApp;|17: SRData(ifmRead);|4:end;|0:|66:procedure THiAsmClass.onCloseApp(Sender:PObj; var Accept:Boolean);|5:begin|18: SRData(ifmWrite);|58: if Assigned(fOldOnClose) then fOldOnClose(Sender,Accept);|4:end;|0:|46:procedure THiAsmClass.SRData(im:TIniFileMode);|5:begin|72: ini := OpenIniFile(GetStartDir + 'SRData.ini'); //Указать имя ini-файла|16: ini.Mode := im;|52: ini.Section := 'fields'; //Указать секцию ini-файла|57: //Указать точки данных, ключи и соотв. свойства объектов|102: ReadControl({PHandle},'').{св-во} := ini.ValueString({'ключ ini'},ReadControl({PHandle},'').{св-во});|99: ReadControl(dtPH_ ,'').Text := ini.ValueString('txt', ReadControl(dtPH_ ,'').Text);|3: //|19: Free_And_Nil(ini);|4:end;|0:|4:end.| link(dtPH_,13134892:PHandle,[]) } Add(Edit,13134892,287,217) { Left=20 Top=20 Width=200 Text="" Point(PHandle) }