из клипборда на стек и обратно?

Обсуждение программ nnCron и nnCron LITE

из клипборда на стек и обратно?

Postby roman78 » Sat, 06 Nov 2004, 21:01

в клипборде имеется некое число в круглых скобках (например "(123)" или "(-8)", без кавычек). Можно ли кроном избавиться от этих скобок и если число от -10 до 10, то заменить на цифру 0?

От скобок можно избавиться после вставки в блокнот("грязный" способ, но на большее меня не хватает :( ), а как число на стек положить чтоб потом через CASE в случае нужды на ноль заменить и обратно в клипборд чтоб вернуть в тот же блокнот?
Или есть более грамотная последовательность действий?
roman78
 
Posts: 57
Joined: Sat, 06 Nov 2004, 20:52

Postby Tez » Sun, 07 Nov 2004, 02:55

Code: Select all
CLIPBOARD@

     S" /\((-?\d+)\)/" RE-MATCH
   IF
    $1 S>NUM
   
        DUP ABS 11 <
      IF
       DROP
       0
      THEN
   
    N>S CLIPBOARD!
   THEN
Tez
 
Posts: 205
Joined: Mon, 23 Aug 2004, 09:17
Location: Moscow

Postby roman78 » Sun, 07 Nov 2004, 03:17

Tez
спасибо огромное!
не сочти за наглость, не мог бы немного прокомментировать?
особонно вот это:
Code: Select all
S" /\((-?\d+)\)/" RE-MATCH
roman78
 
Posts: 57
Joined: Sat, 06 Nov 2004, 20:52

Postby Tez » Sun, 07 Nov 2004, 04:14

RE-MATCH - постфиксный вариант RE-MATCH:
Постфиксный в данном случае элегантней, ИМХО
(подробности в хелпе: Работа с программой > nnCron и язык программирования Форт и соседнюю тему "Переменная в качестве операнда позиционирующих команд").

S" /\((-?\d+)\)/" - строка (второй аргумент RE-MATCH, первый - CLIPBOARD@ (тоже строка))
см. в хелпе: Дополнительная информация > Неотложная помощь по Форту > Какие типы строк используются в SP-Forth?

/\((-?\d+)\)/ - регэксп.
см. в хелпе: Дополнительная информация > Регулярные выражения
Tez
 
Posts: 205
Joined: Mon, 23 Aug 2004, 09:17
Location: Moscow

Postby roman78 » Sun, 07 Nov 2004, 15:22

регэкспы для меня темный лес... видимо с программингом разбираться придется... в хелпе мне инфы не хватает, или точнее не успеваю догонять :) - слишком кратко :).
roman78
 
Posts: 57
Joined: Sat, 06 Nov 2004, 20:52

Postby Tez » Sun, 07 Nov 2004, 21:51

Дык, что нужно – пиши в форуме. Чем можем поможем.
А насчет изучения крона/форта я рекомендую консоль. Форт, а значит и крон, имеет интересную фичу: в нем можно программить снизу вверх. Не нужно пускать всю задачу/программу целиком. Можно ее в постфиксных словах прямо в консоли выполнять, читай вручную (ну, кроме управляющих конструкций IF … THEN, некоторых кроновских циклов и стека возвратов). И по мере выполнения, смотреть какое слово что оставляет и что вообще происходит.
Про консоль читай: хелп > Работа с программой > Инструменты > Console
Вообще, в хелпе много чего есть, зря ты так. Много там полезного. Когда есть конкретные задачи – можно постепенно изучить крон/форт. Но я, лично, не брезгую и учебниками/справочниками по форту.
Tez
 
Posts: 205
Joined: Mon, 23 Aug 2004, 09:17
Location: Moscow

Postby roman78 » Sun, 07 Nov 2004, 23:11

>Вообще, в хелпе много чего есть, зря ты так. Много там полезного.
нет-нет, я не хотел сказать что хелп никудышний, активно им пользуюсь. Просто для непрограмера сложно понять некоторые вещи с полпинка и ориентировать приходится по примерам.

>смотреть какое слово что оставляет
...на стеке? здорово, обязательно посмотрю.

>Чем можем поможем
...эээ ...посмотри плз соседний топ :roll:
http://www.nncron.ru/forums/viewtopic.php?p=917#917
roman78
 
Posts: 57
Joined: Sat, 06 Nov 2004, 20:52


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 3 guests

cron