Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2018, 11:11   #21
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Цитата:
Сообщение от Devil9313 Посмотреть сообщение
Да просто хочу чтобы данное расширение читала только моя программа

у меня ошибка в переменной
var
FList: TStringDynArray; все переместил в свой проект но почему то тут ошибка
добавь в Uses для своей версии Delphi
Код:
// Delphi 7
Types
// Delphi XE
System.Types
Shouldercannon вне форума Ответить с цитированием
Старый 10.08.2018, 19:48   #22
Devil9313
Пользователь
 
Регистрация: 06.05.2013
Сообщений: 27
По умолчанию

Спасибо
Devil9313 вне форума Ответить с цитированием
Старый 11.08.2018, 02:11   #23
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от Devil9313 Посмотреть сообщение
Да просто хочу чтобы данное расширение читала только моя программа
А нифига вам это нужно? Текстовый файл прекрасно читается блокнотом независимо от расширения. Даже современная кухарка/домохозяйка легко сможет его прочитать. Не говоря уже о юных пионерах.
northener вне форума Ответить с цитированием
Старый 11.08.2018, 11:53   #24
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,534
По умолчанию

Извините, если оффтоп, но вспомнился случай - ну прямо сюда (насчет расширений).
Уезжая в длительную командировку, оставил жене (теперь уж бывшей) ввиду ее безработности опр. сумму денег. Зная ее, чтоб не потратила враз, положил в разные места, которые она могла узнать, только запустив для этого написанный .exe - шник. Он сверял текущую дату с графиком и указывал места. Приезжаю - "а у меня совсем нет денег" - "так спроси у компа" - "ну я нашла этот .exe - шник, нажала F3 - и он мне сказал, что дата еще не наступила, но деньги там и вот там. Вот я их в тот же день..." .
Да, недооценил бывшую, хоть и не хватавшую звезд с неба, программистку Надо было сообщения в отдельный файл закинуть и зашифровать.

Sorry

Последний раз редактировалось digitalis; 11.08.2018 в 11:56.
digitalis на форуме Ответить с цитированием
Старый 13.08.2018, 02:21   #25
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

2 digitalis. Повторю банальную истину. "Бывших" программистов не бывает! Если у человека мозги заточены соответствующим образом, то они и будут так работать, даже если человек ушел с этой работы.
northener вне форума Ответить с цитированием
Старый 13.08.2018, 09:27   #26
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,534
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
2 digitalis. Повторю банальную истину. "Бывших" программистов не бывает!
Да это бесспорно (Word поправил бы на "бес с порно"), это я по себе знаю. Хоть и на пенсии, а тянет постоянно замутить какую-нить прогу, хоть бы электронный кубик для игры с внуком в шеш-беш. Но бывают программисты по призванию (ну пускай даже - по ремеслу), а бывают (чаще -стки ) - по диплому и по графе в штатном расписании. Их удел - набивать исходники, форматировать дискеты (в те дремучие времена), печатать файлы техописаний. Мой случай - из этих.

Последний раз редактировалось digitalis; 13.08.2018 в 09:33.
digitalis на форуме Ответить с цитированием
Старый 17.08.2018, 12:47   #27
Devil9313
Пользователь
 
Регистрация: 06.05.2013
Сообщений: 27
По умолчанию

Помогите пожалуйста мне нужно чтобы при ассоциации файлов настроек с программой к файлу настроек.vr присваивалась иконка не от программы а допустим которая лежит в папке с программой в папке ICON c названием VR.ico
Вот процедура ассоциации файла настроек с программой


Код:
procedure TForm1.AssociatFile;
var
 S: string;
 Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_CLASSES_ROOT; 

  Reg.OpenKey('.vr\OpenWithProgids\', True);
  Reg.WriteString('Settings.vr', '');

  Reg.OpenKey('\Settings.vr\DefaultIcon\', True);
  S := Application.ExeName + ',0';
  Reg.WriteString('', S);

  Reg.OpenKey('\Settings.vr\Shell\Open\', True);
  Reg.WriteString('', 'Открыть в My Program');

  Reg.OpenKey('command\', True);
  S := '"' + Application.ExeName + '" "%1"';
  Reg.WriteString('', S);

  Reg.Free;
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;

Последний раз редактировалось Devil9313; 17.08.2018 в 12:56.
Devil9313 вне форума Ответить с цитированием
Старый 17.08.2018, 12:56   #28
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну так и пишите нужное вам имя, а не имя вашей программы. Проблема в чем?
p51x на форуме Ответить с цитированием
Старый 17.08.2018, 13:09   #29
Devil9313
Пользователь
 
Регистрация: 06.05.2013
Сообщений: 27
По умолчанию

За место имени программы указывал путь до иконки но почему то не работает иконка на файле настроек не отображается

Последний раз редактировалось Devil9313; 17.08.2018 в 13:12.
Devil9313 вне форума Ответить с цитированием
Старый 17.08.2018, 13:27   #30
JoLan
Delphi XE7
Пользователь
 
Аватар для JoLan
 
Регистрация: 26.07.2010
Сообщений: 74
По умолчанию

Цитата:
Сообщение от Devil9313 Посмотреть сообщение
За место имени программы указывал путь до иконки но почему то не работает иконка на файле настроек не отображается
Вложи в ресурсы самого приложения эту иконку и вместо ExeName+',0' указывай ExeName+',1'.

Вот так код ассоциации формата файла с приложением выглядит в моём проекте:
Код:
  Reg := TRegistry.Create;
  Reg.RootKey:=HKEY_CURRENT_USER;
  if (Reg.KeyExists('Software\Classes\.pck')) then Reg.DeleteKey('Software\Classes\.pck');
  Reg.OpenKey('Software\Classes\.pck',true);
  Reg.WriteString('FriendlyTypeName', 'Angelica File Package'); //описание формата в проводнике
  Reg.CloseKey;
  Reg.OpenKey('Software\Classes\.pck\shell\open',true);
  Reg.WriteString('', 'Редактировать архив в PCK Module'); //Имя действия по-умолчанию в контекстном меню файла
  Reg.WriteString('icon', ParamStr(0)+',0');
  Reg.CloseKey;
  Reg.OpenKey('Software\Classes\.pck\shell\open\command',true);
  Reg.WriteString('','"'+ParamStr(0)+'" "%1"'); //командная строка для действия по-умолчанию при двойном клике на файл
  Reg.CloseKey;
  Reg.OpenKey('Software\Classes\.pck\DefaultIcon',true);
  Reg.WriteString('',ParamStr(0)+',1'); //оффсет иконки
  Reg.CloseKey;
  Reg.Free;
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil); //посылаем проводнику сообщение, что надо бы обновить ассоциации

Последний раз редактировалось JoLan; 17.08.2018 в 13:33.
JoLan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если в основном файле проекта (где есть функция main) есть #include "file.hpp", и в файле file.cpp есть #include "file.hpp", то как компилятор узнает, что нам нужен файл file.cpp? Андрей 93 Общие вопросы C/C++ 13 21.12.2016 16:03
C1083: Cannot open include file: 'd3dx9.h': No such file or directory CrowleyNoob Общие вопросы C/C++ 15 18.09.2016 21:55
В чём разница между unit, header file, cpp file? TwiX Общие вопросы C/C++ 6 29.04.2012 19:49
Как записывать и считывать Ini File с набором строк (#10#13) в одном параметре?) SkAndrew Общие вопросы Delphi 4 15.11.2008 00:02