Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.011 c
6-66045
Pacifist
2003-09-23 20:21
2003.11.20
сливание текста в WinSock


1-65948
ghg
2003-11-11 11:54
2003.11.20
процедура reset


3-65794
_VaaL_
2003-10-30 13:59
2003.11.20
. Кодировки для баз


4-66153
RustiK
2003-09-12 15:34
2003.11.20
Программная всатка символа


3-65742
s
2003-10-31 20:12
2003.11.20
Помогите разобраться!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский