Главная страница
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.027 c
1-1138803775
OlegNik
2006-02-01 17:22
2006.03.05
Перехват завершения работы Windows.


15-1139675986
vidiv
2006-02-11 19:39
2006.03.05
Parser Лебедева


2-1139928231
Ice
2006-02-14 17:43
2006.03.05
Повернуть текст на Canvas е на 90 градусов...


2-1139979251
Risk
2006-02-15 07:54
2006.03.05
Глюк ADODataSet


1-1138716248
newsoft
2006-01-31 17:04
2006.03.05
Delphi 7 и MS Word 2003