Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
ВнизВывод структуры таблицы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.038 c