![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 20.08.2010
Сообщений: 7
|
![]()
Проблема в чтении текстового файла всего пол метра размером. Пробовал разные процедуры, но всегда одно и то же, а именно...
файл выглядит таким образом: яю $(,0448<@DHLLPTX\``dhlpttx|__"___"" __*¤Ё┐°_ёАДИМРФШЬадд px|_"___"__¤Ё┐°_ё_АДИМРФШЬадд... и ещё пару сотен символов при чтении файла всегда выводится только этот отрезок: яю $(,0448<@DHLLPTX\``dhlpttx|__"___"" __ ¤Ё┐°_ёАДИМРФШЬадд то есть чтение останавливается на символе, имеющем нулевой код (если верить FAR). Как заставить пригу читать файл полностью? |
![]() |
![]() |
![]() |
#2 |
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
![]()
Так покажи код, как ты читаешь файл...
Перемешивай дело с бездельем и не сойдешь с ума...
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 20.08.2010
Сообщений: 7
|
![]()
да хотя бы тот,что в представленном на сайте исходнике в категории работа с файлами\чтение из файла
|
![]() |
![]() |
![]() |
#4 |
фрилансер
Форумчанин
Регистрация: 18.07.2008
Сообщений: 107
|
![]()
попробуй в мемо загрузить, или в RichEdit
memo1.lines.loadfromfile('имя файла'); а вообще у тебя файл не текстовый, или кодировка файла какаянить хитрая, может юникод, изза этого идет "смещение" символов и проскакивает нулевой символ, а твоя прога определяет его как конец файла.
teleprog.net
teleprogramist@gmail.com |
![]() |
![]() |
![]() |
#5 |
Регистрация: 20.08.2010
Сообщений: 7
|
![]()
loadFromFail я тоже пробовал и через буфер тоже. Я тоже думаю, что прога считает этот символ концом файла (где-то в учебника я встречал понятие истинный ноль), но как это избежать ?
|
![]() |
![]() |
![]() |
#6 |
фрилансер
Форумчанин
Регистрация: 18.07.2008
Сообщений: 107
|
![]()
определяй размер файла, и читай через буфер нужное кол-во раз
teleprog.net
teleprogramist@gmail.com |
![]() |
![]() |
![]() |
#7 |
Регистрация: 20.08.2010
Сообщений: 7
|
![]()
размер 512 КБ. а что значит читать через буфер нужное количество раз?
Если я даю буферу команду прочитать и запомнить 70 символов, а этот злополучный нулевой символ стоит 64-м, то из буфера в мемо попадает только 63 символа. |
![]() |
![]() |
![]() |
#8 |
фрилансер
Форумчанин
Регистрация: 18.07.2008
Сообщений: 107
|
![]()
вот пример, но имхо это изврат читать "битый" файл как текстовый
http://www.delphisources.ru/pages/fa..._file_eof.html Код:
teleprog.net
teleprogramist@gmail.com |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
присоединяясь к вышесказанному.
1) Читать файл надо НЕ КАК ТЕКСТОВЫЙ! (либо file, либо file of byte. А вообще в данном случае лучше использовать TFileStream) 2) прочитанные данные напрямую бросать в визуальные компоненты не очень хорошая мысль - TEdit, TMemo и прочая предназначены для отображения/редактирования ТЕКСТА! Что они будут делать, если в них загрузить символы с кодами 00..31 - можно только догадываться. Но, думаю, ничего хорошего при этом не отобразиться! |
![]() |
![]() |
![]() |
#10 |
Регистрация: 20.08.2010
Сообщений: 7
|
![]()
Спасибо за пример, он работает. Я изменил код и чтение идёт не останавливаясь на нулевых символах.
Вот код: Код:
Последний раз редактировалось Stilet; 21.08.2010 в 10:00. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Файл не читается ( | element | Общие вопросы Delphi | 8 | 24.06.2009 20:40 |
bmp файл читается не до конца | CHizzzER | Общие вопросы C/C++ | 3 | 30.03.2009 12:37 |
Не читается файл | Акашаев Нурлан | PHP | 6 | 17.11.2008 12:58 |
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) | Dorvir | Microsoft Office Excel | 2 | 28.03.2008 10:03 |
Не могу прочитать файл до конца... | FEAR | Общие вопросы C/C++ | 9 | 04.01.2007 21:46 |