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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2014, 13:46   #1
TUberwer
Форумчанин
 
Регистрация: 01.07.2013
Сообщений: 221
По умолчанию Подгрузка переменны

Всем привет, я хотел бы спросить.
У меня есть много переменных, типа integer и boolean.
Мне нужно создать процедуры две, одна будет сохранять все значения в файл, а другая из этого файла загружать все значения, и придавать эти значения переменным. Как такое можно сделать?
Думал может сохранять в memo, по строчкам, но как тогда придавать переменным значения с определенной строчки?
TUberwer вне форума Ответить с цитированием
Старый 01.02.2014, 13:48   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

TIniFile и справка по нем
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.02.2014, 13:55   #3
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

в uses прописываешь IniFiles

На событие OnCreate формы пишешь такой код:

Код:
begin
with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'config.ini') do
begin
Form1.Edit1.Text:=ReadString('Settings', 'Login', '');
Form1.Edit2.Text:=ReadString('Settings', 'Password', '');
Free;
end;
end;
На событие OnClose формы пишешь такой код:

Код:
begin
with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'config.ini') do
begin
WriteString('Settings', 'Login', Form1.Edit1.Text);
WriteString('Settings', 'Password', Form1.Edit2.Text);
Free;
end;
end;
FleXik вне форума Ответить с цитированием
Старый 01.02.2014, 14:54   #4
TUberwer
Форумчанин
 
Регистрация: 01.07.2013
Сообщений: 221
По умолчанию

Сделал так:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
//Подгружаем все
with TIniFile.Create('c:\options.ini') do
begin
money := ini.readinteger('values', 'money', money);
hp := ini.readinteger('values', 'hp', money);
happy := ini.readinteger('values', 'happy', money);
old := ini.readinteger('values', 'old', money);
day := ini.readinteger('values', 'day', money);
year := ini.readinteger('values', 'year', money);
resp := ini.readinteger('values', 'resp', money);
eat := ini.readinteger('values', 'eat', money);
month := ini.readinteger('values', 'month', money);
dolg1 := ini.readinteger('values', 'dolg1', money);
dolg2 := ini.readinteger('values', 'dolg2', money);
dolg3 := ini.readinteger('values', 'dolg3', money);
dz := ini.readinteger('values', 'dz', money);
komp := ini.readbool('values', 'komp', false);
internet := ini.readbool('values', 'internet', false);
gun := ini.readbool('values', 'gun', false);
mask := ini.readbool('values', 'mask', false);
dok := ini.readbool('values', 'dok', false);
povar := ini.readbool('values', 'povar',  false);
Free;
end;
end;
При запуске сразу ошибки и выключается

Системная ошибка вылазит:
Изображения
Тип файла: png Снимок.PNG (28.1 Кб, 63 просмотров)

Последний раз редактировалось Stilet; 01.02.2014 в 20:41.
TUberwer вне форума Ответить с цитированием
Старый 01.02.2014, 15:05   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

прежде чем шкодить, надо читать, а то навыхватывал куски разные а что к чему - только му
eval вне форума Ответить с цитированием
Старый 01.02.2014, 15:09   #6
TUberwer
Форумчанин
 
Регистрация: 01.07.2013
Сообщений: 221
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
прежде чем шкодить, надо читать, а то навыхватывал куски разные а что к чему - только му
Да нет, просто я взял, прочитал документацию, создавал переменную ini типа tinifile .
Потом создавал ини файл, все туда подгружал и оттуда выгружал.
Код вроде рабочий(писал сам и не выхватывал нигде..)
Но почему-то была системная ошибка.
Зашел снова в тему, вижу код кто-то написал.
Ну и случайно забыл убрать название переменной ini в начале.
Потом понял это, и сам исправил, просто не успел написать об этом в тему.. Так что код я не выхватывал нигде, и что к чему - знаю
TUberwer вне форума Ответить с цитированием
Старый 01.02.2014, 15:24   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Выхватывал. ini. откуда взялось?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.02.2014, 15:40   #8
TUberwer
Форумчанин
 
Регистрация: 01.07.2013
Сообщений: 221
По умолчанию

Цитата:
просто я взял, прочитал документацию, создавал переменную ini типа tinifile
Потом увидел как можно сделать с with и dо, ну и я же снова не буду все перепечатывать, каждую переменную, я взял, и скопировал код, который я ранее написалini). Ну и не заметил сразу ошибку.
TUberwer вне форума Ответить с цитированием
Старый 01.02.2014, 15:40   #9
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

1) создай Ini
Код:
ini.readinteger('values', 'dolg1', money);
а почему везде money? это как-то осмысленно?
т.к. третий параметр это число по умолчанию, если не найдется значения в файле
ZuBy вне форума Ответить с цитированием
Старый 01.02.2014, 17:17   #10
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Цитата:
Сообщение от TUberwer Посмотреть сообщение
Сделал так:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
//Подгружаем все
with TIniFile.Create('c:\options.ini') do
begin
money := ini.readinteger('values', 'money', money);
При запуске сразу ошибки и выключается
Сделал неправильно.

Код:
procedure TForm1.FormCreate(Sender: TObject);
var ini: TIniFile;
begin
//Подгружаем все
ini := TIniFile.Create('c:\options.ini'); 
money := ini.readinteger('values', 'money', 0); //третий параметр это значение по умолчанию
А ошибка была из за того, что ты объект ini не инициализировал. Хоть и попытался инициализировать сам класс.
doktor255 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ajax подгрузка Alchemist56 JavaScript, Ajax 5 05.12.2012 10:15
Подгрузка функции из .dll iLnes Общие вопросы Delphi 16 23.01.2012 07:05
Ajax. Подгрузка контента Избранный JavaScript, Ajax 0 04.01.2012 13:40
Подгрузка апплета по запросу ReGreed Общие вопросы по Java, Java SE, Kotlin 0 05.12.2011 16:49
подгрузка картинки bloger PHP 1 07.11.2011 14:13