Глупые вопросы

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
SuperMax
Посетитель
Сообщения: 42
Зарегистрирован: 25 Август 2015, 3:22

Глупые вопросы

Сообщение SuperMax » 31 Август 2015, 11:15

Хочу позадавать глупые вопросы тк некоторые вещи забыл напрочь (прошло больше 10 лет с тех времен когда я кларионил)
что-то вспомнилось легко, а вот местами затыки :o

CW10+ABC
1. Форма. как в FileDop добавить в лист еще и индекс ?
те выпадающий список с именами и подстановкой ID у меня работает
а если в лист добавляю ID - все ломается
Изображение
помню что такая проблема была и ранее, но вот как я ее лечил забыл :shock:

kreator
✯ Ветеран ✯
Сообщения: 3412
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Глупые вопросы

Сообщение kreator » 31 Август 2015, 12:39

Попробуй так: в "Actions" FileDrop'а на закладке "General" поставь явно Use-переменные в "Field to fill from" и "Target field". Ещё можно ID на второе место переставить. И ещё куча вариантов. Я обычно использую FileDropCombo, у этого контрола автоматически идёт поиск по первым символам (типа инкрементал-локатор), плюс, если включить опцию "Automatic Entry Field Completion", то контрол будет дописывать значения. Поэтому наличие ID'шника как-то не вяжется со схемой работы. Нужен поиск по ID?
We are hard at work… for you. :)

SuperMax
Посетитель
Сообщения: 42
Зарегистрирован: 25 Август 2015, 3:22

Глупые вопросы

Сообщение SuperMax » 31 Август 2015, 16:37

kreator писал(а):Попробуй так: в "Actions" FileDrop'а на закладке "General" поставь явно Use-переменные в "Field to fill from" и "Target field".
это и так стоит
Изображение
Ещё можно ID на второе место переставить. И ещё куча вариантов.
если переставить ID - помогает, однако я хочу сначала ID
Я обычно использую FileDropCombo, у этого контрола автоматически идёт поиск по первым символам (типа инкрементал-локатор), плюс, если включить опцию "Automatic Entry Field Completion", то контрол будет дописывать значения. Поэтому наличие ID'шника как-то не вяжется со схемой работы. Нужен поиск по ID?
поиск не нужен - нужна сортировка по нему и отображение
можно конечно поступить проще - те в имя вставить "1.dsfdfgfd" , но я хотел разобраться в с этим случаем

kreator
✯ Ветеран ✯
Сообщения: 3412
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Глупые вопросы

Сообщение kreator » 31 Август 2015, 17:07

А Use-переменная в FileDrop какая? Если MIB:IDTD, то должно быть всё путём. А, если Name, то не пойдёт, нужна, видимо, явная связь с TPD:Name.
We are hard at work… for you. :)

SuperMax
Посетитель
Сообщения: 42
Зарегистрирован: 25 Август 2015, 3:22

Глупые вопросы

Сообщение SuperMax » 03 Сентябрь 2015, 11:01

Use переменная как раз должна быть NAME
пробовал крутить но не помогает.

ладно. вопрос закрыт.

Второй вопрос - чем конвертировать TPS ?
те типовая ситуация - добавил полей в словарь и захотел сконвертировать TPS в новый формат
пробую TOPMATCH.EXE
она, как я понимаю, хочет словарь в формате TXD
а среда может экспортировать только в DCTX (XML)
уточнение - таблицы в одном TPS-файле


как я припоминаю проблема конвертации была и ранее, но не уверен, тк начиная с 5ки я перешел на Oracle в качестве хранилища данных
а тут задача маленькая и сугубо локальная.

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 883
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

Глупые вопросы

Сообщение RaFaeL » 03 Сентябрь 2015, 12:45

В 6.3 так: в dct открываешь файл на browse и при открытии происходит конвертация

kreator
✯ Ветеран ✯
Сообщения: 3412
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Глупые вопросы

Сообщение kreator » 03 Сентябрь 2015, 14:06

SuperMax писал(а):Use переменная как раз должна быть NAME
пробовал крутить но не помогает.
Тогда поступаем тупо. Первым полем в списке ставим Name с нулевой шириной (возможно придётся использовать локальную переменную).
SuperMax писал(а):Второй вопрос - чем конвертировать TPS ?
На файле в DCT нажимаешь правую клавишу мыши, там есть пункт "Конвертация", там три варианта... В хелпе попроднобнее можно прочитать.
We are hard at work… for you. :)

Алексей- Софт-Центр
Ветеран
Сообщения: 387
Зарегистрирован: 26 Август 2009, 11:41
Откуда: Moscow
Контактная информация:

Глупые вопросы

Сообщение Алексей- Софт-Центр » 03 Сентябрь 2015, 14:08

Добрый день!
В DCT меню-файл-создать конвертер для одной таблицы.
Далее - что спросит.

ПС. Авто конвертация при открытии не всегда работает правильно

Алексей

kreator
✯ Ветеран ✯
Сообщения: 3412
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Глупые вопросы

Сообщение kreator » 03 Сентябрь 2015, 17:02

Алексей- Софт-Центр писал(а):В DCT меню-файл-создать конвертер для одной таблицы.
Не путайте человека, в десятке нет такого. По правой клавише мыши этот функционал.
We are hard at work… for you. :)

SuperMax
Посетитель
Сообщения: 42
Зарегистрирован: 25 Август 2015, 3:22

Глупые вопросы

Сообщение SuperMax » 06 Сентябрь 2015, 13:00

Спасибо за ответ. функцию конвертации нашел.

Еще один глупый вопрос:
встала задача запустить несколько параллельных процессов (запрос данных по SNMP)
с запуском проблем нет - START(.....
вопрос как отследить их завершение ?

действовать через передачу сообщений NOTIFY/NOTIFICATION ?

Аватара пользователя
Дед Пахом
Старичок
Сообщения: 2299
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

Глупые вопросы

Сообщение Дед Пахом » 06 Сентябрь 2015, 15:58

SuperMax писал(а): действовать через передачу сообщений NOTIFY/NOTIFICATION ?
Да
С уважением, ДП

SuperMax
Посетитель
Сообщения: 42
Зарегистрирован: 25 Август 2015, 3:22

Глупые вопросы

Сообщение SuperMax » 06 Сентябрь 2015, 20:02

Спасибо

Еще вопрос:
какая-то засада с синтаксисом
в GLOBAL MAP
вставляю

Код: Выделить всё

MODULE('setty3003.clw')

ScanSNMP (STRING,LONG)
ScanSNMPSystems 

END
но при этом вызов

Код: Выделить всё

st=start(ScanSNMP,25000,ip,SelfThread)
вызывает матюг компилятора - "No matching prototype available"

пока был один параметр - все было нормально
как добавил второй - матюгается

в LanguageReference.pdf
указан другой вариант синтаксиса - см 835стр (нумерация документа)

Код: Выделить всё

MAP
NewProc1 PROCEDURE
NewProc2 PROCEDURE(STRING)
NewProc3 PROCEDURE(STRING,STRING)
NewProc4 PROCEDURE(STRING,STRING,STRING)
END
если я пытаюсь его применить то компилятор вообще его не кушает

что я делаю не так ?

kreator
✯ Ветеран ✯
Сообщения: 3412
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Глупые вопросы

Сообщение kreator » 06 Сентябрь 2015, 20:19

Start'ом можно запустить только процедуру с параметрами String. И только.
Кстати, отследить завершение процедуры можно по глобальной переменной (st, например).
We are hard at work… for you. :)

SuperMax
Посетитель
Сообщения: 42
Зарегистрирован: 25 Август 2015, 3:22

Глупые вопросы

Сообщение SuperMax » 07 Сентябрь 2015, 8:09

сделал STRING и все заработало. Спасибо!

По глобальной отслеживать не интересно - те я стартую процессы опроса сети /24 - те 254 процесса

вообще получилось достаточно оперативно - 20 секунд на поиск и опрос ответивших модулей в сетке /24

vd-vuf
Бывалый
Сообщения: 61
Зарегистрирован: 12 Декабрь 2008, 12:09
Откуда: Верхний Уфалей
Контактная информация:

Глупые вопросы

Сообщение vd-vuf » 08 Сентябрь 2015, 6:16

можно мне пару глупых??
который раз натыкаюсь на засаду.. со временем забывается, и вот опять 2 дня бился
к примеру есть структура на С (https://msdn.microsoft.com/en-us/librar ... 85%29.aspx)

Код: Выделить всё

typedef struct fd_set {
  u_int  fd_count;
  SOCKET fd_array[FD_SETSIZE];
} fd_set;
описываем аналогичную в клаше

Код: Выделить всё

FD_SET                  GROUP,TYPE
FD_COUNT                  USHORT
FD_ARRAY                  SOCKET,DIM(FD_SETSIZE)
                        END 
и фигвам, винсок говорит что у вас какая то фигня а не сокет.
оказывается нада

Код: Выделить всё

FD_SET                  GROUP,TYPE
FD_COUNT                  USHORT
                          SHORT
FD_ARRAY                  SOCKET,DIM(FD_SETSIZE)
                        END
то есть, выравниваем структуру по 4 байтам
вопрос, может быть Клаше нада как то говорить что б она выравнивала подобные вещи сама?

Ответить