Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2009, 20:26   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
Сообщение Как записать 256 ASCII символов?

Появилась необходимость закодировать нечто. Этому нечто требуется 256 символов кодировки. ASCII содержит 256 символов, но первые 31 - служебные. Есть ли их аналог для записи в файл? Т.е. В файл мне нужно записать 256 различных символов. Вопрос - как?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.08.2009, 20:38   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Символ = байт (в ASCII). Значит пишите байты, т.е. по сути таблицу символов в 256 байт в файл. В чем проблема ?
Или дело в том, что вам надо еще кучу букв и символов выдумать ? Просто не много не ясна задача
BOBAH13 вне форума Ответить с цитированием
Старый 08.08.2009, 20:50   #3
BaronTreep
Форумчанин
 
Регистрация: 29.05.2009
Сообщений: 320
По умолчанию

Так и писать:
Код:
for i := 1 to 255 do S := S + chr(i);
f.Write(...)
символы хоть не отображаются по разному, в файле будут разные коды.
BaronTreep вне форума Ответить с цитированием
Старый 08.08.2009, 20:57   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

BaronTreep, да пробовал так уже! На 23 или 22 символе кидается на меня, стремится пальцы отрезать!
EAccessViolation.
BOBAH13, а поподробней?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.08.2009, 21:02   #5
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Код:
var
  c: array[0..255] of char;
  f: File;
  i: Integer;
begin
  {$I-}
    AssignFile(f, 'chars');
    ReWrite(f, 1);

    // fill in the array
    for i:= 0 to 255 do
      c[i] := chr(i);

    // put our array into the file
    // SizeOf(c) = 256 bytes
    BlockWrite(f, c, SizeOf(c));

    CloseFile(f);
  {$I+}
end;
Что-то вроде этого.

Последний раз редактировалось BOBAH13; 08.08.2009 в 21:05.
BOBAH13 вне форума Ответить с цитированием
Старый 08.08.2009, 21:10   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Все равно при считывании появляются ошибки, скорее всего из-за #10,#13,#26
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.08.2009, 21:11   #7
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Все равно при считывании появляются ошибки, скорее всего из-за #10,#13,#26
Не вижу как считываите, и что еще за ошибки ? Пора уже понять, и привыкнуть, что надо все конкретизировать, показывать и т.п.
BOBAH13 вне форума Ответить с цитированием
Старый 09.08.2009, 00:33   #8
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

TStringStream попробуй освоить.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 10.08.2009, 00:12   #9
Impuls1989
Форумчанин
 
Аватар для Impuls1989
 
Регистрация: 16.08.2008
Сообщений: 276
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Все равно при считывании появляются ошибки, скорее всего из-за #10,#13,#26
Из за этих символов не должно ничего происходить. #10#13 - Переход на новую строку, он так и в файле будет выглядеть. А вот #26 - это конец файла. Пробуйте писать его последним, или не писать вообще (он и так там будет)))
Искусственный интеллект - фигня по сравнению с естественной глупостью
Impuls1989 вне форума Ответить с цитированием
Старый 10.08.2009, 07:22   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Impuls1989 - ну не пишите, пожалуйста, то, в чём Вы не разбираетесь! По Вашему в файл байт с кодом 26 записать нельзя!!!? Это справедливо ТОЛЬКО для текстовых файлов! бинарный файл подобному маразму не подвержен и не может быть подвержен!!

Alex Cones, измените файл f:Text; на f:file (или f:file of byte; и всё у Вас получится!
Либо воспользуйтесь хорошим советом 0nni - и воспользуйтесь TFileStream
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужна помощь в переводе символов в ASCII и обратно !!!~VivO~!!! Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 05.05.2008 10:47
Как в ListView.Column[i].Caption отобразить ASCII символы с кодом меньше 32? Angel_CJ Компоненты Delphi 8 27.04.2008 13:13
Как записать на диск delphin100 Общие вопросы Delphi 2 14.10.2007 22:55
как сделать в memo строку не 256 символов, а 1024 например. Alar Компоненты Delphi 0 29.10.2006 18:46