Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо