![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TEDIT [D6]
Начинающий5 © (2006-12-10 11:54:00)Здраствуйте Мастера
помогите кто чем сможет
как сохранить текст в Tedit т.е при следуещем запуске программы появлялся текст который был сохранен
MsGuns (2006-12-10 13:42:00) [1]>ctudent © (10.12.06 12:04) [3]
Ошибки в коде:
1. Называть ini-file над интуитивно понятно. Например, 'Settings.ini', имя файла лучше прописывать глобальной константой.
2. IniF :=TiniFile.Create('.\edit.ini'); - так писАть нельзя. Если предполагается инишку держать в папке с приложением, то надо
TIniFile.Create(ExtractFilePath(Application.ExeName)+CONST_APPLICATIO_INIFILENAME+'.ini');
3. IniF.WriteString('Text', 'Edit', Edit1.Text ');
4. Автоматическое сохранение настроек по завершении программы чревато неприятностями последующих запусков после "нечаянного" завершения. Плэтому изменение и сохранение настроек лучше всего делать в специальном режиме как это реализовано в профессионально сделанном интерфейсе. А если все же сохраняете, то не следует это детать в OnDestroy - вместо этого использейте ONClose.
Anatoly Podgoretsky (2006-12-10 13:16:00) [2]> ctudent (10.12.2006 12:37:10) [10]
Я не доказываю какой стиль лучше, а то что приведенный код нерабочий, а если повезет то и опасный. А доказательство стиля оставлю тебе.
ctudent (2006-12-10 12:37:00) [3]
> Anatoly Podgoretsky
Отойдём от разногласий. Вы по своему делаете я по своему каждый программист пишит по своему. И не зачем мне кажется тут доказывать друг другу что какой стиль лучше?
Anatoly Podgoretsky (2006-12-10 12:34:00) [4]> ctudent (10.12.2006 12:28:08) [8]
А тебе вообще ничего не придется выковыривать, поскольку даже записать не сможешь.
А насчет умения пользование regedit и правил переноса (инсталяции) я вообще молчу, видимо ты далек от этого. У тебя потенциально нерабочий код.
ctudent (2006-12-10 12:28:00) [5]
> Чем же оно будет проще, кроме кучи определенных проблем,
> типа тех которые ты сразу заложил в свой пример.
Если программа будет переносится на другой компьютер то данные сохранённые в реестре вы как будете выковыривать?
Anatoly Podgoretsky (2006-12-10 12:22:00) [6]> ctudent (10.12.2006 12:06:05) [5]
Чем же оно будет проще, кроме кучи определенных проблем, типа тех которые ты сразу заложил в свой пример.
Anatoly Podgoretsky (2006-12-10 12:20:00) [7]> Начинающий5 (10.12.2006 12:02:02) [2]
with TRegistry do
try
OpenKey(....);
WriteString('Ident', Edit.Text);
finally
Free;
end;
Начинающий5 (2006-12-10 12:06:00) [8]
> ctudent
Спасибо!!!
ctudent (2006-12-10 12:06:00) [9]
> Начинающий5 (10.12.2006 11:54:00) [0]
>
> В реестре или в файле, вариантов множество. Реестр проще.
>
> <Цитата>
Ну для кого как? С реестром в принципе тоже несложно. Но ини файл скорее проще будет для начинающего
ctudent (2006-12-10 12:04:00) [10]Используй INIFILE
Пример.
Uses Windows, Messages, ........, IniFiles;
procedure SaveEdit1;
procedure LoadEdit1;
var
IniF: TIniFile;
procedure SaveEdit1.IniFile;
begin
IniF :=TiniFile.Create('.\edit.ini');
IniF.WriteString('Text', 'Edit', Edit1.Text');
IniF.Free;
end;
procedure LoadEdit1.IniFile;
begin
IniF :=TiniFile.Create('.\edit.ini');
edit1.text :=IniF.ReadString('Text', 'Edit', Edit1.Text);
IniF.Free;
end;
На событие формы OnDestroy вызываешь процедуры SaveEdit1,
На событие формы OnCreate вызываешь процедуру LoadEdit1.
Есть и множество других способов. Это самый примитивный но самый распространённый.
Начинающий5 (2006-12-10 12:02:00) [11]
> Anatoly Podgoretsky
Напишите пожалуйста маленнький примерчик!
Anatoly Podgoretsky (2006-12-10 11:59:00) [12]> Начинающий5 (10.12.2006 11:54:00) [0]
В реестре или в файле, вариантов множество. Реестр проще.