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

Clarion, Clarion 7

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

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

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

Сообщение SuperMax »

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

CW10+ABC
1. Форма. как в FileDop добавить в лист еще и индекс ?
те выпадающий список с именами и подстановкой ID у меня работает
а если в лист добавляю ID - все ломается
Изображение
помню что такая проблема была и ранее, но вот как я ее лечил забыл :shock:
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Попробуй так: в "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
Посетитель
Сообщения: 47
Зарегистрирован: 25 Август 2015, 3:22
Поблагодарили: 2 раза

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

Сообщение SuperMax »

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

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

Сообщение kreator »

А Use-переменная в FileDrop какая? Если MIB:IDTD, то должно быть всё путём. А, если Name, то не пойдёт, нужна, видимо, явная связь с TPD:Name.
We are hard at work… for you. :)
SuperMax
Посетитель
Сообщения: 47
Зарегистрирован: 25 Август 2015, 3:22
Поблагодарили: 2 раза

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

Сообщение SuperMax »

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

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

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


как я припоминаю проблема конвертации была и ранее, но не уверен, тк начиная с 5ки я перешел на Oracle в качестве хранилища данных
а тут задача маленькая и сугубо локальная.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение RaFaeL »

В 6.3 так: в dct открываешь файл на browse и при открытии происходит конвертация
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

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

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

Сообщение Алексей- Софт-Центр »

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

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

Алексей
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

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

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

Сообщение SuperMax »

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

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

действовать через передачу сообщений NOTIFY/NOTIFICATION ?
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

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

Сообщение Дед Пахом »

SuperMax писал(а): действовать через передачу сообщений NOTIFY/NOTIFICATION ?
Да
С уважением, ДП
SuperMax
Посетитель
Сообщения: 47
Зарегистрирован: 25 Август 2015, 3:22
Поблагодарили: 2 раза

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

Сообщение SuperMax »

Спасибо

Еще вопрос:
какая-то засада с синтаксисом
в 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
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Start'ом можно запустить только процедуру с параметрами String. И только.
Кстати, отследить завершение процедуры можно по глобальной переменной (st, например).
We are hard at work… for you. :)
SuperMax
Посетитель
Сообщения: 47
Зарегистрирован: 25 Август 2015, 3:22
Поблагодарили: 2 раза

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

Сообщение SuperMax »

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

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

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

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

Сообщение vd-vuf »

можно мне пару глупых??
который раз натыкаюсь на засаду.. со временем забывается, и вот опять 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 байтам
вопрос, может быть Клаше нада как то говорить что б она выравнивала подобные вещи сама?
Ответить