Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > запомнить директорию


Автор: Martisha 29.1.2009, 10:39
Всем добого времени суток!

В моей программе при запуске нужно задавать директорию, я использую для этого DirectoryEdit1 из библиотеки RxLib, т.е. получается при запуске DirectoryEdit1 всегда пустой,
вопрос такой:
возможно ли запоминать последнюю введенную директорию, чтоб не вводить каждый раз?!

Автор: Exciter 29.1.2009, 10:56
Код

const
  SectionMain    = '\SOFTWARE\ТвояПрога';
 
// запоминаем
With TRegIniFile.Create do
begin
 RootKey:=HKEY_CURRENT_USER;
 OpenKey(SectionMain, True);
 WriteString(SectionMain, 'Dir', DirectoryEdit.Text);
 Free;
end;

// восстанавливаем
With TRegIniFile.Create do
begin
 RootKey:=HKEY_CURRENT_USER;
 OpenKey(SectionMain, True);
 DirectoryEdit.Text := ReadString(SectionMain, 'Dir', 'Дира по умолчанию');
 Free;
end;


Делов то.


M
Alexeis
Модератор: используйте подсветку кода

Автор: Martisha 29.1.2009, 11:13
Exciter, пасиб, все получилось, еще uses нужно Registry добавить  smile 

Автор: THandle 29.1.2009, 16:17
Exciter, не плохо бы данный код заключить в блок try..finally:

Код

with TRegIniFile.Create do
try
  RootKey := HKEY_CURRENT_USER;
  OpenKey(SectionMain, True);
  WriteString(SectionMain, 'Dir', DirectoryEdit.Text);
finally
  Free;
end;



Код

with TRegIniFile.Create do
try
  RootKey := HKEY_CURRENT_USER;
  OpenKey(SectionMain, True);
  DirectoryEdit.Text := ReadString(SectionMain, 'Dir', 'Дира по умолчанию');
finally  
  Free;
end;

Автор: Martisha 29.1.2009, 16:19
THandle, ok  smile 

Автор: Exciter 29.1.2009, 16:56
Люди. smile Это код показывающий решение вопроса.
А во что его заключать и где использовать это уже не мои проблемы.
В Try можно воткнуть каждую строку программы. И что ?

Автор: Akella 29.1.2009, 19:16
Exciter, это форум, и здесь могут дать свои ответы хоть 100 пользователей, даже если ты ответил правильно первый...  это же ещё и общение. Ты сюда пиписьками пришёл меряться?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)