Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Вниз

Прочитать бинарный файл в строку   Найти похожие ветки 

 
w666w   (2007-08-22 14:53) [0]

Как прочитать бинарный файл в строку, допустим картинку jpeg.

Прекрасно понимаю что это ошибочный код, но не могу найти решения в инете - везде буффера какието, массивы и т.п. Нужно просто в строку..

function ReadFile(aFileName: String) : string;
var f:TFileStream;
   fReaded : string;
begin
 if FileExists(aFileName) then begin
   F := TFileStream.Create(aFileName, fmOpenRead);
   try
     F.Read(fReaded,sizeof(F));
   finally
     f.Free;
     Result := fReaded;
   end;
 end;
end;

Зраранее спасибо!


 
Игорь Шевченко ©   (2007-08-22 14:54) [1]

а зачем его читать в строку ?


 
Германн ©   (2007-08-22 14:57) [2]


>    try
       SetLength(fReaded,sizeof(F));
>      F.Read(fReaded[1],sizeof(F));
>    finally
>


 
umbra ©   (2007-08-22 15:02) [3]

function ReadFile(aFileName: String) : string;
var f:TFileStream;
    dst: TStringStream;
  fReaded : string;
begin
Result := "";
if FileExists(aFileName) then begin
  F := TFileStream.Create(aFileName, fmOpenRead);
  dst := TStringStream.Create;
  try
    dst.CopyFrom(f, f.Size);
    Result := dst.DataString;
  finally
    f.Free;
    dst.Free;
  end;
end;
end;


 
w666w   (2007-08-22 15:17) [4]

Спасибо, работает. delphimasters как всегда помогли быстро и без лишних вопросов. Респект!


 
DrPass ©   (2007-08-22 15:21) [5]


>  delphimasters как всегда помогли быстро и без лишних вопросов

Буду краток: гы-гы-гы :)


 
Юрий Зотов ©   (2007-08-22 15:22) [6]

> w666w   (22.08.07 15:17) [4]

Вопросы могут начаться позже, но уже у Вас. Смотря, что Вы теперь с этой строкой делать будете.

А вот если бы ОДИН раз разобрались с "буфферами какими-то, массивами и т.п.", то НИКАКИХ вопросов уже бы НИКОГДА не возникло.

Тем более, что это несложно. Но дело Ваше, конечно.


 
w666w   (2007-08-22 15:28) [7]

http сервер обрабатывает запросы и возвращает данные именно в формате строки. Можно конечно конвертить туда-сюда, но зачем если задача намного проще.

Отсюда и задача. Еще раз спасибо.


 
Reindeer Moss Eater ©   (2007-08-22 15:30) [8]

и возвращает данные именно в формате строки.

"А мужики-то и не знают"


 
Юрий Зотов ©   (2007-08-22 16:32) [9]

> w666w   (22.08.07 15:28) [7]

> возвращает данные именно в формате строки

Думаю, наоборот - именно, что НЕ в формате строки. Формат ASCIIZ-строки не допускает нулевых байтов в теле строки, а у Вас они, скорее всего, есть. И если это так, то, как только Вы попытаетесь работать с этими данными именно как со строкой, то данные будут обрезаны на первом же нулевом байте.

Скорее всего, тело строки здесь используется всего лишь как буфер, а формат - бинарный.

Как видите, снова эти буфера. Ну никуда от них не деться...
:о)


 
Плохиш ©   (2007-08-22 16:58) [10]


> w666w   (22.08.07 15:28) [7]
> http сервер обрабатывает запросы и возвращает данные именно
> в формате строки.

А потом удивляются и почему это в браузере какие-то кроказябры вместо голых тётков... :-)


 
Gydvin ©   (2007-08-23 07:29) [11]

и наверное не просто строка, а base 64...



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

Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.508 c
2-1187791767
r.o.o.t
2007-08-22 18:09
2007.09.16
Неопознаная ошибка


2-1187701008
Falameezar
2007-08-21 16:56
2007.09.16
Редактор реестра


11-1169615992
dedo
2007-01-24 08:19
2007.09.16
SmoothDIB


15-1187356480
Nic
2007-08-17 17:14
2007.09.16
Какой цифровик посоветуете?


9-1143755210
netboy
2006-03-31 01:46
2007.09.16
Создание движка игры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский