Меню сайта
Мини-чат
Чтобы добавить сообщение, необходимо авторизоваться.
Главная » Статьи » Не стандартные примеры на Delphi » Pascal

Текущий модуль и проект

Компонент во время проектирования может знать имена текущих модулей и имя проекта. Все это можно получить с помощью ToolServices (см. файл TOOLINTF.PAS)

Имя текущего проекта можно получить с помощью вызова GetProjectName, список модулей/форм - с помощью функции GetUnitCount, которая возвратит количество модулей и затем с помощью GetUnitName(i) мы можем получить имя каждого модуля (также и с формами).

Вот примерный образец кода (получение и запись имен всех модулей/форм в StringGrid и имени проекта в Label):


   
procedure TInformationFrm.FormActivate(Sender: TObject);
{ необходимо: StringGrid1 (2 колонки, масса строк), Label1, Label2 }
var i,j: Integer;
Tmp: String;
begin
StringGrid1.Cells[0,0] := 'модулей:';
StringGrid1.Cells[1,0] := 'форм:';
if ToolServices <> nil then with ToolServices do
begin
Label1.Caption := ExtractFileName(GetProjectName); { простое имя }
Label2.Caption := GetProjectName;    { полное правильное имя пути }
for i:=0 to GetUnitCount do
begin
Tmp := ExtractFileName(GetUnitName(i));
StringGrid1.Cells[0,i+1] := Tmp;
Tmp := ChangeFileExt(Tmp,'.DFM');
for j:=0 to GetFormCount do
if ExtractFileName(GetFormName(j)) = Tmp then
StringGrid1.Cells[1,i+1] := Tmp
end
end
end;

- Dr. Bob 

Категория: Pascal | Добавил: DelphiAiX (09.05.2012)
Просмотров: 545 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]