О сколько нам открытий чудных ... (про C7.1)

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
nik190994
Активист
Сообщения: 196
Зарегистрирован: 28 Сентябрь 2009, 16:19

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение nik190994 »

Ляпов много... Но и хорошего немало... :D
Одно время работал под VS 2008 .... Ляпов практически нет...
Но там идеология требует огромных усилий... и по моему очень неудобно...
Особенно после любимого Клариона...
Будем доброжелательны ... мы в одной лодке... :D
gar130463
Новичок
Сообщения: 16
Зарегистрирован: 24 Ноябрь 2008, 23:12

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение gar130463 »

Привет, коллега
7.1 просит имя и серийник, если у тебя есть поделись пожалуйста
Алексей, Ижевск
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3144
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 11 раз
Поблагодарили: 32 раза
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

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

Про CC опять.
Есть класс, объявленный в class.inc и реализованный в class.clw. Имеем где-то процедуру, использующую этот класс, типа

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

MyProc  PROCEDURE()
oClass  MyClass
  CODE
  oClass.Init()
Тычки правой кнопкой на слове Init ведут себя странно: то в меню есть пункт "Init", по которому можно перейти на "Goto Declaration", то (чаще всего) такого пункта нет (не могу воспроизвести стопроцентно, да что там, последние 5 минут тычу, тычу, а пункт не появляется вовсе!).
Это я к чему? Во-первых, починить вышеизложенное хорошо бы; во-вторых, хочу команду "Got definition" для методов внешнего класса (добраться же можно через CLASS,TYPE,MODULE('class.clw'))
Спасибо.
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3144
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 11 раз
Поблагодарили: 32 раза
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

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

Ребята-аркадьевцы, ну добавьте вы в CC встроенные функции, такие как GET, а то пишешь GET, нажимаешь скобку и получаешь GETblobdata(. Забодался уже.
С уважением, ДП
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение ORS »

Дед Пахом писал(а):Ребята-аркадьевцы, ну добавьте вы в CC встроенные функции, такие как GET, а то пишешь GET, нажимаешь скобку и получаешь GETblobdata(. Забодался уже.
Работаем над этим, просто все встроенные функции равны и сидят в файле BUILTINS.CLW, а некоторые из них равнее и обрабатываются компилятором специальным образом. Соответственно и в СС их надо добавлять дополнительно.
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение ORS »

Дед Пахом писал(а):Про CC опять.
Есть класс, объявленный в class.inc и реализованный в class.clw. Имеем где-то процедуру, использующую этот класс, типа

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

MyProc  PROCEDURE()
oClass  MyClass
  CODE
  oClass.Init()
Тычки правой кнопкой на слове Init ведут себя странно: то в меню есть пункт "Init", по которому можно перейти на "Goto Declaration", то (чаще всего) такого пункта нет (не могу воспроизвести стопроцентно, да что там, последние 5 минут тычу, тычу, а пункт не появляется вовсе!).
Это я к чему? Во-первых, починить вышеизложенное хорошо бы; во-вторых, хочу команду "Got definition" для методов внешнего класса (добраться же можно через CLASS,TYPE,MODULE('class.clw'))
Спасибо.
Когда нет пункта "goto..." на методе "Init" есть ли для него тултип? А для "oClass"? Может быть в том файле, где у вас написана "MyProc" нет инклуда "class.inc"?
С "goto definition" все не так уж просто, но мы посмотрим, что можно сделать.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3144
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 11 раз
Поблагодарили: 32 раза
Контактная информация:

!

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

ORS писал(а):
Дед Пахом писал(а):Про CC опять.
Есть класс, объявленный в class.inc и реализованный в class.clw. Имеем где-то процедуру, использующую этот класс, типа

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

MyProc  PROCEDURE()
oClass  MyClass
  CODE
  oClass.Init()
Тычки правой кнопкой на слове Init ведут себя странно: то в меню есть пункт "Init", по которому можно перейти на "Goto Declaration", то (чаще всего) такого пункта нет (не могу воспроизвести стопроцентно, да что там, последние 5 минут тычу, тычу, а пункт не появляется вовсе!).
Это я к чему? Во-первых, починить вышеизложенное хорошо бы; во-вторых, хочу команду "Got definition" для методов внешнего класса (добраться же можно через CLASS,TYPE,MODULE('class.clw'))
Спасибо.
Когда нет пункта "goto..." на методе "Init" есть ли для него тултип? А для "oClass"? Может быть в том файле, где у вас написана "MyProc" нет инклуда "class.inc"?
С "goto definition" все не так уж просто, но мы посмотрим, что можно сделать.
Воспроизвёл 100%. Открываю (первый раз) файл class.clw, пункт Init есть. Жму Goto declaration, открывается inc-файл, всё хорошо. Если не закрывать inc, то пункт Init не пропадает, а если закрыть, то всё, нету его больше и тултипа нет! Если закрыть ещё и clw, а затем его переоткрыть, то всё опять OK, пока не сделаешь Goto declaration > Close inc-файл.
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3144
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 11 раз
Поблагодарили: 32 раза
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

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

Дед Пахом писал(а): Воспроизвёл 100%. Открываю (первый раз) файл class.clw, пункт Init есть. Жму Goto declaration, открывается inc-файл, всё хорошо. Если не закрывать inc, то пункт Init не пропадает, а если закрыть, то всё, нету его больше и тултипа нет! Если закрыть ещё и clw, а затем его переоткрыть, то всё опять OK, пока не сделаешь Goto declaration > Close inc-файл.
Уточнение.
На самом деле конструкция немного сложнее: есть ещё один inc-файл, classbase.inc, в котором как раз и продекларирован метод Init. То есть в class.inc написано include('classbase.inc'). И именно закрытие этого classbase.inc ломает CC (если метод описан в class.inc, такого не происходит). Надеюсь, понятно объяснил.
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3144
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 11 раз
Поблагодарили: 32 раза
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

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

А нельзя ли в тултипах для констант показывать ещё и их значения? Например, есть константа

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

CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM    EQUATE(0)
в тултипе вижу
public const ENUM CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM
а хотелось бы
public const ENUM CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM = 0
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3144
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 11 раз
Поблагодарили: 32 раза
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

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

Ещё пара замечаний.
  • Если открыто окно CC, то тултип показывается под этим окном (то есть окно CC загораживает тултип).
    Если есть многострочная конструкция

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

    IF 1=1
    DO R1
    DO R2
    и после написать END и нажать ENTER, то форматируется не весь блок IF-END, а только строка, предшествующая END.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7498
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 18 раз
Поблагодарили: 51 раз

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение Игорь Столяров »

Дед Пахом писал(а):и после написать END и нажать ENTER, то форматируется не весь блок IF-END, а только строка, предшествующая END.
Посмотрите ниже - по этой ветке форума, вопрос уже обсуждался.
Как объяснил человек, который причастен к разработке среды, - ENTER должен нажиматься после каждой строки, когда ты пишешь код.
Тогда в следующей строке курсор будет устнавливаться на позицию с учетом форматирования. Т.е. вся эта красота с форматированием работает только при аккуратном вводе нового текста или же блок текста должен быть выделен вручную (!?) и к нему должна быть применена операция автоформатирования ....

NO COMMENT ... ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3144
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 11 раз
Поблагодарили: 32 раза
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

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

У меня есть COMMENT, но здесь его привести нельзя по причине нецензурности.
С уважением, ДП
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение ORS »

Дед Пахом писал(а):У меня есть COMMENT, но здесь его привести нельзя по причине нецензурности.
Так а в чем проблема? Как вы написали свой незаконченный IF чтобы форматирование при этом было испорчено? Если вы его начали писать сначала, то курсор на каждой новой строке уже ставился с отступом и форматирование всего блока после ввода END уже ничего бы не изменило. Если вы вставляли какой-то код из буфера, то есть опция на форматирование вставленного текста после paste. Если вы имеете какой-то неформатированный текст и хотите в нем что-то менять, то при этом автоформаттер будет вас только раздражать, как случилось с Игорем Столяровым. Потому естественно надо либо его весь отформатировать, либо не пользоваться режимом smart.
Форматирование даже только предыдущей строки (с которой только что ушли enter`ом) уже вызывает ругательства, как можно почитать в предыдущих постах, что же будет если форматировать весь блок?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7498
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 18 раз
Поблагодарили: 51 раз

Re: О сколько нам открытий чудных ... (про C7.1)

Сообщение Игорь Столяров »

ORS писал(а):Потому естественно надо либо его весь отформатировать, либо не пользоваться режимом smart.
Да, действительно, для меня эта тема закрыта. Но для Вас (разработчиков среды) - она все равно будет периодически возникать, как сейчас.
Человек ждет от функционала программы (режим SMART), что его работа будет либо подчиняться здравой логике, либо соответсвовать некоторым общепринятым стандартам работы с исходным текстом ПРОГРАММЫ. Здесь отсутсвует и то и другое. Режим SMART выполняет некие, заложенные в него функции форматирования текста, слабо связанные с кодировкой программы. Я понимаю, что нельзя после каждого END'a искать его IF вверх, может быть на тысячи строк. Да и не факт, что этот IF вообще существует ... Но и просто тупо сдвигать END без привязки к контексту тоже не правильно. Поэтому лучше ничего не делать, чем делать это плохо. Я отключил этот режим.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3144
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 11 раз
Поблагодарили: 32 раза
Контактная информация:

Re: О сколько нам открытий чудных ... (про C7.1)

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

Я не вставляю код из буфера, сценарий другой: есть код

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

DO R1
DO R2
Терерь я пишу сверху IF 1=1, а снизу END и жму ентер - сдвигается только DO R2. Пошли навстречу Столярову - пойдите и мне, сделайте опцию, пусть оно парсит 1000 строк вверх, я подожду.
С уважением, ДП
Ответить