![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Много строк в одной записи! [D6, Paradox]
ser_ega © (2004-11-10 21:12:00)Мастера подскажите! Как добавить запись у которой одно или несколько полей будет иметь много строк!
Примерно так:
|-|------|-------|
| |Серега| Физика|
|1| | Химия |
| | | Матем.|
|-|------|-------|
| |Макс | Геогр.|
|2| | Информ|
|-|------|-------|
serko (2004-11-22 13:34:00) [1]Спасибо но я вкурсе!
Janb (2004-11-22 08:03:00) [2]Ser-ega
Замечание: перед тем, запустить пример, создайте объект TMemoField для memo-поля двойным кликом по компоненту TTable и добавлением memo-поля.
Это значит когда навигатор выйдет (как ты его назвал) наведи на него и нажми правую кнопку мыши там есть пункт new field дальше думаю поймешь. а насчет процедур ты просто не копируй его куда попало например процедуру procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
можешь найти на событиях дбгрида то есть в инспекторе объектов есть рядом events
sniknik (2004-11-21 17:07:00) [3]> Ну так а зачем тогда этот весь базар? Я же вам четко вопрос задал!
да ну? перечитай, кто и на что отвечал. и потом если 2 + 2 не можеш сложить то куда тебе интегралы решать?
код то элементарный ты еще после > Vit@ly © (10.11.04 22:26) [6]
должен был понять что это не то, но ты начал обсуждать, типа хочеш понять... мой код был попыткой обьяснить (хотя бы начало).
p.s. отвечать на то что в > sniknik © (21.11.04 11:19) [24] ты я вижу не намерен, и подумать над этим, только дай да дай. до свидания.
ser_ega (2004-11-21 15:12:00) [4]Я скачал! А как его установить? Как чтобы он появился там где и DBgrid?
ser_ega (2004-11-21 14:12:00) [5]Ну так а зачем тогда этот весь базар? Я же вам четко вопрос задал!
Дайте ссылочку откуда этот компонет можна скачать! Он наподобии DBGrid? Можна будет потом сделать отчет используя Qreport?
sniknik (2004-11-21 13:58:00) [6]> Ты хочеш сказать что используя эти коды я не добьюсь того что хочу?
естественно, и я честно сразу предупреждал.
просто переделал уже данный код в более понятный и не зависящий от задания/незадания какихто там полей.
тебе там просто первые 50 символов из мемо пола покажет, но никакой многострочности. (правда судя по тому что с этим элементарным не можеш справится, то за многострочный садится тебе рановато, это на порядок сложнее)
найди готовый компонент (советовали уже).
ser_ega (2004-11-21 12:41:00) [7]я чето не пойму что ты имееш ввиду говоря
> а не то что ты возможно (скорее всего) ожидаеш!
Ты хочеш сказать что используя эти коды я не добьюсь того что хочу?
sniknik (2004-11-21 11:19:00) [8]ты думаеш так ктонибудь тебе поможет?
только по инфе о том что - была ошибка, ты ее исправил (с трудом, попутно выяснил что она не относится к DBGrid1DrawDataCell вообше, а какая то твоя), но желаемого не добился т.к. она (эта процедура) оказывается даже не вызывается...
с такими сведениями можно романы писать (накал страстей, куча эмоций, никаких фактов, можно домыслить), но не глюки искать.
ответь сам, если поймеш
что, где, как, откуда, + на чем рушится и что говорит. тогда можно с тобой о чемто говорить будет.
по поводу моего кода в [15], предупреждаю еше раз, он делает то же что и в [6], а не то что ты возможно (скорее всего) ожидаеш!
т.что если добьешся что у тебя это заработает,не расстраивайся (сильно в всяком случае ;о)).
> Как ее принудительно вызвать?
книжки читать не пробовал? как крайнее средство.
ser_ega (2004-11-20 20:09:00) [9]Я вычислил что это процедура вообще не вызывается! Как ее принудительно вызвать?
ser_ega (2004-11-20 13:31:00) [10]ВСЕ я ошибку исправил! Но ни какого результата не добился - в ячейке вместо моего текста отображается (MEMO)! Что еще не так?
ser_ega (2004-11-20 00:15:00) [11]Ребя ну сильно горит добить мне эту прогу! П О Г И Т Е КТО Ч Е М МОЖЕТ!
ser_ega (2004-11-19 20:28:00) [12]Что такое ehlib? Где его взять?
Term (2004-11-19 20:05:00) [13]да не мучайся возьми ehlib там всё это реализованно, хотя иной раз сделать самому полезно для общего развития
ser_ega (2004-11-19 20:01:00) [14]Я вычислил что ошибка возникает даже без DBGrid1DrawDataCell! Может я не так как-то добавляю memo поле или TMemoField? Если не сложно расскажите поподробнее! Плииииииииииииззззз!
ser_ega (2004-11-16 22:59:00) [15]Подкажите что эта ошибка означает? Где мне искать ошибку?
ser_ega (2004-11-13 22:53:00) [16]Ладно уговорили, буду искать у себя ошибку! Т.к. всеравно ошибка выскакивает!
А вы мне не подскажете какие условия для Tmemofield и есть ли они вообще?
sniknik (2004-11-13 01:14:00) [17]всетаки ты вреш насчет ошибок, они не могут не показываться (сообщение то откудато увидел)
ну да ладно, вот переделал, делает то же самое(!!!, а не то что ты ожидал) что и в [6], но надеюсь понятнее будет (хоть и убрал коментарии ;)
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
const
LEN_ST = 50;
var
bs: TMemoryStream;
hStr: String;
begin
if not (Field is TMemoField) then Exit;
bs:= TMemoryStream.Create;
try
TMemoField(Field).SaveToStream(bs);
hStr:= StringOfChar(#0, LEN_ST);
bs.Position:= 0;
bs.Read(hStr[1], LEN_ST);
finally
bs.Free;
end;
hStr:= Trim(StringReplace(hStr, #13#10, ' ', [rfReplaceAll]));
TDBGrid(Sender).Canvas.TextRect(Rect, Rect.Left+2, Rect.Top+2, hStr);
end;
ser_ega (2004-11-12 23:44:00) [18]Так интересно то что если DBGrid1DrawDataCell не включать то все добавляется, а с ним никак не хочет!
ser_ega (2004-11-12 23:34:00) [19]Да не то время шоб врать!
sniknik (2004-11-12 23:24:00) [20]> Delphi не показывает в какой строке ошибка!
да ну? вреш небось?
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1100159363&n=0
обрати внимание на посты Digitman-а