Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.20;
Скачать: CL | DM;

Вниз

Открытие файла   Найти похожие ветки 

 
Zmei   (2003-11-10 14:56) [0]

Нужно чтобы при открытии файла(текстового) информация с него сразу открывалась в моей проге. Как сделать подскажите


 
Anatoly Podgoretsky ©   (2003-11-10 14:59) [1]

Рашифровать вопрос.


 
clickmaker ©   (2003-11-10 14:59) [2]

Memo1.LoadFromFile

Я угадал ? :)


 
Zmei   (2003-11-10 15:01) [3]

У меня свой формат файла. Я его открываю через свой редактор. Но информация с этого файла не появляется в окне редактора. Только через File-Open. Как определить какой файл запустил редактор и скачать с него инфу


 
Zmei   (2003-11-10 15:02) [4]

2 [2]
угадал угадал. Вот только с какого файла то?


 
VAleksey ©   (2003-11-10 15:09) [5]

См.

> Anatoly Podgoretsky © (10.11.03 14:59) [1]


 
Dr. Well   (2003-11-10 15:34) [6]

Если я правильно понял вопрос, необходимо зарегистрировать тип файлов в реестре и связать этот его расширение с приложением...

Ответа конкретного я не знаю (это я попытался вопрос расшифровать), но видел в реестре примерно такую запись:

HKEY_CLASSES_ROOT\Applications\Acad.exe\Default
"C:\Program Files\AutoCAD 2002\acad.exe" "%1"

Сначала в реестре регистрируется тип (расширение) - в соответсвие ему устанавливается какое-то приложение.
потом регистряется приложение в вышеуказанном формате...

Я не уверен, что именно так (даже почти уверен в обратном), но межет эта информация натолкнет Вас или других пользователей форума на мысль...

С уважением, Александр Яговдик.


 
Dr. Well   (2003-11-10 15:48) [7]

Да, в Вашем приложении необходимо в обработчике формы OnCreate поместить приблизительно следующий код:

if ParamCount>0 then
begin
if (not (LowerCase(ParamStr(1))="-install")) or (not (LowerCase(ParamStr(1))="-install")) then
begin
OpenExecute(ParamStr(1)); //Выполнение процедуры открытия файла, переданного как параметр
end;


 
Романов Р.В. ©   (2003-11-10 16:26) [8]

procedure TMainForm.RegisterFile;
var
Reg:TRegINIFile;
Descr:string;
MakeReg:Boolean;
begin
Reg:=TRegINIFile.Create("");
with Reg do
try
RootKey:=HKey_Classes_Root;
Descr:=ReadString(".ti","","No such class");
if Descr="No such class" then
MakeReg:=True
else
if CompareText(ReadString(Descr+"\Shell\Open\Command","",""),ParamStr(0)+" %1")<>0 then
MakeReg:=Application.MessageBox("Расширение "".ti"" не связано с программой infoedit. Связать?","infoedit",MB_YesNo)=IDYes
else
MakeReg:=False;
if MakeReg then
begin
WriteString(".ti","","TaskInfoFile");
WriteString("TaskInfoFile","","Файл информации о задаче");
WriteString("TaskInfoFile\DefaultIcon","",ParamStr(0)+",0");
WriteString("TaskInfoFile\Shell\Open\Command","",ParamStr(0)+" %1");
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
end;
finally
Free;
end;
end;


 
Vlad Oshin ©   (2003-11-10 16:26) [9]


> Zmei (10.11.03 15:02) [4]


чесслово, ничего не понял
похоже см.
> Anatoly Podgoretsky © (10.11.03 14:59) [1]


 
Zmei   (2003-11-10 17:08) [10]

Так блин. Извените что пишу непонятно.
Пример.
myfile.txt
Открываем его. Он открывается в текстовом редакторе. И в редакторе вы видете содержимое файла myfile.txt/
Надо.
У меня есть свой текстовый редактор!
Требуется открыть myfile.aaa
Открываем его с помощью(открыть с помощью->мой редактор). В редакторе пусто!
Вопрос.
Как сделать чтобы в редакторе открывался файл myfile.aaa, а не пустое окно.(а именно как определить какой файл открыл редактор)


 
Anatoly Podgoretsky ©   (2003-11-10 17:15) [11]

у тебя ошибка в программе, код открытия в студию


 
Vlad Oshin ©   (2003-11-10 17:21) [12]

procedure TForm1.FormCreate(Sender: TObject);
begin
inherited;
if paramstr(1)<>"" then memo1.Lines.LoadFromFile(paramstr(1));
end;memo1.Lines.LoadFromFile(paramstr(1));


 
pomka   (2003-11-10 19:13) [13]

Эта штука пашет :)

procedure TForm1.BRegClick(Sender: TObject);
var reg:TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CLASSES_ROOT;
// создается ключ ".my"
reg.OpenKey(".my",true);
// создается параметр со значением "myfile"
reg.WriteString("", "myfile");
reg.CloseKey;
// создается ключ "myfile\DefaultIcon"
reg.OpenKey("myfile\DefaultIcon",true);
// заносится значение параметра "имя приложения, 0" - пиктограмма
reg.WriteString("", ParamStr(0) + ", 0");
reg.CloseKey;
// создается ключ "myfile\shell\open\command"
reg.OpenKey("myfile\shell\open\command", true);
// создается параметр со значением "имя файла %1"
reg.WriteString("", ParamStr(0) + " "%1"");
reg.CloseKey;
reg.Free;
end;

procedure TForm1.BUnRegClick(Sender: TObject);
var reg:TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CLASSES_ROOT;
// удаление ключей ".my" и "myfile"
reg.DeleteKey(".my");
reg.DeleteKey("myfile");
reg.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
if ParamCount > 0
then begin
Memo1.Lines.LoadfromFile(ParamStr(1));
Label1.Caption := "Файл "" + ParamStr(1) + """;
end;
end;


 
Zmei   (2003-11-10 21:21) [14]

код открытия в студии
procedure TForm1.FileOpen1Accept(Sender: TObject);
begin
Richedit1.Clear;
if fileexists (Fileopen1.Dialog.FileName) then
Richedit1.Lines.LoadFromFile(Fileopen1.Dialog.FileName);
end;

Это если открывать через Файл->Open. А мне нада как то присобычить на Form1.create . тока теперь как узнать имя файла(который открыл прогу)?


 
Pattern ©   (2003-11-10 21:50) [15]

Вот у меня точно лыжи не едут!!! d;-) Четрвёртый раз читаю вопрос в разной интерпритации, всё равно ничего не понятно...
Fileopen1.Dialog.FileName - это и есть имя твоего файла...
Мож магнитные бури...
go to answer [1]


 
Pattern ©   (2003-11-10 21:54) [16]

Стоп! А при чём тут DIALOG??? Если у тебя компанента открытия файла называется Fileopen1, то имя фала будет Fileopen1.FileName....


 
Vlad Oshin ©   (2003-11-11 08:31) [17]


> Zmei (10.11.03 21:21) [14]

20 раз уже сказали, что на создание формы, а имя файла - первый параметр



Страницы: 1 вся ветка

Текущий архив: 2003.11.20;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
14-66087
horus
2003-10-29 16:43
2003.11.20
Идея создания дискуссионного листа рассылки воплотилась в жизнь!!


1-65973
yuriy
2003-11-10 23:13
2003.11.20
поиск в memo


3-65752
Aleksandr
2003-10-31 12:24
2003.11.20
Как можно писать блобы типа Image в MS SQL?


14-66076
Izyum
2003-10-29 16:08
2003.11.20
Почему у корпорации Microsoft даже в логотипе окна кривые?


1-65814
Uber ASSA
2003-11-11 20:40
2003.11.20
Таблица со специальными символами