![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
BDE(FoxPro) : BLOB поле портит данные ?! [D3, dBase, FoxPro]
Pirat © (2003-03-15 21:27:00)берем произвольный бинарный файл @input, делаем
var
M1:TMemoryStream;
BS:TBlobStream;
begin
M1:=TMemoryStream.Create;
M1.LoadFromFile("@input");
Table1.Edit;
BS:=TBlobStream.Create(Table1.Fields[2] as TBlobField, bmWrite);
BS.CopyFrom(M1,0);
BS.Free;
Table1.Post;
M1.Free;
M1:=TMemoryStream.Create;
BS:=TBlobStream.Create(Table1.Fields[2] as TBlobField, bmRead);
M1.CopyFrom(BS,0);
M1.SaveToFile("@output");
M1.Free;
BS.Free;
открываем @output и побайтово сравниваем с @input - первые 100 байт одинаковые а потом все РАЗНОЕ!!! :(
Как лечить?? HELP :)
P.S. На MySQL, помню, нужно было какие-то символы "экранировать" чтобы они не были приняты за управляющие. Здесь та же фигня что ли????
Desdechado (2003-03-17 10:55:00) [1]насколько я помню, мемо-поля для фокса и dBase рассчитаны на ТЕКСТОВЫЕ данные, поэтому при работе с ними БДЕ автоматически включает перекодировку в соответствии с тем языковым драйвером, кот. установлен для Dbase. Если не хочешь перекодировки - ставь ascii ANSI