Forth http://www.fforum.winglion.ru/ |
|
Цитаты из файла http://www.fforum.winglion.ru/viewtopic.php?f=20&t=830 |
Страница 1 из 1 |
Автор: | blam [ Пт июн 29, 2007 10:13 ] |
Заголовок сообщения: | Цитаты из файла |
hi в переменной af текст обрезается до 255 символов, помогите исправить ну и скрипт если можно улучшить, тоже будет отлично ) Код: Time: 10,50 * * * * *
Also WatchHotKey: "^@m" USER-VALUE rnd USER-VALUE cnt USER-VALUE total USER-CREATE af 955 ALLOT : str S" D:\Site\7\s\bashorg.txt" FILE Action: BEEP: 1000 1000 RE-ALL: "%str%" "/\{(.+?)\}/s" cnt 1 + TO cnt ;RE-ALL cnt RANDOM TO rnd cnt TO total 0 TO cnt RE-ALL: "%str%" "/\{(.+?)\}/s" cnt 1 + TO cnt cnt rnd = IF S" %$1%" EVAL-SUBST af PLACE \ MSG: "RND: %rnd% CNT: %cnt% AF: %af COUNT%" THEN ;RE-ALL TQUERY: "TOTAL AFORIZM: %total% RND: %rnd%%crlf%%af COUNT%%crlf%%crlf% (click 'Ok' to clipboard)" 30 No IF CLIPBOARD: "%af COUNT%" BALLOON: "COPY TO CLIPBOARD ... ok" " " PAUSE: 3000 BALLOON: "" "" THEN |
Автор: | profiT [ Пт июн 29, 2007 11:32 ] |
Заголовок сообщения: | |
--- |
Автор: | ygrek [ Пт июн 29, 2007 11:38 ] |
Заголовок сообщения: | |
Очевидно проблема в том что используются counted строки (cлова PLACE COUNT), они по принципу построения ограничены 255-ю символами. Попробуйте так : определить af как VALUE, заменить af PLACE на S>ZALLOC TO af и все af COUNT на af ASCIIZ>. В определении слова str разве не пропущена завершающая точка с запятой? |
Автор: | blam [ Пт июн 29, 2007 12:39 ] |
Заголовок сообщения: | |
ygrek ооо работает респект ! ygrek писал(а): В определении слова str разве не пропущена завершающая точка с запятой?
не знаю, работает без ошибок ) я это из help по nncron взял profiT я понимаю, что ограничение 255, (955 на авось поставил) порылся в мануалах, сходу не дошло как исправить Да еще небольшая проблемка: CLIPBOARD: "%af ASCIIZ>%" копирует в буфер кракозябы, если еще бы и это поправить было бы совсем гуд ) |
Автор: | profiT [ Пт июн 29, 2007 12:52 ] |
Заголовок сообщения: | |
--- |
Автор: | ygrek [ Пт июн 29, 2007 12:57 ] |
Заголовок сообщения: | |
blam писал(а): Да еще небольшая проблемка:
CLIPBOARD: "%af ASCIIZ>%" копирует в буфер кракозябы, если еще бы и это поправить было бы совсем гуд ) Кракозябы -> проблемы с кодировкой -> поиск в help.chm идущем в комплекте с nnCron по слову encoding |
Автор: | blam [ Пт июн 29, 2007 13:37 ] |
Заголовок сообщения: | |
пробовал CLIPBOARD: "%af ASCIIZ> OEM2WIN%" CLIPBOARD: "%af ASCIIZ> WIN2OEM%" кодировку похоже меняет, только все равно кракозябы файл в виндовой кодировке, напрямую с него нормально копируется запустил буфер clipbrd.exe, если поставить формат 'текст' то нормально отображается, если по умолчанию, то так : Ëîðä (22:25:48 27/06/2007) Ðàçãðåáàÿ çàâàëû íà âèí÷åñòåðå íàøåë çàïðÿòàííóþ ïîðíóøêó â ïàïêå ìóçûêà. Ýòî ñàìûé ïåðâûé ïîðíîôèëüì, äóìàåøü â äàëåêîì 2001 íà 10ãèãîâîì âèí÷åñòåðå áûëî ïðîñòî ñïðÿòàòü 600ìåòðîâûé ôàéë? Íîñòàëüãèÿ, áëèí. äåòñòâî |
Автор: | ygrek [ Пт июн 29, 2007 13:54 ] |
Заголовок сообщения: | |
Это уже MSDN читать надо. Там в clipboard'e какие-то игры с форматами и кодировками происходят. Может UNICODE попробовать? |
Автор: | VoidVolker [ Пт июн 29, 2007 19:00 ] |
Заголовок сообщения: | |
Код: Time: 10,50 * * * * * Also WatchHotKey: "^@m" USER-VALUE rnd USER-VARIABLE cnt USER-VALUE total : str S" D:\Site\7\s\bashorg.txt" FILE ; Action: BEEP: 1000 1000 RE-ALL: "%str%" "/\{(.+?)\}/s" cnt 1+! ;RE-ALL cnt @ RANDOM TO rnd cnt @ TO total cnt 0! RE-ALL: "%str%" "/\{(.+?)\}/s" cnt 1+! cnt rnd = IF $1 2DUP S" TOTAL AFORIZM: " total N>S S+ S" RND: " S+ rnd N>S S+ crlf S+ 2SWAP S+ crlf S+ crlf S+ S" (click 'Ok' to clipboard)" S+ 30 No TQUERY IF CLIPBOARD! S" COPY TO CLIPBOARD ... ok" S" " BALLOON PAUSE: 3000 S" " S" " BALLOON ELSE 2DROP THEN EXIT THEN ;RE-ALL Вроде должно работать. А вот вставка случайной цитаты прямиком с сайта: Код: #( Башорг>>
Rule: ONLINE? WatchHotKey: "^{0xBC}" \ Контрол+Б \ Обрезает строку 1 после строки 2 включительно : CropFromString { a1 u1 a2 u2 -- } a1 u1 a2 u2 SEARCH IF DROP a1 - a1 SWAP ELSE 2DROP 0 THEN ; \ В первой строке заменить вторую строку на третью : StringRep { a1 u1 a3 u3 a4 u4 \ rest a2 u2 -- } ( a1 u1 a2 u2 a3 u3 -- ) 1 ALLOCATE THROW TO a2 a2 0! 0 TO u2 a1 u1 BEGIN OVER SWAP a3 u3 SEARCH WHILE TO rest SWAP 2DUP - a2 u2 2SWAP S+ TO u2 TO a2 a4 u4 a2 u2 2SWAP S+ TO u2 TO a2 rest u3 /STRING REPEAT a2 u2 2SWAP S+ ROT DROP ; : past 0 1 69 162 keybd_event DROP 0 1 69 86 keybd_event DROP 0 3 69 86 keybd_event DROP 0 3 69 162 keybd_event DROP ; : PAST! CLIPBOARD 2SWAP CLIPBOARD! past CLIPBOARD! ; Action: S" " S" Загрузка цитаты..." BALLOON S" http://bash.org.ru/random" HTTP-GET DROP S" /quote/" SEARCH IF S" <div>" SEARCH IF S" </div>" CropFromString S" <br>" crlf StringRep S" <br />" crlf StringRep 5 -5 D+ \ На стеке цитата PAST! \ Вставляем в текущее активное окно S" " S" Цитата вставлена" BALLOON S" " S" " BALLOON ELSE 2DROP THEN ELSE 2DROP THEN )# Единственный минус - хтмловские коды символов останутся, для этого нужно только добавить слово заменяющее эти коды на нормальные символы. |
Автор: | blam [ Вс июл 01, 2007 20:41 ] |
Заголовок сообщения: | |
ygrek а как попробовать UNICODE ? VoidVolker тут ругается nncron на : Цитата: Time: 10,50 * * * * *
Also WatchHotKey: "^@m" USER-VALUE rnd \ VARIABLE заменил на VALUE USER-VALUE cnt USER-VALUE total : str S" D:\Site\7\s\bashorg.txt" FILE ; Action: BEEP: 1000 1000 RE-ALL: "%str%" "/\{(.+?)\}/s" cnt 1+! ;RE-ALL cnt @ RANDOM TO rnd cnt @ TO total cnt 0! RE-ALL: "%str%" "/\{(.+?)\}/s" cnt 1+! cnt rnd = IF $1 2DUP S" TOTAL AFORIZM: " total N>S S+ S" RND: " S+ rnd N>S S+ crlf S+ / тут не понял на что, поставил QUERY - ругаться перестал, но при выполнении error 2SWAP S+ crlf S+ crlf S+ S" (click 'Ok' to clipboard)" S+ 30 No TQUERY IF CLIPBOARD! S" COPY TO CLIPBOARD ... ok" S" " BALLOON PAUSE: 3000 S" " S" " BALLOON ELSE 2DROP THEN EXIT THEN ;RE-ALL ps спасибо за пример плаваю я в этом форте |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |