Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > вывод текста в DB


Автор: Тьма 8.3.2007, 16:33
Доброго времени суток.
помогите с одной проблемой, кому не сложно
пытаюсь вывести в DBGrid текст в поля типа MEMO с помощью Canvas
использую многочисленные примеры с DBGridDrawCell и DefaultDraw := false, но при изменении последнего параметра на компоненте не рисуется вообще ничего, в том числе и то,что я пытаюсь нарисовать любым способом
в чем проблема?
код выложить не могу, т.к. уже удалил с исходника, но примеры я брал и з DRKB или DelphiWorld.


ЗЫ EhLib дорого, а халявы не наблюдаю  smile  smile 

нашел халяву, но правда на 9 делфи, а не на 10, как надо

Автор: Rodman 8.3.2007, 23:25
вот кое что нашел, глянь - мож подойдет...


------------------------------------------------------------------
DBGrid и Memo-поля
В обработчик события GetText TMemoField поместите следующую строку:
Код

Text := GrabMemoAsString(TMemoField(Sender)); 

и поместите следующую функцию так, чтобы к ней можно было свободно обратиться:

Код

function GrabMemoAsString(TheField: TMemoField): string;
begin
  if TheField.IsNull then
    Result := ''
  else
    with TBlobStream.Create(TheField, bmRead) do
    begin
      if Size > = 255 then
      begin
        Read(Result[1], 255);
        Result[0] := #255;
      end
      else
      begin
        Read(Result[1], Size);
        Result[0] := Chr(Size);
      end;
      Free;
      while Pos(#10, Result) >  0 do
        Result[Pos(#10, Result)] := ' ';
      while Pos(#13, Result) >  0 do
        Result[Pos(#13, Result)] := ' ';
    end;
end;


Автор: Тьма 16.3.2007, 14:32
решил проблему через этот же обработчик, но с другой процедурой
спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)