Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
_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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.038 c
3-1106901462
zunder
2005-01-28 11:37
2005.02.27
ограничение подключений в нескольких программах


3-1107237294
Aleks_666
2005-02-01 08:54
2005.02.27
tdbGRID


9-1101893653
Вась-Вась
2004-12-01 12:34
2005.02.27
Изометрия


4-1105627117
BaDeVlad
2005-01-13 17:38
2005.02.27
Как узнать время последней активности пользователя?


6-1103116889
Василий Васильевич Пупкин
2004-12-15 16:21
2005.02.27
Передача данных на сервер методом POST





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский