Вниз
Скачать: CL | DM;

Проблема открытия файла через контекстное меню Windows.   Найти похожие ветки 

← →
Demi   (2004-04-27 22:46) [0]

Здравствуйте проблема открытия файла через контекстное меню  Windows.

У меня есть программа которая работает с файлами *.ilo (простые переименованые текстовые файлы). Когда пользователь клацает правой кнопкой мыши на этом файле, появляется контекстное меню. В этом меню есть команда "Открыть редактором", которая перед этим создана мной в реестре. Если нажать на эту команду файл должен загрузиться в эту мою программу. Программа появляется, но вот вопрос: откуда узань на каком файле клацнул пользователь?

(В реестре вроде надо прописивать "Моя программа""%1")


← →
Yanis ©   (2004-04-27 22:53) [1]

Путь к файлу будет ParamStr(1).


← →
Demi   (2004-04-27 22:57) [2]

Так просто 1.
Memo1.Lines.LoadFromFile(ParamStr(1));


← →
Yanis ©   (2004-04-27 23:07) [3]

Ага.


← →
Demi   (2004-04-27 23:12) [4]

Ошибочка!!!
Cannt open "". Системе не удаётся найти указаный путь.


← →
Алхимик ©   (2004-04-27 23:17) [5]

Ну дык параметра нет.
ParamCount скажет тебе сколько параметров передано.
Меню Run/Parametrs облегчит отладку программы в IDE.


← →
Demi   (2004-04-27 23:20) [6]

Я понимаю что дык но как мне его узнать если это всё происходит когда пользователь выбирае команду в меню, а не тогда когда я компилирую.


← →
Yanis ©   (2004-04-27 23:24) [7]


try
...
except
...
end;


← →
Demi   (2004-04-27 23:27) [8]

Это всё я прекрасно понимаю но скомпилировать получается, а вот когда я выбираю команду из меню, то мне такие маюки об ошибке и говорят


← →
Алхимик ©   (2004-04-27 23:30) [9]

В 17 строке ошибка.


← →
Demi   (2004-04-27 23:33) [10]

Непонял.


← →
Алхимик ©   (2004-04-27 23:35) [11]

Код, где ошибка, дай.
Пока код не дал, считаем что ошибка в 17-й строке, 3-го модуля.


← →
Demi   (2004-04-27 23:40) [12]

begin

try
Memo1.Lines.LoadFromFile(ParamStr(1));
except
//
end;
end;


Говорит что ненаходит файл с именем "".


← →
Алхимик ©   (2004-04-27 23:46) [13]

try
  if ParamCount = 1 then // если параметров ровно один
     Memo1.Lines.LoadFromFile(ParamStr(1));
except
  //
end;

В продолжение [5]:
В меню Run|Parametrs, закладка Local, окно Parametrs
укажи какое нить имя существующего файла.


← →
Demi   (2004-04-27 23:47) [14]

Но это не решает проблемы.


← →
Yanis ©   (2004-04-27 23:53) [15]

Ну студент....

1. Откомпилируй программу.
2. Создай к ней ярлык
Например в ярлыке будет такой путь: "D:\myprog\prog.exe"(с ковычками).
4. В ярлыке в поле "Объект" допиши - пункт 3 +пробел+D:\myprog\prog.pas
(или другой txt файл, нам же главное проверить работает или нет)
5. D OnCreate формы напиши
 Memo1.Lines.LoadFromFile(ParamStr(1));

А лучше всего открывай программу с ключом, например если есть ключик /LF, тогда и загружай файл, а нету ключика, то всё идёт по дефолту.


← →
Yanis ©   (2004-04-27 23:53) [16]

Ну студент....

1. Откомпилируй программу.
2. Создай к ней ярлык
Например в ярлыке будет такой путь: "D:\myprog\prog.exe"(с ковычками).
4. В ярлыке в поле "Объект" допиши - пункт 3 +пробел+D:\myprog\prog.pas
(или другой txt файл, нам же главное проверить работает или нет)
5. D OnCreate формы напиши
 Memo1.Lines.LoadFromFile(ParamStr(1));

А лучше всего открывай программу с ключом, например если есть ключик /LF, тогда и загружай файл, а нету ключика, то всё идёт по дефолту.


← →
Yanis ©   (2004-04-27 23:55) [17]

Это нервы :)


← →
Demi   (2004-04-28 00:11) [18]

Извини отключился. Сейчас попробую.


← →
Demi   (2004-04-28 01:13) [19]

Большое при большое спасибо!!!!!!!!!!!!!!!!!!!!!


← →
Yanis ©   (2004-04-28 01:40) [20]

Всегда пожалуйста.
:)))



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

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.025 c
6-1080640211
Ozone
2004-03-30 13:50
2004.05.16
ping


6-1079925253
vovanx
2004-03-22 06:14
2004.05.16
Какой обработчик запускается когда приходят данные?


1-1083649107
Dimka-Nevidimka
2004-05-04 09:38
2004.05.16
Защита файлов


6-1080634018
hair_fly
2004-03-30 12:06
2004.05.16
Закрытие клиентского приложения приводит к закрытию сервера


3-1082600460
Марат
2004-04-22 06:21
2004.05.16
Запрос




   Наверх