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

Чтение файла своей прогой   Найти похожие ветки 

← →
_Sergey   (2005-02-14 18:07) [0]

Здраствуйте.
У меня такой вопрос.
Я зарегистрировал свое расширение файла, который будет открываться с помощью моей программы.
Вопрос.
Как мне вывести текст в моей программе который содержится в файле?


← →
Alexander Panov ©   (2005-02-14 18:12) [1]

Вариантов масса - TStringList, TFleStream и пр...


← →
_Sergey   (2005-02-14 18:17) [2]

Вот если можно с коротким примером?


← →
Плохиш ©   (2005-02-14 18:28) [3]

Хм, я всегда думал, что сначала создаётся программа, которая выводит текст, содержащийся в файле. А уже после этого она регистрируется в системе для открытия файлов с определённым расширением. :-(


← →
_Sergey   (2005-02-14 18:33) [4]

Нет файл обычный текстовый но с моим расширением, и открывается моей прогой.


← →
ssk ©   (2005-02-14 18:36) [5]

>Вот если можно с коротким примером?

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

Memo1.Lines.LoadFromFile(ParamStr(1));


← →
_Sergey   (2005-02-14 18:45) [6]

>Memo1.Lines.LoadFromFile(ParamStr(1));

Чёта не идет.


← →
begin...end ©   (2005-02-14 18:50) [7]

> _Sergey   (14.02.05 18:45) [6]

На основании чего Вы сделали такой вывод?


← →
_Sergey   (2005-02-14 18:55) [8]

Какой вывод???


← →
begin...end ©   (2005-02-14 18:58) [9]

> _Sergey   (14.02.05 18:55) [8]

Вот такой: "Чёта не идет."

Может быть, сообщения об ошибках какие-нибудь появляются?


← →
_Sergey   (2005-02-14 19:02) [10]

Да есть пишет "Cannot open file 1"


← →
Profi ©   (2005-02-14 19:04) [11]

Это приколы тут чтоли?


← →
begin...end ©   (2005-02-14 19:07) [12]

> _Sergey   (14.02.05 19:02) [10]

Какое имя у того файла, который Вы открываете своей программой?


← →
_Sergey ©   (2005-02-14 19:08) [13]

Имя этого файла "11.sk"


← →
Profi ©   (2005-02-14 19:10) [14]

Предложенный метод, Memo1.Lines.LoadFromFile(ParamStr(1)); надо обробатывать при открытии программы! Если же привязать его к нажатию кнопки, то будет ошибка.


← →
Stilgar ©   (2005-02-14 19:28) [15]

2 Profi
Если же привязать его к нажатию кнопки, то будет ошибка.
Не понимаю, откуда тут взяться ошибке. ParamStr работает все время.
2 _Sergey
Да есть пишет "Cannot open file 1"
Что-то возникают сомнения по поводу правильности написанного тобою кода. При чем тут файл "1"? Или его ты в параметрах и передал?


← →
Profi ©   (2005-02-14 19:32) [16]

Stilgar ©   (14.02.05 19:28) [15]
Если я запущу прогу двойным кликом на её exe, то что будет в ParamStr?


← →
olookin ©   (2005-02-14 19:36) [17]

Что-то слишком уж просто - ParamStr(1). Попробуйте это на любом файле из Program Files, например. Лично я во избежание казусов использую:

 if ParamStr(1)<>"" then for i:=1 to ParamCount do
 if i<ParamCount then s:=s+ParamStr(i)+" " else s:=s+ParamStr(i);

где s - это и есть имя файла (независимо от того, как называется каталог).


← →
Stilgar ©   (2005-02-14 19:47) [18]

Profi ©   (14.02.05 19:32) [16]
Если я запущу прогу двойным кликом на её exe, то что будет в ParamStr?

"" :)
Но если она была запущена с нужным параметром (адресом файла) то это сработает и по нажатию кнопки.
Вобщем разобрались.
olookin ©   (14.02.05 19:36) [17]
if ParamStr(1) <> "" then

Абсолютно согласен.
for I := 1 to ParamCount do
 if I < ParamCount then
   s := s + ParamStr(I) + " " else s := s + ParamStr(I);

Ну это только если больше параметров не передаеться. Иначе не надо. Например если пользоватеь выделит сразу несколько файлов, то будет ошибка.
2 _Sergey
Разобрался?


← →
Набережных С. ©   (2005-02-14 20:04) [19]

>olookin ©   (14.02.05 19:36) [17]

Чтобы не было казусов, в реестре, в Open Command нужно регистрировать так:
"C:\Program Files\MyProg.exe" "%1"

Ключевое здесь - кавычки


← →
Anatoly Podgoretsky ©   (2005-02-14 20:07) [20]

Что то есть сомнение в Я зарегистрировал свое расширение файла



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

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



Память: 0.49 MB
Время: 0.024 c
1-1108371342
Новичок.
2005-02-14 11:55
2005.02.27
Как закрыть главную форму?


1-1108042994
^Vertex
2005-02-10 16:43
2005.02.27
TMemoryStream и WideChar


3-1106822185
anat
2005-01-27 13:36
2005.02.27
ПЕРЕСЕЧЕНИЕ не СВЯЗАННЫХ ТАБЛИЦ


6-1103190321
Alexey K
2004-12-16 12:45
2005.02.27
Управление сотовым телефоном


4-1105601902
Ilya___
2005-01-13 10:38
2005.02.27
Как можно узнать значение горизонтального и вертикального разреше




   Наверх