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

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

Как в DBGrid отобразить значения поля типа ftBytes? [D6, Sybase]


Tovarish Pronin ©   (2004-12-28 12:24:00) 

При отображении таблици в которой есть поле типа ftBytes, в DBGrid отображается только слово Bytes. Как с эти бороться. Знаю что нужно в обработчике события OnGetText данного поля написать обработчик данных типа bytes, но что конкретно писать не знаю. HELP!


Tovarish Pronin   (2004-12-28 14:33:00) [1]

Большое спасибо.

Хотя результат не изменился. Во всех ячейках по старому только 0x, но я думаю, это потому что они пустые!
Спасибо!


Соловьев   (2004-12-28 13:44:00) [2]

Ну и тут конечно:
Text:= '0x'+LScriptBodyHex;


Соловьев   (2004-12-28 13:43:00) [3]

Поскажите что не так я сделал!

Не подумал головой...

procedure TForm1.Query1xactidGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
var LScriptBody,LScriptBodyHex: string;

begin
LScriptBody := Text;
SetLength(LScriptBodyHex, Length(LScriptBody) * 2);
BinToHex(PChar(LScriptBody), PChar(LScriptBodyHex), Length(LScriptBody));
result:= '0x'+LScriptBodyHex;
end;


Tovarish Pronin   (2004-12-28 13:37:00) [4]

Ничего не вышло, вот что я сделал:
procedure TForm1.Query1xactidGetText(Sender: TField; var Text: String;
 DisplayText: Boolean);
 var LScriptBody,LScriptBodyHex,TheData: string;

begin
LScriptBody := TheData;
SetLength(LScriptBodyHex, Length(LScriptBody) * 2);
BinToHex(PChar(LScriptBody), PChar(LScriptBodyHex), Length(LScriptBody));
result:= '0x'+LScriptBodyHex;
end;

где xactid, то самое поле которое типа ftBytes.
В результате вместо слова butes во всех ячейках поля стало написано 0x. Кстати на result, вообще рыгнулось, я исправил на text. Хотя думаю судя по коду нужно куда-то в другое место это вставлять. Поскажите что не так я сделал!


Соловьев   (2004-12-28 12:34:00) [5]

вот писал когда-то:

var LScriptBody,LScriptBodyHex,TheData: string;
...
LScriptBody := TheData;
SetLength(LScriptBodyHex, Length(LScriptBody) * 2);
BinToHex(PChar(LScriptBody), PChar(LScriptBodyHex), Length(LScriptBody));
Result:= '0x'+LScriptBodyHex;
...


Наверх

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