(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 

Конференция "Gupta/Centura (Gupta Technologies)"

Обсуждение вопросов, связанных с компанией Unify/Gupta (Gupta Technologies), ее продуктами Team Developer, SQLBase и др.

 
 
Добавить сообщение »

Тема: CDK

Автор:  Валерий Дата: 01.11.2000 08:57
>>Если получен hItem таблицы, то можно с помощью функции cBaseTable.EnumColumnObjects () получить массив с hItem'ами столбцов таблицы и всех делов-то. Кстати, то же самое можно сделать вручную, получая последовательно сначала GetFirstChild ()из Contents секции таблицы и затем в цикле получать GetNextSibling (), пока эта функция возвращает осмысленный hItem
>>
>>Geos
>>:)
>> Пытаюсь использовать следующий вариат:
>
>Window Variable
> cdkItem: aItem
> cdkItem: Children[*]
> string: sNames[*]
>
>Action
> On SAM_Click
> Set nCount = aForm.EnumChildWindowObjects( Children )
> Set n = 0
> While n <= nCount
> Set nType = Children[n].GetItemType()
> Set sType = aForm.GetStringFromValue( nType )
> Set sName = Children[n].GetName()
> Set sNames[n1] = sName
> Set sValue[n1]= sType
> Set df2 = Children[n].GetItem()
> If Children[n].GetItemType() = CDK_IT_ChildTable
> Set n2 = 0
> If Children[n].GetFirstChild( aItem )
> Loop
> Set sNames[n2] = aItem.GetName()
> Set n2 = n2 + 1
> If not aItem.GetNextSibling( aItem )
> Break
>но массив sNames не заполняется , что я делаю не так ?
>> Валерий

> Не буду утверждать, но этот вариант , по моему мнению, не рабочий. Предлогаю использовать следующее:

Window Variable
cdkItem: Children[*]
cdkChildTable: aTbl
String: sNames[*]
Number: n2
Number: n
Number: n1
Number: nCount
Action
On SAM_Click
Set nCount = aForm.EnumChildWindowObjects( Children )
Set n = 0
While n <= nCount
If Children[n].GetItemType() = CDK_IT_ChildTable
Call aTbl.InitializeFromObject( Children[n] )
Call aTbl.EnumColumns( sNames )
Call SalQueryArrayBounds( sNames, nLowBound, n2)
Set n1 = 0
While n1 <= n2
Call SalListAdd( lb5, sNames[n1] )
Set n1 = n1 + 1
n = n + 1
Проверено, работает !!!
>> А.О.
Ответить на сообщение »
 
Автор:  Валерий Дата: 01.11.2000 08:49
>>Если получен hItem таблицы, то можно с помощью функции cBaseTable.EnumColumnObjects () получить массив с hItem'ами столбцов таблицы и всех делов-то. Кстати, то же самое можно сделать вручную, получая последовательно сначала GetFirstChild ()из Contents секции таблицы и затем в цикле получать GetNextSibling (), пока эта функция возвращает осмысленный hItem
>>
>>Geos
>>:)
>> Пытаюсь использовать следующий вариат:
>
>Window Variable
> cdkItem: aItem
> cdkItem: Children[*]
> string: sNames[*]
>
>Action
> On SAM_Click
> Set nCount = aForm.EnumChildWindowObjects( Children )
> Set n = 0
> While n <= nCount
> Set nType = Children[n].GetItemType()
> Set sType = aForm.GetStringFromValue( nType )
> Set sName = Children[n].GetName()
> Set sNames[n1] = sName
> Set sValue[n1]= sType
> Set df2 = Children[n].GetItem()
> If Children[n].GetItemType() = CDK_IT_ChildTable
> Set n2 = 0
> If Children[n].GetFirstChild( aItem )
> Loop
> Set sNames[n2] = aItem.GetName()
> Set n2 = n2 + 1
> If not aItem.GetNextSibling( aItem )
> Break
>но массив sNames не заполняется , что я делаю не так ?
>> Валерий
Ответить на сообщение »
 
Автор:  George Panov Дата: 31.10.2000 13:59
Судя по примеру и не должен, точнее должен, но, очевидно, не так, как задумывалось :)По идее так, как я написал, правильней, хотя тоже может не работать ибо писано на коленке:

-----------------------------------------
Window Variable
cdkItem: aItem
cdkItem: Children[*]
String: sNames[*]
String: sValues[*]
Number: nType
Number: n
Number: n1
Action
On SAM_Click
Set nCount = aForm.EnumChildWindowObjects( Children )
Set n = 0
While n <= nCount
Set nType = Children[n].GetItemType()
Set sNames[n] = Children[n].GetName()
Set sValue[n]= aForm.GetStringFromValue( nType )
Set df2 = Children[n].GetItem()
If nType = CDK_IT_ChildTable and Children[n].GetFirstChild( aItem )
Set n1 = 0
Loop
Set sNames[n1+ n + 1] = aItem.GetName()
Set sValues[n1 + n + 1] = aItem.GetStringFromValue( aItem.GetItemType() )
If not aItem.GetNextSibling( aItem )
Break
Set n1 = n1 + 1
Set n = n + 1

-----------------------------------------
Geos
:)
Ответить на сообщение »
 
Автор:  Валерий Дата: 31.10.2000 12:44
>Если получен hItem таблицы, то можно с помощью функции cBaseTable.EnumColumnObjects () получить массив с hItem'ами столбцов таблицы и всех делов-то. Кстати, то же самое можно сделать вручную, получая последовательно сначала GetFirstChild ()из Contents секции таблицы и затем в цикле получать GetNextSibling (), пока эта функция возвращает осмысленный hItem
>
>Geos
>:)
> Пытаюсь использовать следующий вариат:

Window Variable
cdkItem: aItem
cdkItem: Children[*]
string: sNames[*]

Action
On SAM_Click
Set nCount = aForm.EnumChildWindowObjects( Children )
Set n = 0
While n <= nCount
Set nType = Children[n].GetItemType()
Set sType = aForm.GetStringFromValue( nType )
Set sName = Children[n].GetName()
Set sNames[n1] = sName
Set sValue[n1]= sType
Set df2 = Children[n].GetItem()
If Children[n].GetItemType() = CDK_IT_ChildTable
Set n2 = 0
If Children[n].GetFirstChild( aItem )
Loop
Set sNames[n2] = aItem.GetName()
Set n2 = n2 + 1
If not aItem.GetNextSibling( aItem )
Break
но массив sNames не заполняется , что я делаю не так ?
> Валерий
Ответить на сообщение »
 
Автор:  les Дата: 31.10.2000 11:25
В принципе (не с помощью CDK) можно поизвращаться - если заполняем с помощью SalTblPopulate и select разный,
то можно с помощью
! SalTblGetColumnWindow
Пример (взят из хелпа)
Set nColID = 0
Loop

Set hWndCol = SalTblGetColumnWindow ( tbl1, nColID, COL_GetID )
If hWndCol = hWndNULL
Break
Set nColID = nColID + 1
Ответить на сообщение »
 
Автор:  George Panov Дата: 30.10.2000 19:11
Если получен hItem таблицы, то можно с помощью функции cBaseTable.EnumColumnObjects () получить массив с hItem'ами столбцов таблицы и всех делов-то. Кстати, то же самое можно сделать вручную, получая последовательно сначала GetFirstChild ()из Contents секции таблицы и затем в цикле получать GetNextSibling (), пока эта функция возвращает осмысленный hItem

Geos
:)
Ответить на сообщение »
 
Автор:  Валерий Дата: 26.10.2000 10:54
Как, используя функции CDK, получить список дочерник колонок таблицы.
Ответить на сообщение »
 

Добавить сообщение »

 Распечатать »
 Правила публикации »
   
 Рекомендовать »  
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Q 1.0 for Windows Single User
SAP Crystal Reports XI R2 Dev 2006 INTL WIN NUL License (Version 11)
Kaspersky Internet Security для всех устройств. 3-Device 1 year Base Download Pack
ABBYY FineReader Pro для Mac, электронный ключ
Купить Антивирус Dr.Web Server Security Suite для сервера
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Программирование в AutoCAD
СУБД Oracle "с нуля"
3D и виртуальная реальность. Все о Macromedia Flash MX.
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
ODBC: dBase CREATE TABLE... (9)
Есть проблема Из программы на CTD 2.0 PTF3 подключаемся к DBF-файлам Set SqlDatabase='Файлы...
 
TD 6.2 SP4 Ошибка при установке (5)
Добрый день! Кто-нибудь устанавливал TD 6.2 SP4 на Win7? В конце процесса установке выдаётся...
 
PMC (4)
Подскажите как формируется Product Media Code или ключик к SqlWindows 510 ( CTD510)
 
Работа клиента Сеntura с клиентами Оракл 10, тонким клиентом, net client (3)
Есть клиент, написанный на Centura, исходников нет Работает только с клиентами Оракл 8 и 9 Ни...
 
подключение к Centura SQLBase server 6.1.2 (3)
есть приложение (клиент-банк) с вышеуказанной базой. В приложении для подключения к базе...
 
 
 



    
rambler's top100 Rambler's Top100