Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2009, 18:56   #1
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
Восклицание проблемы с создание своего расширения!

всем привет, этот вопрос неоднократно был задан(наверное), но я уже долгое время пытался разобратся с созднием собственного расширения. Мне уже давали ссылки на статьи, но я всё равно немогу разобраться с этим. Вот если вам не трудно обьясните мне как это сделать пошагово.
Я пошёл путём Tregistry:
Код:
uses registry;
 
var
 reg:registry;

procedure ext;
 begin
  reg := tregistry.create;
  reg.RootKey := hkey_classes_root;
  reg.OpenKey('.'+extension.Text,true);
  reg.writedata('main', image1.picture.bitmap.handle);
  reg.closekey;
 end;
вот всё что я пока понял, и то незнаю правильно ли и это -) Люди помогите разобраться. Спасибо.
blackstersl вне форума Ответить с цитированием
Старый 02.08.2009, 22:03   #2
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

а шо тут гадать долго.. открой редактор реестра.. помотри как описано ЛЮБОЕ расширение файла.. и по аналогии делай..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 02.08.2009, 23:08   #3
Mr.Qwerty
Что? Где? Когда?
Форумчанин
 
Аватар для Mr.Qwerty
 
Регистрация: 14.07.2009
Сообщений: 220
По умолчанию

Вот смотри все по твоей проблеме...: Работа с реестром и INI-файлами в Delphi.doc
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Mr.Qwerty вне форума Ответить с цитированием
Старый 03.08.2009, 12:04   #4
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
По умолчанию

хорошо, а как потом сохранить например 3-5 картинок и текстовый файл в один файл с этим расширением, а потом прочитать?
blackstersl вне форума Ответить с цитированием
Старый 03.08.2009, 12:10   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в один файл
Например через TFileStream... А еще лучше в базу данных.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.08.2009, 12:40   #6
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
По умолчанию

а кто нить исходничек может подкинуть, а то в Net -e нет вообще никаких. Спасибо.
blackstersl вне форума Ответить с цитированием
Старый 03.08.2009, 13:17   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а то в Net -e нет вообще никаких.
Эта фраза переводится "Мне лень искать..."
Лень - плохо!
http://delphiworld.narod.ru/base/sti...eak_apart.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.08.2009, 13:17   #8
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

Подожди пару минут - счас подробно разпишу.
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Старый 03.08.2009, 13:44   #9
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

Код:
uses registry;

procedure TForm1.CreateExt;
var reg : TRegistry;
begin
  Reg:=TRegistry.Create;
  reg.RootKey:=hkey_classes_root;
  Reg.OpenKey('.aaa',true); //создаем и отркрываем ключ
  //в первом пареметре любое твое разширение
  //записываем значение по умолчанию
  reg.WriteString('','my.extencion'); //во втором параметре любой текст
  reg.CloseKey;

  Reg.OpenKey('my.extencion',true);//Здесь в первом
           //то же самое что выше во втором параметре
  reg.WriteString('','Описание разширения');
  //короче ниже так должно быть
  Reg.OpenKey('shell',true);
  Reg.OpenKey('open',true);
  reg.OpenKey('command',true);
  //Дальше записываем программу - с которой следует открывать файл с даным разшир.
  reg.WriteString('','"'+application.ExeName+'" "1%"');
  // 1% - в конце значит, что как параметр прога получит путь к файлу
  reg.CloseKey;
  reg.Free;
end;
Это создает нужные записи в реестре. Счас напишу что должна делать прога.
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Старый 03.08.2009, 13:50   #10
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

Следующий код желатильно написать в событии OnCreate:

Код:
procedure TForm1.FormCreate(Sender: TObject);
var FileName : string;
begin
//проверяем количество параметров, переданых проге
 //Если 0 - значит программа просто запущена и откырвать файл не надо,
 // если больше - значит В парамтре с номером 1 - путь к файлу,
 // который хотят открыть
  if ParamCount() >1 then
    begin
      fileName:=Paramstr(1);//получаем полный путь к файлу
      //А дальше делаем то, что нам нужно:)
    end;

end;
если чё не понятно пишы.
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создание своего архиватора kuzmich Общие вопросы Delphi 9 08.01.2009 06:17
создание своего формата данных CyberOrcX Gamedev - cоздание игр: Unity, OpenGL, DirectX 6 02.12.2008 17:36
Создание своего класса AlexandrSid Общие вопросы Delphi 3 19.05.2008 13:28
Проблемы расширения базы нужен скрип serg-php PHP 10 10.02.2008 19:15
Создание своего формата AnaSha Microsoft Office Excel 1 09.01.2007 16:20