Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.09.2016, 19:55
Arthosich Arthosich вне форума
Прохожий
 
Регистрация: 24.09.2016
Сообщения: 1
Версия Delphi: Delphi Turbo
Репутация: 10
По умолчанию Чтение из INI файла

Нужна помощь!
Я написал код для записи записи (извините за тавтологию)


Код:
type
  lists = record
  i,summ:integer;
  sroc: real;
  pr: array [1..30] of string;
  oc: array [1..30] of integer;
  fio:string;
end;

...

procedure TOtchForm.BitBtn8Click(Sender: TObject);
var
  a,b:integer;
begin
   Windows.DeleteFile('C:\123\IniFileName.Ini');
   for a := 1 to 20 do
   begin
     if list[a].fio <> '' then
     begin
     for b := 1 to 20 do
       begin
         if list[a].oc[b] <>0 then
         begin
           IniFile.WriteString(list[a].fio,'Предмет'+inttostr(b),list[a].pr[b]);
           IniFile.WriteInteger(list[a].fio,'Оценка'+inttostr(b),list[a].oc[b]);
         end;
       end;
       IniFile.WriteInteger(list[a].fio,'i',list[a].i);
       IniFile.WriteInteger(list[a].fio,'Сумма',list[a].summ);
       IniFile.WriteFloat(list[a].fio,'Средняя оценка',list[a].sroc);
     end;
   end;
   iniFile.free;
end;

Все записывается правильно. Теперь не знаю как считать
Пробывал так:
Код:
procedure TOtchForm.BitBtn16Click(Sender: TObject);
var
  v,p,g:integer;
begin
  IniFile.ReadSections(ComboBox1.items);
  for v := 1 to ComboBox1.DropDownCount+1 do
   begin

     for g := 1 to 20 do
     begin
      
       list[v].pr[g]:=(IniFile.ReadString(ComboBox1.items[g-1],'Предмет'+inttostr(g), '') );
       list[v].oc[g]:=IniFile.ReadInteger(ComboBox1.items[g-1],'Оценка'+inttostr(g), '');
       end;

    
     list[v].i:=IniFile.ReadInteger(ComboBox1.items[g-1],'i', '');
     list[v].summ:=IniFile.ReadInteger(ComboBox1.items[g-1],'Сумма', '');
     list[v].sroc:=IniFile.ReadFloat(ComboBox1.items[g-1],'Средняя оценка', '');

   end;

end;
не работает, как починить?

Последний раз редактировалось Arthosich, 24.09.2016 в 20:21.
Ответить с цитированием
  #2  
Старый 24.09.2016, 22:29
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Зачем же в INI записи пихать, в нём и так уже секции используются, для записей больше подходит типизированный файл, вот пример работы с ФПД
Вложения
Тип файла: zip Arthosich.zip (2.4 Кбайт, 0 просмотров)

Последний раз редактировалось Alegun, 25.09.2016 в 05:54.
Ответить с цитированием
  #3  
Старый 26.09.2016, 10:01
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

третий параметр у функции ReadЧеготоТам Должен быть тогоже типа, что и результат. То есть У чтения строки - строка, у чтения целого - целое
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:46.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter