![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ListBox + INI [D7, XP]
Mozgan © (2006-04-26 13:37:00)Мастера здавствуйте!
Подскажите пожалуйста, в чем ошибка?
Мне нужно в ini записать содержимое листбокса, а потом загрузить обратно из инишки в листбокс.
Вот мой кусок - чета не получается. В чем ошибка не пойму никак...
Если не трудно объясните что к чему. Буду рад!
procedure TForm1.FormCreate(Sender: TObject);
begin
ini:=TIniFile.Create(extractfilepath(paramstr(0))+'setup.ini');
List.Items.Strings[k]:=ini.ReadString('path','dir',list.Items.Strings[i]);
ini.Free;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ini:=TIniFile.Create(extractfilepath(paramstr(0))+'setup.ini');
for i:=0 to list.Items.Count-1 do
ini.WriteString('path','dir',list.Items[i]);
ini.Free;
end;
Плохиш (2006-04-26 14:25:00) [1]
procedure TForm1.FormDestroy(Sender: TObject);
var
i: Integer;
begin
ini:=TIniFile.Create(extractfilepath(paramstr(0))+'setup.ini');
try
ini.WriteInteger('path','count',list.Items.Count-1); for i:=0 to list.Items.Count-1 do
ini.WriteString('path','dir' + IntToStr(i),list.Items[i]);
finally
ini.Free;
end;
end;
Плохиш (2006-04-26 14:22:00) [2]
> Mozgan (26.04.06 14:05) [9]
procedure TForm1.FormCreate(Sender: TObject);
var
i, max: Integer;
sTmp: String;
begin
ini:=TIniFile.Create(extractfilepath(paramstr(0))+'setup.ini');
try
max := ini.ReadInteger('path','count',-1);
List.Items.Clear;
for i := 0 to max do
begin
sTmp := ini.ReadString('path','dir' + IntToStr(i), '');
if sTmp <> '' then List.Items.Add(sTmp);
end;
finally
ini.Free;
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
var
i: Integer;
begin
ini:=TIniFile.Create(extractfilepath(paramstr(0))+'setup.ini');
try
for i:=0 to list.Items.Count-1 do
ini.WriteString('path','dir' + IntToStr(i),list.Items[i]);
finally
ini.Free;
end;
end;
Mozgan (2006-04-26 14:05:00) [3]Господа, подскажите тогда хотя бы, как сохранить все содержимое листбокса в ini.
Mozgan (2006-04-26 13:55:00) [4]Плохиш прекрати умоляю! Я лишь начинающий поэтому и трудности у меня.
Mozgan (2006-04-26 13:54:00) [5]Попытался переправить мозги. Пишу так:
list.Items.Add(ini.ReadString('path','dir',list.Items[i]));
Плохиш (2006-04-26 13:53:00) [6]
> Уважаемые мастера! третий день бьэс над этим вопросом.
Тут три варианта:
1. бьэс-я дальше.
2. Почитать основы.
3. Сменить профессию.
Mozgan (2006-04-26 13:51:00) [7]Как это не объявлено? Я просто экономлю место :)
var
Form1: TForm1;
i, k: integer;
ini: TIniFile;
procedure TForm1.FormCreate(Sender: TObject);
begin
ini:=TIniFile.Create(extractfilepath(paramstr(0))+'setup.ini');
List.Items[i]:=ini.ReadString('path','dir',list.Items[i]);
ini.Free;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ini:=TIniFile.Create(extractfilepath(paramstr(0))+'setup.ini');
for i:=0 to list.Items.Count-1 do
ini.WriteString('path','dir',list.Items[i]);
ini.Free;
end;
Уважаемые мастера! третий день бьэс над этим вопросом.
Подскажите пожалуйста!
Плохиш (2006-04-26 13:50:00) [8]
> Mozgan (26.04.06 13:48) [2]
> Если писать Add сразу же перед := то возникает ошибка.
Мда, надо было в [1] словоМЕТОДвыделять. Исправляюсь
Mozgan (2006-04-26 13:48:00) [9]Если писать Add сразу же перед := то возникает ошибка.
Virgo_Style (2006-04-26 13:48:00) [10]Mozgan (26.04.06 13:37)
List.Items.Strings[k]:=ini.ReadString('path','dir',list.Items.Strings[i]);
ошибка в необъявленной переменной k. Как минимум.
Значение по умолчанию странноватое выбрано.
Зачем по-разному сохранять и загружать - непонятно.
запись сделана неверно.
неясно, зачем вообще сохранять в ini (впрочем, хозяин - барин)
Плохиш (2006-04-26 13:45:00) [11]
> List.Items.Strings[k]:=ini.ReadString('path','dir',list.
> Items.Strings[i]);
Вот здесь ошибка, надо использовать метод Add