Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2009, 22:02   #1
varelik
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 140
По умолчанию чтение из ini динамических компонентов

Здравствуйте, товарищи эксперты!
Ай нид хелп..
Не читаются из ini динамически сохраненные в него компоненты формы.
С записью все ОК. Привожу код:
Код:
//запись
procedure TForm1.save1Click(Sender: TObject);
   var
  IniFile : TIniFile;
     i1: Integer;  
  i:integer;
  section:string; 
  begin
  SaveDialog1.FileName:='c:\'+form4.Edit4.Text+form4.Edit3.Text;
  SaveDialog1.DefaultExt:='ini';
  if SaveDialog1.Execute then
  begin
 i:=0;
 for I1 := 0 to panel1.ControlCount - 1 do
  begin
 if (panel1.Controls[i1] is timage1) then
  begin
 IniFile := TIniFile.Create(SaveDialog1.FileName);
 inc(i);
 section:=format('image%d',[i]); 
//чтобы сократить код - записываю только left имиджа:
 inifile.writeInteger(section,'left',panel1.Controls[i1].left);
 IniFile.Free;
 end;
 end;
 end;
 end;


//загрузка
procedure TForm1.open1Click(Sender: TObject);
     var   
  IniFile : TIniFile;
     i1: Integer; 
  i:integer;
  section:string; 
begin
  if OpenDialog1.Execute then
  begin
  i:=0;
 for I1 := 0 to panel1.ControlCount - 1 do
  begin
 if (panel1.Controls[i1] is timage1) then
  begin
    SpeedButton4Click(self);//по этой кнопке на panel1 формы имиджи создаются, типа- скока кликов по ней- стока имиджов на форме
IniFile:=TIniFile.Create(OpenDialog1.FileName);
  inc(i);
 section:=format('image%d',[i]); 
panel1.Controls[i1].Left:=IniFile.ReadInteger(section,'Left',panel1.Controls[i1].left);
 IniFile.Free;
   end;
end;
 end;
   end;
Возможно это и раньше обсуждалось, но не могу найти(
и еще- без циклов с controlcount, если сохранял и читал только timage1(new).left вместо
panel1.Controls[i1].left, то все отлично читалось- значит проблема с организацией цикла в чтении.. наверно..


все, сделал, тема закрыта

Последний раз редактировалось varelik; 28.08.2009 в 17:01.
varelik вне форума Ответить с цитированием
Старый 02.09.2009, 19:34   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,532
По умолчанию

SpeedButton4Click(self);//по этой кнопке на panel1 формы имиджи создаются, типа- скока кликов по ней- стока имиджов на форме
создаются стало быть сначала их нет,
а в этом случае (panel1.Controls[i1] is timage1)=FALSE
да и panel1.ControlCount=0
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 03.09.2009, 17:35   #3
varelik
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 140
По умолчанию

да уж разобрался давно), все правильно говорите
varelik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение параметров из ini файла Яр|/||< (^_^) Общие вопросы Delphi 2 29.06.2009 20:54
Чтение, чтение и еще раз чтение Alex Cones Общие вопросы Delphi 3 07.06.2009 15:28
обработка динамических массивов funky Помощь студентам 0 11.05.2009 17:53
C++. Объявление динамических массивов. Парсифаль Помощь студентам 27 03.05.2009 23:21