Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.30;
Скачать: CL | DM;

Вниз

Вывод структуры таблицы   Найти похожие ветки 

 
Yurij-7   (2004-12-22 13:36) [0]

Уважаемые мастера подскажите в чем могут быть грабли при выведении структуры таблицы в ListBox, я делаю это вот так:

procedure TForm1.BitBtn2Click(Sender: TObject);
var
  Name, Typ: String;
  Len, Dec, i: Integer;
begin
//    for i := 1 to HalcyonDataSet1.FieldCount do
 begin
   with ListBox1.Items do
   begin

Add ("  "+Name+"   "+Typ+"   "+InttoStr(Len)+"   "+InttoStr (Dec)+"   ");

   end;
   end;

Но ксожалению в ListBox выыодит только нулевые значения Len Dec
Спасибо!


 
Александр Иванов ©   (2004-12-22 13:40) [1]

Комментарий со строки цикла снять?


 
Соловьев ©   (2004-12-22 13:40) [2]

Add ("  "+Name+"   "+Typ+"   "+InttoStr(Len)+"   "+InttoStr (Dec)+"   ");

а єто случем не поля HalcyonDataSet1.Fields[i]?


 
Johnmen ©   (2004-12-22 13:41) [3]

Ну всё правильно. Len Dec нигде не изменяются, инициализируются нулём..


 
Yurij-7   (2004-12-22 13:55) [4]

все исправил спасибо Johnmen & Соловьев  :))

А у меня еще вопрос как весь результат выровнять ну типа как по сетке в Экселе, длина имени поля то разная всегда.

Поле1     С   5   0
Поле2     С   5   0

Спасибо


 
Соловьев ©   (2004-12-22 13:57) [5]

TSringGrid или используй разделитель - табуляцию.


 
msguns ©   (2004-12-22 13:59) [6]

Или использовать шрифт с фиксированной шириной символов


 
Yurij-7   (2004-12-22 15:49) [7]

а можно чуть подробней "используй разделитель - табуляцию." просто я с TSringGrid никогда неработал :((
я думал сделать так:
1. вычислить длину имени поля (храниться в переменной)
2. недостающее количество символов в длине поля заполнить пробелами(только незнаюю пока как это делать)

или может есть проще вариант?
Спасибо


 
Yurij-7   (2004-12-22 17:23) [8]

ну неужели никто неподскажет?


 
msguns ©   (2004-12-22 17:24) [9]

>Yurij-7   (22.12.04 15:49) [7]
>я думал сделать так:
1. вычислить длину имени поля (храниться в переменной)
2. недостающее количество символов в длине поля заполнить пробелами(только незнаюю пока как это делать)

Если все поля -> в одну строку (вариант с "однострочными" списками типа листбокса), то этот метод сойдет. При условии выбора соотв.шрифта. Добавлять недостающие справа пробелы очень просто:
 While Lenght(S)<MaxLineLenght do S := S+" ";

Но будет некрасиво. Для красоты все же рекомендую TStringGrid. Правда там внутри ячеек нет автовыравнивания (по центру или направо) и если это все же желательно, то используй событие грида OnDrawCell с вычислением длины выражения и ширины ячейки и выравниваем первого относительно второй "вручную".
Не бойся сложностей. Когда получится - испытаешь оргазм ;)


 
Yurij-7   (2004-12-22 17:30) [10]

:))

А нету случайно статейки как работать с TStringGrid?


 
msguns ©   (2004-12-22 17:59) [11]

F1. Там достаточно хорошо все описано



Страницы: 1 вся ветка

Текущий архив: 2005.01.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
14-1105559322
Кудесник
2005-01-12 22:48
2005.01.30
Посоветуйте ХОРОШУЮ программу для изучения иностранных языков...


3-1104134539
Dell3r
2004-12-27 11:02
2005.01.30
Query не дает редактировать


3-1104143196
CRACKISH
2004-12-27 13:26
2005.01.30
Добавление в базу!


1-1105568578
nachinaushiy
2005-01-13 01:22
2005.01.30
Помогите кто-нибудь....


3-1103841286
AliceSpain
2004-12-24 01:34
2005.01.30
Картинки где лучше хранить для сетевой базы?