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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2007, 21:01   #1
dmitrymoskva
 
Регистрация: 20.10.2007
Сообщений: 4
По умолчанию label

Как сохранить символы введённые в label что бы при закрытии программы и снова при открытии запоминала введенный текст
dmitrymoskva вне форума Ответить с цитированием
Старый 23.10.2007, 21:14   #2
Илюха
Заблокирован
 
Регистрация: 29.09.2007
Сообщений: 106
По умолчанию

Только хотел это спросить!! Мне тоже интересно!! Наверное надо сохранять в ini файле.
Но если есть чё то по легче - пожалуйста нипишите.
Илюха вне форума Ответить с цитированием
Старый 23.10.2007, 21:31   #3
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
Подмигивание

Почему иногда лучше использовать INI-файлы, а не реестр?

1. INI-файлы можно просмотреть и отредактировать в обычном блокноте.
2. Если INI-файл хранить в папке с программой, то при переносе папки на другой компьютер настройки сохраняются. (Я еще не написал ни одной программы, которая бы не поместилась на одну дискету
3. Новичку в реестре можно запросто запутаться или (боже упаси), чего-нибудь не то изменить.

Поэтому для хранения параметров настройки программы удобно использовать стандартные INI файлы Windows. Работа с INI файлами ведется при помощи объекта TIniFiles модуля IniFiles. Краткое описание методов объекта TIniFiles дано ниже.

Constructor Create('d:\test.INI');
Создать экземпляр объекта и связать его с файлом. Если такого файла нет, то он создается, но только тогда, когда произведете в него запись информации.

WriteBool(const Section, Ident: string; Value: Boolean);
Присвоить элементу с именем Ident раздела Section значение типа boolean

WriteInteger(const Section, Ident: string; Value: Longint);
Присвоить элементу с именем Ident раздела Section значение типа Longint

WriteString(const Section, Ident, Value: string);
Присвоить элементу с именем Ident раздела Section значение типа String


ReadSection (const Section: string; Strings: TStrings);
Прочитать имена всех корректно описанных переменных раздела Section (некорректно описанные опускаются)

ReadSectionValues(const Section: string; Strings: TStrings);

Прочитать имена и значения всех корректно описанных переменных раздела Section. Формат :

имя_переменной = значение

EraseSection(const Section: string);
Удалить раздел Section со всем содержимым

ReadBool(const Section, Ident: string; Default: Boolean): Boolean;
Прочитать значение переменной типа Boolean раздела Section с именем Ident, и если его нет, то вместо него подставить значение Default.

ReadInteger(const Section, Ident: string; Default: Longint): Longint;

Прочитать значение переменной типа Longint раздела Section с именем Ident, и если его нет, то вместо него подставить значение Default.

ReadString(const Section, Ident, Default: string): string;
Прочитать значение переменной типа String раздела Section с именем Ident, и если его нет, то вместо него подставить значение Default.

Free;
Закрыть и освободить ресурс. Необходимо вызвать при завершении работы с INI файлом

Property Values[const Name: string]: string;
Доступ к существующему параметру по имени Name

Пример :
Код:
 
Procedure TForm1.FormClose(Sender: TObject);
var
IniFile:TIniFile;
begin
IniFile := TIniFile.Create('d:\test.INI'); { Создали экземпляр объекта }
IniFile.WriteBool('Options', 'Sound', True); { Секция Options: Sound:=true }
IniFile.WriteInteger('Options', 'Level', 3); { Секция Options: Level:=3 }
IniFile.WriteString('Options' , 'Secret password', Pass); 
 { Секция Options: в Secret password записать значение переменной Pass }
IniFile.ReadSection('Options ', memo1.lines); { Читаем имена переменных}
IniFile.ReadSectionValues('Options ', memo2.lines); { Читаем имена и значения }
IniFile.Free; { Закрыли файл, уничтожили объект и освободили память }
end;
Сложнее простоты ничего не бывает. (Георгий Александров)
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 23.10.2007, 22:42   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Но если есть чё то по легче - пожалуйста нипишите.
Илюха, специально для тебя
Кидаешь на форму Мемо, делаешь его невидимым. На событие OnClose формы пишешь
Код:
Memo1.Text:=Label1.Caption;
Memo1.Lines.SaveToFile('label.txt');
на событие OnCreate
Код:
if FileExists('label.txt') then
begin
Memo1.Lines.LoadFromFile('label.txt');
Label1.Caption:=Memo1.Text;
end 
else Label1.Caption:='надпись по умолчанию';
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 23.10.2007, 23:08   #5
dmitrymoskva
 
Регистрация: 20.10.2007
Сообщений: 4
По умолчанию А почему с Edit не проходит

Цитата:
Сообщение от mutabor Посмотреть сообщение
Илюха, специально для тебя
Кидаешь на форму Мемо, делаешь его невидимым. На событие OnClose формы пишешь
Memo1.Text:=Label1.Caption;
Memo1.Lines.SaveToFile('label.txt') ;

на событие OnCreate
if FileExists('label.txt') then
begin
Memo1.Lines.LoadFromFile('label.txt ');
Label1.Caption:=Memo1.Text;
end
else Label1.Caption:='надпись по умолчанию';
А почему если Label заменить на Edit, не проходит?
dmitrymoskva вне форума Ответить с цитированием
Старый 23.10.2007, 23:49   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Edit1.Text;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 24.10.2007, 17:22   #7
Илюха
Заблокирован
 
Регистрация: 29.09.2007
Сообщений: 106
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
Илюха, специально для тебя
Кидаешь на форму Мемо, делаешь его невидимым. На событие OnClose формы пишешь
Код:
Memo1.Text:=Label1.Caption;
Memo1.Lines.SaveToFile('label.txt');
на событие OnCreate
Код:
if FileExists('label.txt') then
begin
Memo1.Lines.LoadFromFile('label.txt');
Label1.Caption:=Memo1.Text;
end 
else Label1.Caption:='надпись по умолчанию';
Благодарю
Илюха вне форума Ответить с цитированием
Старый 24.10.2007, 18:54   #8
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

бр.. ну и написали..
AlDelta - ты бот чтоли?
По теме:
используем файлы, простые текстовые файлы
Код:
procedure SaveLabel;
var 
f:textfile;
s:string;
begin
assignfile('config.txt');
rewrite(f);
s:=form1.label1.caption;
writeln(f,s);
closefile(f);
end;

procedure LoadLabel;
var 
f:textfile;
s:string;
begin
assignfile('config.txt');
reset(f);
readln(f,s)
form1.label1.caption:=s;
closefile(f);
end;
zetrix вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Label artemavd Общие вопросы Delphi 2 11.07.2008 11:15
Label Kocapb Общие вопросы C/C++ 2 17.01.2008 01:50
Label PROGR Компоненты Delphi 3 18.05.2007 22:25
Label Oksana Компоненты Delphi 2 22.04.2007 20:54
Вопрос по label. Как сделать так чтобы label была прозрачной. Lonix Компоненты Delphi 2 01.04.2007 06:23