Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
1

Чтение из ini файла

09.05.2011, 15:24. Показов 4019. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Значит записал я в ini файл название вопроса который ввёл в Edit1 , ка мне его вывести в Edit4 ?
Записал
Delphi
1
ini2.WriteString('Vopros'+IntToStr(k),'Вопрос',edit1.Text);
Не вывел
edit4.Text:= ini.ReadString('vopros'+IntToStr(s),'1', 'dwqdq');
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2011, 15:24
Ответы с готовыми решениями:

Чтение .ini файла
Здравствуйте. Подскажите новичку пожалуйста такую "весч": procedure TForm1.Button3Click(Sender:...

Чтение ini файла
При запуске программы нужно проверить, не равен ли 1 в секции PassSetted параметр AreSetted и если...

чтение из ini файла
здравствуйте товарищи программисты.делаю тест и надо чтобы вопросы выборочно подгружались из ini...

Чтение с ini файла...
Нужно открыть настройки ListBox с ini файла.... Когда делаю выдает ошибки... Подскажите как...

23
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
09.05.2011, 16:46 2
Цитата Сообщение от ByAdD Посмотреть сообщение
Значит записал я в ini файл название вопроса который ввёл в Edit1 , ка мне его вывести в Edit4 ?
Записал
Delphi
1
ini2.WriteString('Vopros'+IntToStr(k),'Вопрос',edit1.Text);
Не вывел
edit4.Text:= ini.ReadString('vopros'+IntToStr(s),'1', 'dwqdq');
а смотрите, ini2 записываем, а читаем из ini
0
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
09.05.2011, 16:49  [ТС] 3
Да уж... чёт я совсем не внимательный...
Исправил но вылеает ошибка
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
09.05.2011, 16:53 4
какая?
0
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
09.05.2011, 16:53  [ТС] 5
[items1]
2=0
3=1
4=0
[items2]
2=0
5=0
3=1
Вот так выглядет ini

А так выглядет ini2
[Vopros1]
Вопрос=Какое число?
[Vopros2]
Вопрос=Какой день?


Тперь вывожу ini
CheckListbox2.Checked[i] := ini.ReadBool('items'+IntToStr(s), Checklistbox2.Items[i], False);

А вот вывод ini2
edit4.Text:= ini2.ReadString('vopros'+IntToStr(s),'Вопрос', '')
при запуске ini выводит а ini2 нет вместе с этим вылетает ошибка я так понял недопустимый адрес или что то в этом роде
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
09.05.2011, 16:55 6
ну и опять же vopros и Vopros в файле одно, а пытаемся считать другое...
1
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
09.05.2011, 16:57  [ТС] 7
Access violation at address 004556DD in module "Project2.exe." Read of address 00000000

Добавлено через 52 секунды
изменил, но ошибка та же и не считывает
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
09.05.2011, 16:58 8
как инициализирована и какая работа с ней происходит, с Ini2???
0
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
09.05.2011, 17:02  [ТС] 9
Delphi
1
2
3
4
5
6
7
8
9
10
11
begin
k:=k+1;
 ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'test.ini');
ini2 := TIniFile.Create('C:\Documents and Settings\AdDa\Рабочий стол\Пз\курсач\test2.ini');
 try
 for i := 0 to Checklistbox1.Items.Count - 1 do
 ini.WriteBool ('items'+IntToStr(k),Checklistbox1.Items[i], Checklistbox1.Checked[i]) ;
  ini2.WriteString('Vopros'+IntToStr(k),'Вопрос',edit1.Text);
 finally
 ini.Free;
 end;
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
09.05.2011, 17:07 10
s-это вводимое число пользователем? Может вводите число одно, а в файле с такой цифрой не находится названия?

Добавлено через 1 минуту
ха кое что заметил, в for производятся 2 действия, нужно поставить begin end
0
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
09.05.2011, 17:08  [ТС] 11
Блин не тот код это код для записи в ini сним норм всё
вот нужный не рабочий так сказать
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
begin
s := 0;
  s := strtoint(Edit3.Text);
    ini := TIniFile.Create('C:\Documents and Settings\AdDa\Рабочий стол\Пз\курсач\test.ini');
   try
     ini.ReadSection('items'+IntToStr(s), Checklistbox2.Items);
     for i := 0 to Checklistbox2.Items.Count - 1 do
   CheckListbox2.Checked[i] := ini.ReadBool('items'+IntToStr(s), Checklistbox2.Items[i], False);
  edit4.Text:= ini2.ReadString('Vopros'+IntToStr(s),'Вопрос', '')
   finally
     ini.Free;
   end;
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
09.05.2011, 17:11 12
9 строка должна к циклу относиться? если да то нужно begin end - больше чем 1 оператор в теле цикла
0
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
09.05.2011, 17:13  [ТС] 13
ставил но ничего не изменилось
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
09.05.2011, 17:14 14
и s сразу равна 0, а в ini нету такого с нулем там есть vopros1 и vopros2, то есть нету там vopros0
0
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
09.05.2011, 17:16  [ТС] 15
Так перменную S мы как бы очистили S:=0 и потом ввели значение .... оно ведь выводит текст из ini ...
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
09.05.2011, 17:18 16

Не по теме:

извините ... туплю



Добавлено через 1 минуту
Цитата Сообщение от ByAdD Посмотреть сообщение
Блин не тот код это код для записи в ini сним норм всё
вот нужный не рабочий так сказать
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
begin
s := 0;
  s := strtoint(Edit3.Text);
    ini := TIniFile.Create('C:\Documents and Settings\AdDa\Рабочий стол\Пз\курсач\test.ini');
   try
     ini.ReadSection('items'+IntToStr(s), Checklistbox2.Items);
     for i := 0 to Checklistbox2.Items.Count - 1 do
   CheckListbox2.Checked[i] := ini.ReadBool('items'+IntToStr(s), Checklistbox2.Items[i], False);
  edit4.Text:= ini2.ReadString('Vopros'+IntToStr(s),'Вопрос', '')
   finally
     ini.Free;
   end;
ну тут то ini2 не создана, вот и не знает как к ней обратиться

Добавлено через 49 секунд
а тот который вы до этого присылали проект, и сказали то там работает там Ini2 создана
1
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
09.05.2011, 17:21  [ТС] 17
Хахаха а говорите это вы тупите...
я уж ппц каждый день поражаюсь сам себе из за своей невнимательности)
Всё заработало)

Добавлено через 50 секунд
спасиб опять вам большое
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
09.05.2011, 17:42 18
удобнее создать процедуру в которой хранить пути к ini чтобы 100 раз не прописывать
например вот так, сократить писанину в разы
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button1Click(Sender: TObject);
begin
  InitIni('Ini1');
  Ini.WriteInteger('Sektion1', 'Identificator1', 100);
  InitIni('Ini2');
  Ini.WriteInteger('Sektion2', 'Identificator2', 10000000);
end;
 
procedure TForm1.InitIni(IniName: String);
begin
  Ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+IniName+'.ini');
end;
0
20 / 3 / 3
Регистрация: 08.05.2011
Сообщений: 195
09.05.2011, 17:52  [ТС] 19
Что то не получается при записи опять та ошибка...
0
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
09.05.2011, 17:56 20
извиняй мне сейчас уехать нужно на пару часов, пиши, приду отвечу или кто-то перехватит еще напишет
0
09.05.2011, 17:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2011, 17:56
Помогаю со студенческими работами здесь

Чтение из *.ini файла
Всем привет прошу помочь с микро програмулькой Uses Inifiles; Var ini: TInifile; procedure...

Чтение ini файла
ini := Tinifile.Create('F:\рограммирование\лаба3зад2\name.ini'); label3.caption :=...

Чтение Ini файла. ListBox
Чтение. Каким образом написать? Желательно весь код

Чтение txt/ini файла из ресурсов
В проекте есть 4 ini ресурса, как мне их прочитать? Я понимаю, что возможно делаю полную чушь, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru