Главная страница
    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.48 MB
Время: 0.054 c
9-1101732389
malij
2004-11-29 15:46
2005.02.27
OpenGl


14-1107720580
Layner
2005-02-06 23:09
2005.02.27
Здравствуйте! Посоветуйте плз, как так можно сделать,


1-1108469483
Ega23
2005-02-15 15:11
2005.02.27
Переименование проекта в IDE


14-1107504549
skiFF
2005-02-04 11:09
2005.02.27
два будоражащие меня сейчас пробела в моих знаниях


1-1108123428
alless
2005-02-11 15:03
2005.02.27
WebBrowser





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский