Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизПроблема открытия файла через контекстное меню 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 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.034 c