Форум: "Начинающим";
Текущий архив: 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.093 c