Сохранить порядок колонок в DBGrid, после того как пользовать их перестроил
РЕКЛАМА!!!
Телефонный звонок в 2 часа ночи. Сонный мужик подходит к телефону:
- АЛЛО?!!!
Тишина. Кладет трубку. Ровно через 45 секунд опять звонок.
- АЛЛО?!!!!
Тишина. И так повторяентся 74 раза с регулярностью 45 секунд. Мужик:
- ПИИИИИИИи (длинный продолжительный писк, которым на телевидении заглушают матные слова) На другом конце провода довольный СисОп с лыбой во всю широту натуры, обнимающий небольшую коробочку. Голос за кадром:
- Делай всё, что тебе нравится вместе с модемом ZyXel!!!
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;
begin
NewIni(FN);
Ini := TIniFile.Create(FN);
with Ini dobeginfor i:=1 to Table1.FieldCount dobegin
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 thenraise Exception.Create('Errore nel file di configurazione.');
end;
function MyReadString(const Section, Ident: string): String;
begin
result := Ini.ReadString(Section, Ident, '');
if result='' thenraise Exception.Create('Errore nel file di configurazione.');
end;
begin
Ini := TIniFile.Create(FN);
trywith Ini dobeginfor i:=1 to Table1.FieldCount dobegin
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;
Статья Сохранить порядок колонок в DBGrid, после того как пользовать их перестроил раздела Компоненты и Классы TDBGrid может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.