Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2009, 11:40   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Информация о содержимом таблицы *.db

Добрый день! Такой вопрос: есть созданная таблица Paradox во время работы программы (не Database Desktop), например, tab.db, можно ли сделать так, чтобы по нажатию на кнопку происходило получение информации о таблице, т.е. чтобы в Label, например, выводились в строчку какие поля есть в таблице, как они называются. Или чтобы таблица при открытии загружалась в DBGrid вместе с содержимым. Есть ли процедура, которая бы выводила информацию о таблице?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 31.03.2009, 11:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Инфа о структуре содержится в Table1.FieldDefs

http://delphiworld.narod.ru/base/pri...structure.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.03.2009, 12:26   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Stilet, ругается компилятор на строчку, которая начинается с WinProcs...
Кажется надо подключить в uses какой-то модуль, но я не могу вспомнить какой. Что надо подключить?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 31.03.2009, 12:35   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Дружище, забудь о ней
Тебе важно:
Код:
const
  FieldTypes: array[0..16] of string[10] = ('Unknown', 'String', 'Smallint',
    'Integer', 'Word', 'Boolean', 'Float', 'Currency', 'BCD', 'Date', 'Time',
    'DateTime', 'Bytes', 'VarBytes', 'Blob', 'Memo', 'Graphic');
s: array[0..3] of string[10];
...
 with Table1.FieldDefs
 for i := 0 to Count - 1 do
s[0] := IntToStr(Items[i].FieldNo) + #9;
      s[1] := Items[i].Name + #9;
      s[2] := FieldTypes[Ord(Items[i].DataType)] + #9;
      s[3] := IntToStr(Items[i].Size);
Усе. Терь втом же цикле этот массив выводи скажем в ЛистБокс для проверочки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.03.2009, 12:43   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Поиском по форуму нашел, что надо подключить (поиск все таки рулит =)). В разделе объявления констант мы, как я понял, перечислили все типы полей, которые указываются при создании таблицы через DataBase Desktop, свойственных для Paradox-a.
А эти строчки что значат:
Код:
with Table1.FieldDefs
 for i := 0 to Count - 1 do
s[0] := IntToStr(Items[i].FieldNo) + #9;
      s[1] := Items[i].Name + #9;
      s[2] := FieldTypes[Ord(Items[i].DataType)] + #9;
      s[3] := IntToStr(Items[i].Size);
И что будет выведено в ListBox? Содержимое таблицы? А на печати, что будет? Будет распечатано содержимое таблицы, отображенной в DBGrid-e или именно структура db файла?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 31.03.2009, 12:46   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну чтож ты такой недогадливый, то, я ж просто например сказал.
Код:
      ListBox.Items.add(IntToStr(Items[i].FieldNo));// Номер поля
      ListBox.Items.add(Items[i].Name); // Имя поля
      ListBox.Items.add(FieldTypes[Ord(Items[i].DataType)]); // Тип поля
      ListBox.Items.add(IntToStr(Items[i].Size)); // Размер поля
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.03.2009, 14:07   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А в StringGrid можно также занести имена полей?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 31.03.2009, 14:10   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А в StringGrid можно также занести имена полей?)
Ну естесственно )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.03.2009, 14:22   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

для этого надо такой цикл сделать:
Код:
var
 i1,i2:integer;
begin
 for i1:=0 to ColCount - 1 do
 for i2:=0 to RowCount - 1 do
  begin
    SG12.Cells[i1,i2]:=ListBox1.Items.GetText;
  end;
end;
Так?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 31.03.2009, 14:55   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Врядли это пройдет

Код:
 SG12.RowCount:=Table1.FieldDefs.Count;
 SG12.ColCount:=5;
for i := 0 to Table1.FieldDefs.Count - 1 do begin
 sg12.cell[0,i]:=IntToStr(Table1.FieldDefs.Items[i].FieldNo);
 sg12.cell[1,i]:=Table1.FieldDefs.Items[i].Name;
... // И так далее остальные данные по таблице
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Информация о процессоре ofolfa Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 15.02.2009 11:46
Информация о компьюторе Ozerich Win Api 1 08.12.2008 21:14
убрать вложенные таблицы из таблицы в режиме просмотра 2007 Baxxter Microsoft Office Access 2 17.11.2008 21:28
Информация об оборудовании firefox33 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 04.11.2008 16:53
информация о дисках Titan123 Общие вопросы Delphi 2 03.10.2008 22:41