Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
7 / 7 / 4
Регистрация: 28.08.2010
Сообщений: 174
1

Открытие файла с помощью программы

07.10.2011, 02:03. Показов 3497. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, Господа! Я решил создать свой блокнот аналогичен стандартному в итоге все получилось и все отлично работает, кроме одной возможности. При открытии, например, текстового файла с помощью моей программы не получается именно когда, например нажать на правую клавишу мыши на текстовом файле и открыть его с помощью моего блокнота не получается и не происходит подгрузки содержимого файла. Ну короче запускается просто блокнот как бы мы его запустили........
Как можно исправить эту проблему?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2011, 02:03
Ответы с готовыми решениями:

Открытие файла с помощью программы
Здравствуйте. У меня такая ситуация: создаю блокнот и хочу чтобы файлы можно было не только...

открытие файла с помощью массива
необходимо открыть существующий текстовый файл в массив, а потом построчно выводить его в мемо,...

Написать текстовый редактор, в котором продемонстрировать открытие файла, сохранение файла, создание нового файла
№ 5. Написать текстовый редактор, в котором продемонстрировать открытие файла, сохранение файла,...

открытие браузером с помощью shellexecute
Как открыть браузером ссылку, не начинающуюся "http", например "about:mozilla"?

11
Заблокирован
07.10.2011, 02:13 2
Обработать ParamStr(1). Таким образом в Вашу программу передается 1 параметр командной строки. ParamCount - количество параметров. ParamStr(n) - параметр.
0
7 / 7 / 4
Регистрация: 28.08.2010
Сообщений: 174
07.10.2011, 11:36  [ТС] 3
пожалуйста продемонстрируйте код в программе или просто алгоритм а дальше я там сам....
0
Заблокирован
07.10.2011, 11:50 4
Вот проект. Код,загружающий файл, смотрите в исходнике dpr файла.
Вложения
Тип файла: rar ParamStr.rar (206.5 Кб, 136 просмотров)
1
7 / 7 / 4
Регистрация: 28.08.2010
Сообщений: 174
07.10.2011, 14:58  [ТС] 5
Благодарю за помощь!!!
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
07.10.2011, 20:10 6
Вот еще примерчик
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Registry, StdCtrls;
 
type
  TForm1 = class(TForm)
    btn1: TButton;
    mmo1: TMemo;
    procedure btn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 //My.exe -файл который будет запускаться
procedure TForm1.btn1Click(Sender: TObject);
var reg: tregistry;
 
begin
  reg:=tregistry.create; {создаём переменную класса}
  reg.rootkey:=hkey_classes_root; {определяем имя активного раздела}
  reg.openkey('txtfile\shell\MyNotepad',true); {Открываем ключ с расширением и редактируем}
  reg.writestring('','Открыть в Моем Блокноте'); {прописываем строку значения}
  reg.closekey; {закрываем активный ключ}
  reg.openkey('txtfile\shell\MyNotepad\command',true);// создаем ключ
  reg.writestring('',ExtractFilePath(Application.ExeName)+'My.exe "%1"');//записываем значение
  reg.closekey;
  reg.Free;
 
end;
 
procedure TForm1.FormShow(Sender: TObject);
var
 s, ss: string;
 
begin
 
 
s:=ansistrscan(windows.getcommandline,'"'); {перевод указателя на заданный символ в командной строке, а именно "}
SS:=ParamStr(1);
if FileExists(ss) then  Mmo1.Lines.LoadFromFile(SS);
 
end;
 
 
 
end.
Запускаешь программу один раз - нажимаешь на кнопку и закрываешь программу все
теперь на тхт файле нажимаешь правую кнопку мыши и в контекстном меню появляется "Открыть в Моем Блокноте" кликаешь и открываетя твой блокнот с текстом этого файла
0
Заблокирован
07.10.2011, 20:13 7
А это код что делает?
Delphi
1
s:=ansistrscan(windows.getcommandline,'"'); {перевод указателя на заданный символ в командной строке, а именно "}
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
07.10.2011, 20:20 8
Цитата Сообщение от AndyZorg Посмотреть сообщение
{перевод указателя на заданный символ в командной строке, а именно "}
там же написано
0
Заблокирован
07.10.2011, 20:22 9
А закомментируйте и посмотрите, нужна ли это строчка вообще там?
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
07.10.2011, 20:25 10
не пробовал если честно

Добавлено через 2 минуты
но подумав (может и ошибаюсь) если убрать строку
то вместо пути к файлу получим C:\Documents and Settings\igoriy\Рабочий стол\My.exe "%1"
"%1" - а зачем нам эта примочка?
0
Заблокирован
07.10.2011, 20:52 11
Посто переменная s нигде не используется... Да и не нужна ни она такм, ни та строчка, что я показал...
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
07.10.2011, 20:59 12
ну да зарапортовался совсем - и правда нафиг не используется. Это просто я на ходу из одного кода перестраивал на нужный и не удалил . Вот
0
07.10.2011, 20:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2011, 20:59
Помогаю со студенческими работами здесь

Повторное открытие программы
Я пишу прогу на Delphi 7 (текстовый редоктор, в котором сразу можно открывать несколько окон). Как...

Открытие программы с БД на другом ПК
Здравствуйте! Помогите, пожалуйста, разобраться с такой проблемой: у меня имеется программа с БД...

Открытие с DLL формы программы
Здравствуйте! В dll создаю меню, в самой программе есть форма 2. Как открыть именно форму...

Открытие программы с прочими файлами
Прошу прощение за создание темы, если уже был таков вопрос, обсуждался и нашлось решение. Не знал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru