Author Topic: Мелочи... Кучей  (Read 7431 times)

0 Members and 1 Guest are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Мелочи... Кучей
« on: November 08, 2013, 01:05:41 PM »
1. Просьба исправить, чтобы при вызове #include,  #name из инклюда не читался и не затирал основной #name. Тяжело имя окна искать, когда оно меняется как попало.

2. Знаю что просили... Но всё же. Можно добавить команду выхода из скрипта с закрытием климкермэна. Exit?
Посылка wm_close не работает.
$hwnd = wndfind("Clickermann - name2",1)
PostMessage($hwnd ,0x0010,0,0)
Закрывать посылая нажатия Alt+F4 можно только если нет привязки, в фоне кнопки не посылает. Как минимум Alt+ не удастся.
Закрывать убивая процесс... так и делал, если процесс один. Но проблема возникла если запущено 2+ копии. Один основной запускает и после убивает (должен, не вышло) в определённое время другие копии со своим скриптом. Зачем это сделано? Чтобы завершать скрипты в любом месте выполнения и даже если произошёл сбой-зацикливание.
Убивание процесса закрывает все копии сразу и без разбора.

3. Тоже говорилось, но очень давно. Добавить что-то типа BREAK или ExitLoop для прерывания циклов. Сейчас для "правильности" приходится вводить кучу временных переменных которые позволяют Ифами пропускать остатки кода в цикле. BREAK чтобы был многоуровневый BREAK() или BREAK(1) выходит из одного цикла, BREAK(3) из 3 вложенных...

То-же самое иногда мешает выскакивать из подпрограмм, даже по GOTO в конец подпрограммы.

4. Я понимаю, что вызов подпрограмм с параметрами пока не доделан. В принципе очень удобная штука будет.
Планируется вводить в подпрограммы локальные переменные? Те что принимают параметры становятся локальными по умолчанию. Остальные если нужно, можно объявить локальными списком. Само сабой это для освобождения памяти (которая "уже трещит по швам") при выходе из саба и главное не нужно следить за пересечением имён в основной части и подпрограммах. Правда не знаю как быть с вложенностью... но думаю решаемо.

5. Ну и для того, чтобы всё было в куче...  INPUTBOX и DIALOGBOX поверх всех окон.
   5а. Поле ввода в INPUTBOX активно, уже с курсором внутри если нет значения по умолчанию. И возможность завершать ввод Enter. Не знаю как, но избавиться от "мышь-клавиатура-мышь".

6. Исправить в справке код #ESCAPE на #ESC

7. баг когда вылетают внутренности условий, если попадается инструкция в которой есть 6-8 параметров.
упомянут в сообщении http://crapware.aidf.org/forum/index.php?topic=359.msg2934#msg2934
"По иронии судьбы под этот шаблон попадает лишь logwrite / print держите инфу в уме. баг присутствует в версиях 4.7-4.8"
- Под этот шаблон попадает и SCANPICTURE вместе с SCANPXL, а это уже серьёзно

8. Добавить логическим операторам возможность задавать порядок выполнения, с помощью скобок.

9. В редакторе, в пару к кнопке "Сделать комментарий" добавить кнопку "Убрать комментарий".
Нужно для нескольких строк. Удалять должно только первые // в строке, если до них кроме пробелов и TAB ничего нет.
Иначе перед каждым использованием для большого куска, думаешь о том как будешь материться стирая вручную в каждой по отдельности.

10. Неправильно высчитывается COS 90°, 270° и соответственно SIN 0°, 90°


Что забыл, добавляйте.
« Last Edit: December 04, 2013, 01:17:23 PM by Vint »


Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Мелочи... Кучей
« Reply #1 on: November 08, 2013, 02:14:40 PM »
7. нашел баг когда вылетают внутренности условий, если попадается инструкция в которой есть 6-8 параметров. по иронии судьбы под этот шаблон попадает лишь logwrite / print

держите инфу в уме. баг присутствует в версиях 4.7-4.8

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Мелочи... Кучей
« Reply #2 on: November 09, 2013, 03:09:29 AM »


5. Ну и для того, чтобы всё было в куче...  INPUTBOX и DIALOGBOX поверх всех окон.

Что забыл, добавляйте.
Ну и если не трудно, чтобы курсор внутри INPUTBOX был  активным.
А то приходится , вместо  того, чтобы сразу печатать  цифру,  сначала  тянуться за мышкой и делать лишнюю операцию активации.
Бабочки полёт будит тихую поляну в солнечном свету...

MIG29

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
Re: Мелочи... Кучей
« Reply #3 on: November 11, 2013, 12:04:35 AM »
Джони, в к-мене 4.6 были кнопки "сдвинуть вправо" , "сдвинуть влево", волшебная палочка неплохо работает, но те кнопки полюбились больше)
if_picture_in - зло

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Мелочи... Кучей
« Reply #4 on: December 03, 2013, 09:21:39 AM »
Добавил 5а, 8, 9, 10
особенно важно 10.

Версия 4.7 считала так:
10:28:19 угол  0  COS= 1
10:28:19 угол  90  COS= 4.48965921677393E-11
10:28:19 угол  180  COS= -1
10:28:19 угол  270  COS= -1.34689776503218E-10
10:28:19 угол  360  COS= 1

4.8 считает так, не глядя на E:
10:29:11 угол  0  COS= 1
10:29:11 угол  90  COS= -6.5103407832261
10:29:11 угол  180  COS= -1
10:29:11 угол  270  COS= -11.3468977650322
10:29:11 угол  360  COS= 1

В общем экспоненту херит, высчитывая как выражение.

При этом переход на 4.7 не поможет. Число с экспонентой невозможно использовать в вычислениях.
Code: (clickermann) [Select]
LOGWRITE (" SIN ",SIN(180*3.1415926535/180))
LOGWRITE (" SIN*100 ",SIN(180*3.1415926535/180)*100)
Лог:
Code: [Select]
13:51:04  SIN 8.97931843354786E-11
13:51:04  SIN*100 -1091.0206815664521
« Last Edit: December 03, 2013, 12:51:27 PM by Vint »


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Мелочи... Кучей
« Reply #5 on: December 04, 2013, 01:16:29 PM »
Обновил п. 7, серьёзный баг.


Alexey

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Re: Мелочи... Кучей
« Reply #6 on: December 24, 2013, 11:10:30 PM »
Пока #7 баг не исправлен, нашёл костыль
команды с множеством параметров надо поместить в блок IF, и тогда всё работает
проверял на LOGWRITE, SCANPXL

Code: [Select]
Пример 1:
...
IF(1=1)
   LOGWRITE ("1","2","3","4","5","6")     // Сработает
END_IF
...
Пример 2:
...
IF(1=1)
scanpxl($var, 0,0, 1000,900, 666)
END_IF
print("Array size: ",arrsize($var))    // Успешно выведет найденное количество
...