Советы по Delphi

       

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


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

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

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

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

- Dr. Bob [000820]



Содержание раздела