Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Читаем файл Read(f1, Ch)


Officeman ©   (2006-02-15 10:04:00) 

Читаем файл типа  GIF


var
ch:char;
begin
AssignFile(f1,'sam.gif');
Reset(f1);
...


записываю первые 20 знаков в переменную


 while not Eof(f1) do
 begin
     count:=count+1;
     Read(f1, Ch);
     s:=s+Ch;
   if count=20 then begin
     sx:=LVu.Items.Item[x-1].Caption+';'+(s)+';';
   end;
 end;
   CloseFile(f1);


Проблема в следующем. Возможно то что прочитали из файла?

  "GIF89a2\x19чя\x1F \x1B@;60"

представить в другом виде?

Нужно чтобы не было там знаков:  ;   и   x


Officeman   (2006-02-15 15:44:00) [1]

to Vlad  ::::::::  

спасибо. Респект. Хэш-суммы рулят.  Всё получилось. абалдеть. ну просто нет слов.


Leonid Troyanovsky   (2006-02-15 11:01:00) [2]


> Vlad ©   (15.02.06 10:33) [6]

>  тем более есть стандартная ф-ция IntToHex.


BinToHex

--
Regards, LVT.


Vlad   (2006-02-15 10:57:00) [3]


> Officeman   (15.02.06 10:44) [7]


> Вы говорите о контрольной сумме байт?

Я говорю о контрольной сумме файла (картинки), CRC32, например. Но фактически, конечно это относится к байтам :-))
Хэш сумма близка по смыслу к контрольной сумме

готовые коды можешь посмотреть тут
http://kladovka.net.ru/delphibase/?action=viewtopic&topic=mathcode

а более подробную информацию легко найти поисковиком :-)


Digitman   (2006-02-15 10:56:00) [4]

http://ru.wikipedia.org/wiki/%D0%A5%D1%8D%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F


Officeman   (2006-02-15 10:44:00) [5]

to Digitman
да, вы всё правильно понимаете.

to Vlad
Спасибо за мысль. Попробую прикрутить:  IntToHex

и ещё
Вы говорите о контрольной сумме байт?
и что такое хэш? в двух словах.

с Уважением.


Vlad   (2006-02-15 10:33:00) [6]


> Officeman   (15.02.06 10:20) [3]


> Как можно перевести нужную мне строку с бинарный вид???
> 0000111101 =)

зачем сразу в бинарный? Можно в 16-ричное представление, тем более есть стандартная ф-ция IntToHex.
А можно просто считать контрольную сумму или хэш


Digitman   (2006-02-15 10:28:00) [7]


> идентификатором самого файла картинки


Иными словами, тебе нужно однозначно идентифицировать содержимое файла картинки вне зависимости от имени этого файла ?


> для удачной загрузки из save файла


Как связан этот самый "идентификатор" с удачностью или неудачностью "загрузки" ? Поясни ..


Officeman   (2006-02-15 10:21:00) [8]

спс. почитаю.


Officeman   (2006-02-15 10:20:00) [9]

to Digitman

эти 20 или 100 знаков будут являтся идентификатором самого файла картинки.
для удачной загрузки из save файла. т.к. имена файлов каталога меняются при каждом обновлении базы. например файл назывался 10.gif, после обновления он будет называтся 15.gif или 23.gif.

Как можно перевести нужную мне строку с бинарный вид??? 0000111101 =)
или может посоветуете метод по умнее!

с Уважением.


Digitman   (2006-02-15 10:18:00) [10]

http://home.onego.ru/~chiezo/gif.htm


Digitman   (2006-02-15 10:08:00) [11]


> записываю первые 20 знаков в переменную


Почему именно 20 ? почему не 5 или не 200 ?
Что вообще ты ожидал увидеть среди этих 20-ти знаков ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо