DBGRID — сохранение конфигурации
DBGRID — сохранение конфигурации
DBGRID - сохранение конфигурации Нижеописанный код создает, сохраняет и загружает конфигурационный файл и изменяет размеры столбцов таблицы dbgrid uses windows, messages, sysutils, classes, graphics, controls, forms, dialogs, grids, dbgrids, db, dbtables, stdctrls, inifiles; ... procedure tmainform.newini(const nomeini: string); var f: system.text; i: byte; begin system.assign(f, nomeini); system.rewrite(f); system.writeln(f, '[campi_ordine]'); for i:=1 to table1.fieldcount do system.writeln(f, 'campo',i,'=',table1.fields[i-1].fieldname); system.writeln(f, ''); system.writeln(f, '[campi_size]'); for i:=1 to table1.fieldcount do system.writeln(f, 'campo',i,'=',table1.fields[i-1].displaywidth); system.close(f); end; procedure tmainform.saveini(const fn: string); var ini: tinifile; i: integer; s : string; begin newini(fn); ini := tinifile.create(fn); with ini do begin for i:=1 to table1.fieldcount do begin s:= table1.fields[i-1].fieldname; writestring('campi_ordine', 'campo'+inttostr(i), table1.fields[i-1].fieldname); writeinteger('campi_size', 'campo'+inttostr(i), table1.fields[i-1].displaywidth); end; end; ini.free; end; procedure tmainform.loadini(const fn: string); var ini: tinifile; i: integer; j: longint; s: string; function myreadinteger(const section, ident: string): longint; begin result := ini.readinteger(section, ident, -1); if result=-1 then raise exception.create('errore nel file di configurazione.'); end; function myreadstring(const section, ident: string): string; begin result := ini.readstring(section, ident, ''); if result='' then raise exception.create('errore nel file di configurazione.'); end; begin ini := tinifile.create(fn); try with ini do begin for i:=1 to table1.fieldcount do begin s:= myreadstring('campi_ordine', 'campo'+inttostr(i)); j:= myreadinteger('campi_size', 'campo'+inttostr(i)); table1.fieldbyname(s).index := i-1; table1.fieldbyname(s).displaywidth := j; end; end; finally ini.free; end; end;