Форум: "Основная";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];
ВнизТолько для настоящих мастеров. Найти похожие ветки
← →
Cr@sh (2002-08-24 09:58) [0]Мастера, подскажите, пожалуйста, как связать свое приложение с определенным типом файлов.
И как сделать так, чтобы при щелчке правой кнопкой на файле(допустим *.bmp) и выборе "Открыть с помощью..." моей программы, этот файл загрузился в Image моей программы?
Заранее спасибо, и извините за тофтологию:)
← →
SireX (2002-08-24 10:19) [1]Cr@sh, делается это следующим образом:
в процедуру FormCreate впиши одну строку:
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Picture.LoadFromFile(ParamStr(1));
end;
т.е. ParamSrt(1) - это и есть имя файла которое Windows припишет при открытии твой программы как параметр.
← →
SireX (2002-08-24 10:36) [2]Чтобы связать программу с определенным файлом придется полазить в реестре или в обычном windows окне "Сервис >> Свойства папки >> Типы файлов"
Но это не решение проблемы если ты хочешь чтобы программа сама регистрировалась под опр. типом файла. В этом случае используй Tregistry, (WriteString). Если получиться, то измени строку Image1.Picture.LoadFromFile(ParamStr(1)); на
if ParamStr(1)<>"" then
Image1.Picture.LoadFromFile(ParamStr(1));
← →
Cr@sh (2002-08-24 10:41) [3]>SireX
Спасиба большое.
У меня еще есть необходимость, сохранять стандартные бмпги с др. расширением, но тогда при открытии файла, прога пишет анноун файл формат, как с этим справится? может перед открытием создавать копию файла с бмпшным расширением?
← →
SireX (2002-08-24 10:49) [4]Cr@sh ©, можно и так.
Будет время, подумаю, мож напишу еще
← →
Cr@sh (2002-08-24 10:50) [5]Ну-ну...
← →
Man-In-Red (2002-08-24 13:00) [6]Регистрируем новый тип файлов:
procedure Tform1.RegisterFileType(prefix:String; exepfad:String);
var
reg :TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey:=HKEY_CLASSES_ROOT;
reg.OpenKey("."+prefix,True);
reg.WriteString("",prefix+"file");
reg.CloseKey;
reg.CreateKey(prefix+"file");
reg.OpenKey(prefix+"file\DefaultIcon",True);
reg.WriteString("",exepfad+",0");
reg.CloseKey;
reg.OpenKey(prefix+"file\shell\open\command",True);
reg.WriteString("",exepfad+" "%1"");
reg.CloseKey;
reg.Free;
end;
Вызывается так:
RegisterFileType("*", Application.ExeName);
Первый параметр – формат файла, например bmp
Второй параметр – путь к exe-файлу программы, и его имя…
Потом при открытии программы с помощью paramstr:
if FileExists(ParamStr(1)) then {это и есть тот самый файл, который мы открываем, и запускается наша программа…}
begin
//Делаешь с этим файлом что хочешь!
end;
Значок у твоих новых файлов, станет таким же как и у твоей проги!
Удачи...
← →
Cr@sh (2002-08-24 13:27) [7]2Men-In-Red
Спасибо большое за лекцию:)
← →
Юрий Зотов (2002-08-24 16:52) [8]> ttp://www.delphikingdom.com/helloworld/samples_win.htm
Пример № 3. Там все найдете.
← →
VID (2002-08-24 19:41) [9]http://delphibase.endimus.com/?action=viewfunc&topic=sysiface&id=10189
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c