Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.05;
Скачать: CL | DM;

Вниз

Читаем файл Read(f1, Ch)   Найти похожие ветки 

 
Officeman   (2006-02-15 10:04) [0]

Читаем файл типа  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чя @;60"

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

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


 
Digitman ©   (2006-02-15 10:08) [1]


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


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


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

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


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

to Digitman

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

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

с Уважением.


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

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


 
Digitman ©   (2006-02-15 10:28) [5]


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


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


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


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


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


> Officeman   (15.02.06 10:20) [3]


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

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


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

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

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

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

с Уважением.


 
Digitman ©   (2006-02-15 10:56) [8]

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


 
Vlad ©   (2006-02-15 10:57) [9]


> Officeman   (15.02.06 10:44) [7]


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

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

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

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


 
Leonid Troyanovsky ©   (2006-02-15 11:01) [10]


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

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


BinToHex

--
Regards, LVT.


 
Officeman   (2006-02-15 15:44) [11]

to Vlad  ::::::::  

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



Страницы: 1 вся ветка

Текущий архив: 2006.03.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
15-1139229226
REA
2006-02-06 15:33
2006.03.05
Дефрагментатор


1-1138447447
medvedenator
2006-01-28 14:24
2006.03.05
Очень тупой вопрос


1-1138372025
hawkins
2006-01-27 17:27
2006.03.05
ошибка в программе "Access violation at address..."


3-1136875648
neat
2006-01-10 09:47
2006.03.05
Дата в DBGrid


2-1140010954
micky_
2006-02-15 16:42
2006.03.05
Плавающие связи