Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение/чтение данных проги в файл, Какой файл нужно для этого использовать 
:(
    Опции темы
Drizhenko
Дата 11.1.2006, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 13.1.2005

Репутация: нет
Всего: нет



Моя прога использует определенные данные, которые по умолчанию вбиты в текстовые поля. Как сделать так, чтобы если пользователь внес изменения в эти поля, поставил свои значения, то при следующем запуске программа запускалась с этими значениями. Наверное, нужно использовать какойнибудь файл. Куда будут вноситься изминения. Подскажите как это можно сделать. И какой тип файла для этого можно использовать?
PM MAIL   Вверх
chaos
Дата 11.1.2006, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



как вариант если полей не много то можно использовать реестр
ну а если много то можно использовать ini файлы

Это сообщение отредактировал(а) chaos - 11.1.2006, 08:13
PM WWW   Вверх
~FoX~
Дата 11.1.2006, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



А если очень много, то использовать БД smile


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Albinos_x
Дата 11.1.2006, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата(chaos @ 11.1.2006, 08:10 Найти цитируемый пост)

как вариант если полей не много то можно использовать реестр
ну а если много то можно использовать ini файлы

или обычный текстовый файл...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Drizhenko
Дата 11.1.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 13.1.2005

Репутация: нет
Всего: нет



Полей не много. Тогда у меня возникает следующий вопрос. Читал инфу про .inf файлы, выяснил что они предназначены для инсталяции оборудования, а ini файлы то же самое что .inf. Так ли это? И еще раньше пробовал через текстовые файлы делать, но как от туда извлекать инфу? Например нужно прочитать десятый символ в пятой строке?
PM MAIL   Вверх
Albinos_x
Дата 11.1.2006, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата
Например нужно прочитать десятый символ в пятой строке?

Код
...
Readln(f,s);
if length(s)>10 then
   Simvol10:=s[10]
   else
   Simvol10:='' ;
...



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Drizhenko
Дата 11.1.2006, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 13.1.2005

Репутация: нет
Всего: нет



Если я правильно понял, то будет читать просто десятый символ. А как насчет пятой строки???
PM MAIL   Вверх
Albinos_x
Дата 11.1.2006, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата(Drizhenko @ 11.1.2006, 11:22 Найти цитируемый пост)

А как насчет пятой строки???

самый простой способ:
Код
...    
reset(f);
for i:=0 to 4 do
   Readln(f,s);
stroka5:=s;



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Guedda
Дата 11.1.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Вообще лажа все.
Лучше пользоваться ini-файлами. Делается это следующим образом.
Пример: Необходимо запомнить, где находится окно приложения и при следующем запуске программы установить окно в позицию при закрытии. Это делается очень просто:
Код

uses
  ...,IniFiles,... //подключаем модуль для работы с ini файлами

...

procedure TForm1.FormCreate(Sender : Tobject); //Здесь вытаскиваются из файла данные по расположению.
var
  IniFile : TIniFile;
begin
  IniFile := TIniFile.Create('MyIniFile.ini'); //пытаемся подгрузить файл
  Form1.Left := IniFile.ReadInteger('POSITION', 'Left', 100); //если такого параметра нет, то по умолчанию стоит 100 пикс.
  Form1.Top := IniFile.ReadInteger('POSITION', 'Top', 100); //то же самое
  IniFile.Free; //освобождаем
end;

...

procedure TForm1.FormDestroy(Sender : TObject); //здесь мы будем сохранять позицию
var
  IniFile : TIniFile;
begin
  IniFile := TIniFile.Create('MyIniFile.ini');
  IniFile.WriteInteger('POSITION', 'Left', Form1.Left); //записываем левый параметр
  IniFile.WriteInteger('POSITION', 'Top', Form1.Top); //записываем верхний параметр
  IniFile.Free; //освобождаем
end;


Файл MyIniFile.ini будет выглядеть вот так:
Код

[POSITION]
Left=460
Top=302

Это самое легкое. В общем поразбираться, и понравится.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
YurikGL
Дата 11.1.2006, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



Лучше всего использовать INI
Если хочешь показаться современным или данные имеют сложную структуру - пользуй XML...
--------------------
 
PM MAIL WWW ICQ   Вверх
~FoX~
Дата 11.1.2006, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Если данных не много, то можно и реестр использовать....Получиться тоже что и INI только красивше.


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Drizhenko
Дата 11.1.2006, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 13.1.2005

Репутация: нет
Всего: нет



Спасибо, попробую c ini файлом. А насчет реестра. Как вы думаете если его засорять всяким барохлом, потом винда не будет тормозить?
PM MAIL   Вверх
Guedda
Дата 11.1.2006, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Нет. Винда то тормозить не будет, если правильно создавать ветки и ключи...


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
~FoX~
Дата 11.1.2006, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Drizhenko
А просто нужно аккуратненько за собой прибрать при надобности и неичего не случиться....


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Drizhenko
Дата 13.1.2006, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 13.1.2005

Репутация: нет
Всего: нет



Ничего не понимаю, что за фигня такая. Код Guedda работает, но изминения в ini файле не происходит, хотя окно появляется там же где и исчезло.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.