|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.06.2014, 00:24 | #11 |
Пользователь
Регистрация: 25.05.2013
Сообщений: 33
|
В принципе подумал, как обойти это. Когда у байта значение 13. То переменной не буду присваивать знак конца строки ansichar(13), а присваиваю переменной допустим такой знак ╗, который не появляется от ansichar(1-255). А когда разжимаю, если нахожу в тексте этот знак, то ставлю переменной значение 13. Сейчас буду проверять. Думаю должно прохелять.
|
13.06.2014, 20:09 | #12 |
Пользователь
Регистрация: 25.05.2013
Сообщений: 33
|
Парни в общем никак не могу решить эту проблему. Помогите пожалуйста.
В общем сжимаю файл. В файле у меня два символа 'CP'. Символу C соответствует - 000011, символу P - 010000. Сжимаю из 8-ти бит в 6-ть. Получается первый байт равен - 00001101, второй байт - 00000000. Числовое значение первого байта равно 13. Беру от 13 символьное значение, это символ возврата каретки (по таблице ANSII), пишу его в файл, он записался. Теперь разжимаю файл, читаю из него. В итоге символ возврата каретки не читается. В переменную записывается пустая строка. Тоже самое и с символом 10(по таблице ANSII). Как решить эту проблему? |
13.06.2014, 20:22 | #13 |
Пользователь
Регистрация: 25.05.2013
Сообщений: 33
|
Если возможно, как-то прочитать из файла, #10 и #13 символы? то подскажите пожалуйста.
|
14.06.2014, 01:11 | #14 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Вам давным давно пора понять, что для чтения/записи бинарных файлов нужно пользоваться подходящими для этих файлов методами.
Это либо олдскул - BlockRead/ BlockWrite, либо (рекомендую) - TFileStream Для этих методов абсолютно всё равно, что у Вас в файле #0, #8, #13, #10, #26 и т.д. и т.п. Ну и разумеется, никаких визуальных контролов (типа Memo) для бинарных данных использовать НЕЛЬЗЯ. |
20.06.2014, 00:54 | #15 | |
Пользователь
Регистрация: 25.05.2013
Сообщений: 33
|
Цитата:
|
|
20.06.2014, 01:01 | #16 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
работают и отлично, просто файл не объявляйте как текстовый.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
20.06.2014, 01:07 | #17 |
Пользователь
Регистрация: 25.05.2013
Сообщений: 33
|
|
20.06.2014, 08:17 | #18 | |||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Но! как только Вы его сжали: Цитата:
Сомневаетесь в этом? Так откройте полученный файл в блокноте/редакторе FAR Commander/любом HEX вьевере. Убедитесь, что после сжатия файл перестаёт быть текстовым, и, соответственно, методы работы с текстовым файлом не проходят. Цитата:
но, с другой стороны, воля ваша, нравятся раритетные BlockRead/BlockWrite - можно и их использовать... |
|||
22.06.2014, 18:41 | #19 |
Пользователь
Регистрация: 25.05.2013
Сообщений: 33
|
Спасибо за совет (TFileStream). Теперь все работает как часы! =)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ввод данных в массив записей из текстового файла, сортировка по ключу, вывод в файл (на Паскаль) | orandzheviyman | Помощь студентам | 8 | 21.01.2014 08:15 |
из текстового файл получить 5 наиболее часто встречающихся слов и число их появлений (на Delphi) | sifa | Помощь студентам | 5 | 09.01.2012 18:34 |
на Файл текстового типа | antojke | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 14.12.2011 08:35 |
Как из текстового файла перенести данные в excel файл | hunter05 | Microsoft Office Excel | 1 | 08.09.2009 06:30 |
из одного текстового файла виделить цифры и поместить в другой(пустой) файл | serguna005 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 07.12.2008 20:55 |