DBGrid

maris10
Дата: 28.11.2007 00:24:08
Kак мне memo поля атабразить в DBGrid?
Гаджимурадов Рустам
Дата: 28.11.2007 01:10:43

Не отображать.


Posted via ActualForum NNTP Server 1.4

Kotъ-Begemotъ
Дата: 28.11.2007 02:51:57
maris10
Kак мне memo поля атабразить в DBGrid?


Хм... Ну вроде обычные текстовые поля можно, если я правильно помню... Но! База какая?!? SQL? Может как любой BLOB так просто не отобразишь? Я бы сделал так - рядом с Гридом поместил скажем Memo (если у тебя в BLOB полях текст неформатированный) и на OnDataChange твоего DataSource вытаскивал бы нужное поле и помещал его в Memo...
Megabyte
Дата: 28.11.2007 13:38:29
Но! База какая?!? SQL? [/quot]
Блин, ну где вы такую "базу" видели???
Anatoly Podgoretsky
Дата: 28.11.2007 14:12:06
Монитор какой?
Цветной,
Какой, какой?
Гордо - цветной.
Kotъ-Begemotъ
Дата: 28.11.2007 17:42:58
Megabyte
Но! База какая?!? SQL?

Блин, ну где вы такую "базу" видели???[/quot]

Вопрос "Какая база?" был задан, что еще надо? Не цепляйтесь к словам. Подразумевалось что база данных, или недо-оная, типа Paradox или Access или не дай Бог, DBase...
alex0
Дата: 28.11.2007 18:28:00
maris10
Kак мне memo поля атабразить в DBGrid?

А как вы хотите? Это к тому что там к примеру могут картинки хранится а могут тексты или zip-архивы, тут телепатов знающих что вы туда записали не так много. Как вариант можете почитать в хелпе про TField.GetText, или про сalculated fields.
jbond81
Дата: 28.11.2007 18:34:54
EhLib
maris10
Дата: 28.11.2007 22:52:02
База данних в access.
Бполя memo сахранаетья толка текст, никаких zip, и картинак.
maris10
Дата: 29.11.2007 00:16:28
var 
  P: array [0..50] of char; {размер массива, это количество необходимых символов}
  bs: TBlobStream;          {из memo-поля} 
  hStr: String; 

begin 
  if Field is TMemoField then 
  begin 
    with (Sender as TDBGrid).Canvas do 
    begin   {Table1Notes это TMemoField} 
      bs := TBlobStream.Create(Table1Notes, bmRead); 
      FillChar(P,SizeOf(P),#0); {строка завершается нулём} 
      bs.Read(P, 50); {читаем 50 символов из memo в blobStream} 
      bs.Free; 
      hStr := StrPas(P); 
      while Pos(#13, hStr) > 0 do  {удаляем переносы каретки и}
        hStr[Pos(#13, hStr)] := ' '; 
      while Pos(#10, hStr) > 0 do  {отступы строк}
        S[Pos(#10, hStr)] := ' '; 

      FillRect(Rect);  {очищаем ячейку}
      TextOut(Rect.Left, Rect.Top, hStr);  {заполняем ячейку данными из memo}
    end; 
  end; 
end; 
памагите разабратся.
первая ашибка сразу тут: bs: TBlobStream;