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

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

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

Сообщение gopstop2007 »

ABBASoft писал(а): 03 Июль 2020, 20:06 Вынужден тоже задать «глупый» вопрос (Cla11). Справочник продуктов с 2-мя ключами...
1.в Embed при открытии окна, открываем 2 таб

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

SELECT(?Sheet1,2)
2. Ключ сортировки файла по PRO_Name_K2, а в Extentions – Properties – Conditional Bhavior -> CHOICE(?CurrentTab) = 2 -> key PRO_ID_K1
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
ABBASoft
Активист
Сообщения: 115
Зарегистрирован: 15 Май 2006, 18:08

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

Сообщение ABBASoft »

Ошибка unknown identifier на SELECT(?Sheet1,2) Менял на SELECT(?Sheet,2) - все рано неопознанный идентификатор.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение RaFaeL »

ABBASoft писал(а): 03 Июль 2020, 20:47 Ошибка unknown identifier на SELECT(?Sheet1,2) Менял на SELECT(?Sheet,2) - все рано неопознанный идентификатор.
select(?CurrentTab,2)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

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

Сообщение gopstop2007 »

ABBASoft писал(а): 03 Июль 2020, 20:47 Ошибка unknown identifier на SELECT(?Sheet1,2) Менял на SELECT(?Sheet,2) - все рано неопознанный идентификатор.
У вас два Sheet-a или один Sheet с двумя табами? А еще проще выложите код window
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

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

Сообщение gopstop2007 »

RaFaeL писал(а): 03 Июль 2020, 21:01 select(?CurrentTab,2)
сейчас угадывать будем как sheet обозван :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
ABBASoft
Активист
Сообщения: 115
Зарегистрирован: 15 Май 2006, 18:08

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

Сообщение ABBASoft »

Все получилось! надо ?SHEET, а SELECT(?CurrentTab,2)
Большое спасибо за помощь. С уважением, ABBASoft.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение RaFaeL »

gopstop2007 писал(а): 03 Июль 2020, 21:03 сейчас угадывать будем как sheet обозван
Почти 20 лет в саппорте учат сразу замечать нужную информацию )
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Если ABC, то кошернее так:

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

self.FirstField = ?Tab2
We are hard at work… for you. :)
ABBASoft
Активист
Сообщения: 115
Зарегистрирован: 15 Май 2006, 18:08

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

Сообщение ABBASoft »

Все нормально, как подсказал RaFael: SELECT(?CurrentTab,2), только окно не инициализировано (надо толкнуть клавишей) и указатель записи
где-то посередине.
А на self.FirstField = ?Tab2 "ругается" на Tab2.
С уважением, ABBASoft.
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

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

Сообщение Ал »

смена таб

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

...
    CASE FIELD()
    OF ?Browse:1
      ! [Priority 5000]
      
    OF ?CurrentTab
      ! [Priority 5000]
      
      ! End of "Control Event Handling"
      ! Start of "Legacy: Control Event Handling, after generated code"
      ! [Priority 4000]
       !обновление заголовка окна при смене ТАБ
       ...
       NumTab# = ?CurrentTab{PROP:ChoiceFeq} - 10  !считаем со смещением относительно порядковых номеров первых полей на экране
       CASE NumTab#
       OF 0 
          loc:text1 = 
       OF 1 
          loc:text1 = 
       ELSE   !что-то пошло не так?
          loc:text1 = 
       END
      QuickWindow{prop:text} = CLIP(loc:text1)
       POST(EVENT:ScrollTop,?Browse:1) !на 1-ю запись
       ...
      ! End of "Legacy: Control Event Handling, after generated code"
      ...
сортировка по доп.полю/полям

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

...
 OF EVENT:OpenWindow
      ! [Priority 5000]
      ...
      BRW1::SortHeader.SetSortFromString('+LDR:NAME')
      ...      
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

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

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

ABBASoft писал(а): 04 Июль 2020, 17:51 А на self.FirstField = ?Tab2 "ругается" на Tab2.
Аналогичный случай у меня был не так давно, один товарищ спрашивал, как для его задачи libcurl использовать. Товарищ вроде опытный, в ньюсгруппах лет сто уже отирается. Ну я объясняю, говорю "вот пример sendmail.clw прямо для тебя, бери и пользуйся". Не, говорит, не работает твой пример, куча ошибок компиляции. Выяснилось, что он взял этот sendmail.clw и целиком вставил в embed под кнопкой, его не смутило слово PROGRAM и всё такое.
С уважением, ДП
ABBASoft
Активист
Сообщения: 115
Зарегистрирован: 15 Май 2006, 18:08

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

Сообщение ABBASoft »

Все работает и по вставке SELECT(?CurrentTab,2), но только указатель текущей записи становится на запись с №1 по ключу ID-записи, а хотелось бы, чтобы на 1-ю запись по ключу PRO_Name_K2. Это,конечно, не обязательно, но в развитие темы и "толчка" Деда Пахома решил проверить и self.FirstField = ?Tab2. Дед он на то и Дед, что имеет такую приставку к имени. Не стал смотреть никаких sendmail.clw, а посмотрел свой ?Tab2. Там действительно используется (Use) ?Tab:2. Но, к сожалению, self.FirstField = ?Tab:2 (уже без ошибки) совсем не дает ожидаемого результата.
С уважением, ABBASoft.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

ABBASoft писал(а): 05 Июль 2020, 13:32 Но, к сожалению, self.FirstField = ?Tab:2 (уже без ошибки) совсем не дает ожидаемого результата.
Соглашусь с ДП, что порой бывает неожиданно. Это не может не работать!!! Если результат был бы не известен, я бы написал, например, "Попробуйте так". Но у меня железное утверждение! По делу. Куда Вы вставили этот текст?
We are hard at work… for you. :)
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

ABBASoft писал(а): 05 Июль 2020, 13:32 но только указатель текущей записи становится на запись с №1 по ключу ID-записи, а хотелось бы, чтобы на 1-ю запись по ключу PRO_Name_K2.
Надо сделать:

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

post(EVENT:ScrollTop, ?List) 
Но только после того как произойдёт переключение на нужный Tab.
We are hard at work… for you. :)
ABBASoft
Активист
Сообщения: 115
Зарегистрирован: 15 Май 2006, 18:08

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

Сообщение ABBASoft »

Вставка после открытия окна Window Events - OpenWindow
self.FirstField = ?Tab:2
post(EVENT:ScrollTop, ?List)
Теперь ругается на ?List.
Ответить