Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: 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 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.028 c
6-1102686698
Atomic2004
2004-12-10 16:51
2005.02.27
NET SEND


6-1103307988
Sanyara
2004-12-17 21:26
2005.02.27
Все компьютеры в сети


1-1108488680
han-bratan
2005-02-15 20:31
2005.02.27
RTTI


3-1106838076
}|{yk
2005-01-27 18:01
2005.02.27
SQLite. Никто не пробовал?


1-1108024408
TVB
2005-02-10 11:33
2005.02.27
Отчеты QPR