Вверх ↑
Этот топик читают: Гость
Ответов: 184
Рейтинг: 0
#1: 2009-07-23 16:51:32 ЛС | профиль | цитата
Подскажите как можно открыть текстовый файл в форме через открыть с помощью? и как сделать регистрацию файла, так, чтоб при команде открыть он открывал программу и загружалсяв нее?
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#2: 2009-07-23 17:53:19 ЛС | профиль | цитата
На точку doShellExec подай полный путь к своему txt-файлу.


Add(WinExec,2993442,182,147)
{
@Hint=#15:Запуск Блокнота|
FileName="Notepad.exe"
}
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 184
Рейтинг: 0
#3: 2009-07-23 18:28:12 ЛС | профиль | цитата
Tad, я что то не пойму как это сделать, если не трудно дай пример
------------ Дoбавленo в 18.33:
Tad, я наверное не правильно объяснил. Мне нужно чтоб файл открывал программу, и загружался в имеющуюся в программе таблицу строк
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2009-07-23 19:01:53 ЛС | профиль | цитата
A_S_X писал(а):
Мне нужно чтоб файл открывал программу, и загружался в имеющуюся в программе таблицу строк


1. Созадешь свой текстовый файл. Например: my.tabl (расширение файла должно быть уникальным)
2. Запускаешь HiAsm, открываешь Новый проект, "сохранить как" например MyTabl, компилируешь, закрываешь HiAsm.
3. Стаешь на файл my.tabl, ПКМ -> Открыть. Винда говорит, что не может открыть этот файл и предлагает выбрать открывающую программу вручную.
4. Находиш свою программу (MyTabl.exe) и выбираеш её.
При клике на my.tabl будет запускаться твоя программа, а загрузка в таблицу - это уже дело техники.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8930
Рейтинг: 823
#5: 2009-07-23 19:13:40 ЛС | профиль | цитата
A_S_X, и не забыть галочку "Всегда использовать эту прогрвмму"
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#6: 2009-07-23 19:15:33 ЛС | профиль | цитата
Леонид писал(а):
и не забыть галочку "Всегда использовать эту прогрвмму"
и не забыть повторять пункты 3 и 4 на каждом компе, где будеш устанавливать свою программу.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1926
Рейтинг: 172
#7: 2009-07-23 20:57:13 ЛС | профиль | цитата
code_2351.txt

Надеюсь, я всё правильно сделал в inline...
Регистрация своего типа файла. ВНИМАТЕЛЬНО СМОТРЕТЬ КОД ПЕРЕД ЗАПУСКОМ!!! Добавляет файл в меню Создать.
карма: 9
0
файлы: 1code_2351.txt [1.7KB] [400]
Ответов: 1305
Рейтинг: 29
#8: 2009-07-23 21:21:51 ЛС | профиль | цитата
3042, а слеши в в путях писать не обязательно?

Видимо так будет правильнее:

  SetLength(genm,1024);
SetLength(genm,GetModuleFileName(HInstance,PChar(@genm[1]),1024));
reg:=RegKeyOpenCreate(HKEY_CLASSES_ROOT, ext + 'file\DefaultIcon');|
RegKey


SetLength(genm,1024);
SetLength(genm,GetModuleFileName(HInstance,PChar(@genm[1]),1024));
reg:=RegKeyOpenCreate(HKEY_CLASSES_ROOT,ext + 'files\hell\open\command');

//Ниже код, ели нужно добавить файл в меню Создать
fl := 'Текстовый файл.txt'; //Путь к файлу
CopyFile(PChar(fl),PChar('C:\WINDOWS\SHELL\NEW\Текстовый файл.txt'),false);

PS: на прочие ошибки код не проверял, но сдается мне, что при вставке кода на форум что-то пообрезалось

PSS: ну и опять же ошибка стратегическая, после которой пользователи Винду и хают - работать этот код будет только под администратором, а в Висте и под администратором - будет ли?
карма: 0

0
файлы: 1code_14239.txt [558B] [574]
Ответов: 1926
Рейтинг: 172
#9: 2009-07-24 08:54:49 ЛС | профиль | цитата
v258 писал(а):
а слеши в в путях писать не обязательно?

У меня они были написаны...
Правда, я добавлял со старого форума, может, из-за этого так вставилось.
------------ Дoбавленo в 08.56:

Add(InlineCode,9226855,364,168)
{
WorkPoints=#11:RegAndParam|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Debug,windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|17: //:THI_Event;|0:|52: procedure RegAndParam(var dt:TData; index:word);|0:|5: end;|0:|14:implementation|0:|34:procedure THiAsmClass.RegAndParam;|13:var reg:HKey;|35: genm,fl,ext,comment,ico:string;|5:begin|35: ext := 'txt'; //нужное расширение|47: comment := 'Текстовый файл'; //описание файла|45: ico := 'Знакчок.ico'; //путь к иконке файла|0:|53: reg:=RegKeyOpenCreate(HKEY_CLASSES_ROOT,'.' + ext);|37: RegKeySetStr(reg,'', ext + 'file');|19: RegKeyClose(reg);|0:|57: reg:=RegKeyOpenCreate(HKEY_CLASSES_ROOT, ext + 'file');|31: RegKeySetStr(reg,'',comment);|19: RegKeyClose(reg);|0:|23: SetLength(genm,1024);|68: SetLength(genm,GetModuleFileName(HInstance,PChar(@genm[1]),1024));|69: reg:=RegKeyOpenCreate(HKEY_CLASSES_ROOT, ext + 'file\DefaultIcon');|28: RegKeySetStr(reg,'', ico);|19: RegKeyClose(reg);|0:|23: SetLength(genm,1024);|68: SetLength(genm,GetModuleFileName(HInstance,PChar(@genm[1]),1024));|75: reg:=RegKeyOpenCreate(HKEY_CLASSES_ROOT,ext + 'file\shell\open\command');|50: RegKeySetStr(reg,'','"' + genm + '"' + ' "%1"');|19: RegKeyClose(reg);|0:|52: //Ниже код, ели нужно добавить файл в меню Создать|44: fl := 'Текстовый файл.txt'; //Путь к файлу|76: CopyFile(PChar(fl),PChar('C:\WINDOWS\SHELLNEW\Текстовый файл.txt'),false);|67: reg:=RegKeyOpenCreate(HKEY_CLASSES_ROOT,'.' + ext + '\ShellNew');|52: RegKeySetStr(reg,'FileName','Текстовый файл.txt');|19: RegKeyClose(reg);|4:end;|0:|4:end.|
}
Add(Button,12329976,294,168)
{
Left=20
Top=15
Width=130
Caption="Зарегистрировать"
link(onClick,9226855:RegAndParam,[])
}

у меня было так
карма: 9
0
Ответов: 1305
Рейтинг: 29
#10: 2009-07-24 12:13:29 ЛС | профиль | цитата
Да, так лучше

А у старого форума проблема со слешами уже давняя
карма: 0

0
Ответов: 184
Рейтинг: 0
#11: 2009-07-24 12:38:40 ЛС | профиль | цитата
При клике на my.tabl будет запускаться твоя программа, а загрузка в таблицу - это уже дело техники
А что про загрузку таблицы кто нибудь объяснит
карма: 0

0
Ответов: 4641
Рейтинг: 334
#12: 2009-07-24 12:51:22 ЛС | профиль | цитата
A_S_X писал(а):
А что про загрузку таблицы кто нибудь объяснит

используй Application
При запуске программы "открыть с помощью" получишь путь к my.tabl, а дальше делай что хочешь...хоть подавай на точку doLoad на StringTable
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 132
Рейтинг: 2
#13: 2009-07-24 12:56:47 ЛС | профиль | цитата
A_S_X писал(а):
А что про загрузку таблицы кто нибудь объяснит


вот так например

code_14249.txt
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_14249.txt [385B] [199]
Ответов: 16884
Рейтинг: 1239
#14: 2009-07-24 12:57:16 ЛС | профиль | цитата
A_S_X, выполни все пункты со второго (выше)
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1mytabl.rar [385B] [164]
Ответов: 184
Рейтинг: 0
#15: 2009-07-24 13:02:43 ЛС | профиль | цитата
Ravilr, я разобрался спаибо, а вот про регистрацию файла ты мне не объяснишь? А то я что то эти скрипты не пойму никак
------------ Дoбавленo в 13.06:
Tad, а что программа не может зарегистрировать свой тип файлов при запуске например?
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)