![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Привет, ребята. У меня возникла проблема. Я пишу текстовый редактор. Но он может открывать только нетипизированные файлы (*.txt). А как сделать так, чтобы он открывал файлы только своего расширения. (Например: <имя файла>.dia) и еще при просмотре свойств сохраненного моим редактором файла, там было написано «Файл + <имя приложения>». И как при сохранении документа сделать так чтобы, ему присваивался свой значок (отличный от стандартного Windows’овского.
|
|
#2
|
||||
|
||||
|
Цитата:
Цитата:
|
|
#3
|
||||
|
||||
|
Можно подробнее о связывании приложения с расширением (с присваиванием сохр. документу, значка приложения)
|
|
#4
|
||||
|
||||
|
Код:
uses
..., Registry;
procedure Registration( FileType, // Тип файла (расширение)
FileTypeName, // Имя
Description, // Описание
ExecCommand, // Путь к запускному файлу
Index: string ); // Индекс иконки
var
reg: TRegistry;
begin
if ( FileType = '' ) or ( FileTypeName = '' ) or
( ExecCommand = '' ) then Exit;
if FileType[1] <> '.' then FileType := '.' + FileType;
if Description = '' then Description := FileTypeName;
reg := TRegistry.Create;
with Reg do
begin
RootKey := HKEY_CLASSES_ROOT;
OpenKey( FileType, true );
WriteString( '', FileTypeName );
CloseKey;
OpenKey( FileTypeName, true );
WriteString( '', Description );
CloseKey;
OpenKey( FileTypeName + '\DefaultIcon', true );
WriteString( '', ExecCommand + ', ' + Index );
CloseKey;
OpenKey( FileTypeName + '\Shell\Open\Command', true );
WriteString( '', ExecCommand + ' %1' );
end;
reg.Free;
end;
procedure TMainFrm.BitBtn1Click(Sender: TObject);
begin
Registration( 'fs', 'fsBase', 'fs Base', Application.ExeName, '0' );
end; |
|
#5
|
||||
|
||||
|
Спасибо, Decoding. Не знаю, чтобы я делал без твоей помощи.
|
|
#6
|
|||
|
|||
|
Цитата:
![]() |