Потерянные макрокоманды [LOST]

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Serp
Posts: 6
Joined: Sat 04 Nov, 2006 09:34

Потерянные макрокоманды [LOST]

Post by Serp »

Всем привет!

Дело в следующем:
В моих макросах игнорируются большинство макрокоманд: $While, $If, $Rep, $Text etc.
Из всего многообразия доступны лишь: $Date и $XLat.
Я в отчаянии, вразумите…

OS: WinXP SP2
FAR: FarPowerPack v1.06 (The FAR manager, version 1.70 beta 5 (build 1634))
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Post by DrKnS »

The FAR manager, version 1.70 beta 5 (build 1634)
Это все объясняет.
Вам сюда, а еще лучше сюда.
Serp
Posts: 6
Joined: Sat 04 Nov, 2006 09:34

Post by Serp »

Благодарствую)
Вы вернули мне покой, сон и аппетит.
Свой первый макрос я назвал в Вашу честь.
User avatar
Samurai
Posts: 39
Joined: Thu 31 Mar, 2005 19:26
Location: Германия

Post by Samurai »

У меня аналогичная проблема... Никак не пойму что покрутить, чтобы заработали макросы с циклами и условиями.
Фар version 1.71 alpha 4 (build 2141)
WinXP SP2
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Samurai
Надо писать макросы без ошибок.
User avatar
Samurai
Posts: 39
Joined: Thu 31 Mar, 2005 19:26
Location: Германия

Post by Samurai »

Я взял готовые макросы :)

"Sequence"="$If (!PPanel.Visible) $If (!APanel.Visible) F9 End Left Enter Down Down Enter Down Down Down Down $If (Dlg.GetValue(Dlg.GetValue(0,6),0)==0) Add %need=1; $End Down $If (Dlg.GetValue(Dlg.GetValue(0,6),0)==0) Add %need=1; $End $If (%need) Enter $Else Esc $End $Rep (2) $If (!Shell) Esc $End $End CtrlO $Else F9 End Left Enter Down Down Enter Subtract Down Down Down Down Subtract Down Subtract Enter $Rep (2) $If (!Shell) Esc $End $End CtrlO $End $Else F9 End Left Enter Down Down Enter Subtract Down Down Down Down Subtract Down Subtract Enter $Rep (2) $If (!Shell) Esc $End $End CtrlO $End $Rep (2) $If (!Shell) Esc $End $End"
"DisableOutput"=dword:00000001
"EmptyCommandLine"=dword:00000001
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Post by Andrey Budko »

очень ваши макросы похоже на эти шахматы - разобраться не представляется возможным

Code: Select all

/*
 *   Вот программа, занявшая первое  место ("Best of Show") в этом году.  Она
 * вызывается с необязательным числовым параметром (по умолчанию 2) и  играет
 * в шахматы.  Параметр определяет глубину  просмотра  (при  глубине большей,
 * чем 3,  она будет думать  очень долго). Ходы  задаются двумя восьмеричными
 * числами (откуда куда  - см. доску в  начале игры, например, "e2-e4"  нужно
 * будет вводить как "64 44"), в приглашении к приему указывается  количество
 * просмотренных ходов  и оценка позиций  - своей и  противника, т.е.   Вас).
 *
 * Правила игры несколько упрощены - пешки превращаются только в ферзей,  нет
 * взятия на проходе и длинной рокировки (мне и короткую сделать не удалось),
 *   а   также   контроля   правил    повторения   позиций   и   50    ходов.
*/
#include <stdio.h>
#include <stdlib.h>

#define m(x)(x<0?-1:!!x)
#define g tj()-J
#define a(x)(x<0?-x:x)
#define h(x)((x)<=K?x:N-(x))
#define f 9999
#define A return
#define H printf(
#define R double
#define U int
#define V for
#define b else
#define u while
#define B if
U v,w,Y= -1,W,J,p,F,o=f,M,N,K,X,YY,_,P[f],s(); typedef U(*L)(); L q[f]; tj(){
U S=m(v)+(m(w)<<K); B(!S)A J; V(v=W+S; v!=J&&!q[v]; v+=S); A v; } k(){ _=K; A
v?a(v)>1||w-Y||!q[J]:(w-Y&&(w-Y*2||q[W+Y*(N+1)]|| (J>>K)-K+(Y-1)/ 2))||q[J];
} z(){ _=5; A v*w||g; } e(){ _= -2;
A(v*v*v-v||w*w*w-w)&&(J-W-2||(W&N)-4||(W>>K!=(Y-1?N:0))||
q[W+1]||q[W+2]||q[W+K]!=z||P[W+K]*Y<0); } R VR(){ int PZ=0x7fff;
A(R)(rand()&PZ)/(R)PZ; } l(){ _=K+1; A(v*w&&a(v)-a(w))||g; } R UC(){ R i=0,d;
u((i+=d=VR())<1.0); A d; } c(){ _= -11; A a(v)-a(w)||g; } I(ur,n,x){ W=ur;
J=n; B(P[W]!=Y||P[J]==Y)A J+1; v=(J&N)-(W&N); w=(J>>K)-(W>>K); A
q[W]()||(x&&QL(W,J,s)); } TT(W){ v=w=0; A q[W]()+K; } s(){ U j= -1,i; Y= -Y;
V(i=0; i<M; ++i){ B(j<0&&P[i]== -Y&&TT(i)&&_== -2) { j=i; i= -1; } b
B(j>=0&&!I(i,j,0))A Y= -Y; } A!(Y= -Y); } bb(){ _=1; A a(v*w)-2; } uv(){
V(v=0; v<f; ++v){ B(h(v>>K)==0){ U S=h(v&N);
q[v]=!S?z:(S==1?bb:(S==2?c:(v&N>K?l:e))); } b B(h(v>>K)==1)q[v]=k; b q[v]=0;
P[v]=!!q[v]*(28-v); } } y(){ U G=Y,i; J=0; V(i=0; i<M; ++i){
i%8||H"\n%4o ",i); B((Y=P[i]=m(P[i]))&& TT(i))H"%c ",_+93+Y*16); b H"- "); }
H"\n    "); do H"%2d",i++&N); u(i&N); Y=G; H"\n"); } O(W,J){
B((q[J]=q[W])==k&&h(J>>K)==0)q[J]=l; B(q[W]==e)B(J-W==2)O(J+1,J-1); b
B(W-J==2)O(W-1,W+1); P[J]=P[W]; q[W]=0; P[W]=0; } QL(W,J,D)L D; { U
HQ=P[J],YX; L AJ=q[J],XY=q[W]; O(W,J); YX=D(); O(J,W); q[J]=AJ; q[W]=XY;
P[J]=HQ; A YX; } C(){ U i,j,BZ=0; V(i=0; i<M; ++i){ L Z=q[i]; B(Z){ U
r=h(i>>K)+h(i&N),G=Y, S=Z==z?88:(Z==k?11 +r+(P[i]<0?N-(i>>K):(i>>K)):
(Z==l?124-((YY<8&&((i&N)!=K|| (i>>K)!=(P[i]>0?0:N)))?M:0):
(Z==c?41+r:(Z==e?f-r-r:36+r+r)))); Y=P[i]; V(j=0; j<M;
++j)B(!I(i,j,0))S+=(P[j]?5:1); BZ+=G==Y?S:-S; Y=G; } }
B(!(++X&M-1))write(1,".",1); A BZ; } PX(){ U i,Q=0,XP=0,JZ=M*M,E= -f,t,S=o;
B(!F--)A++F+C(); V(i=0; i<JZ; ++i)B(!I(i>>K+K,i&M-1,1)){ Y= -Y; o= -E; t=
-QL(i>>K+K,i&M-1,PX); Y= -Y; B(t>E){ ++XP; Q=i; E=t; B(E>=S) A++F,E; } }
B(!XP)E=s()?-f+1:0; p=Q; A++F,E; } RZ(){ U i,j,T=0; V(; ; ){ y(); o=f; do{
H"\n%d %d %d %s ",X,T,C(),s()?"!":">"); fflush(stdout); }
u(scanf("%o%o",&i,&j)!=2||I(i,j,1)); O(i,j); y(); X=0; ++YY; Y= -Y; T=PX();
i=p>>(K<<1); j=p&(M-1); B(I(i,j,1)){ H"Rats!\n"); A; } O(i,j); Y= -Y;
B(T>M*M)H"\nHar har.\n"); } } main(ac,av)char**av; { long time(),j=time(&j);
R i=0; srand((U)j); V(M=0; M<=f; ++M)i+=UC(); M=i/100; B(M&3)++M; B(M&1)--M;
V(N=1; N*N<M; ++N); K= --N/2; F=ac>1?atoi(av[1]):2; uv(); RZ(); }
зы почему бы не завести у нас спойлеры
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Andrey Budko
Ну макросы сами по себе довольно понятные, но то что надо придумать как их хранить чтоб они были читаемы, так это да.
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Post by Andrey Budko »

Multi String Value?
отлично показывает что регедит что фаровский плуг по ф4
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

В аттаче кривая но рабочая версия декодера макросов из строки в более или менее читаемый вид.
macro_decrypt.exe filename_with_macro > outputfilename
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

t-rex wrote:В аттаче кривая но рабочая версия декодера макросов из строки в более или менее читаемый вид.
macro_decrypt.exe filename_with_macro > outputfilename
Немного обновил, и добавил енкодер (работает также только наоборот).

P.S. Оно тут http://forum.farmanager.com/viewtopic.php?p=20252#20252
Last edited by t-rex on Mon 12 Feb, 2007 20:24, edited 1 time in total.
Hedin
Posts: 210
Joined: Thu 17 Mar, 2005 10:29
Has thanked: 4 times

Post by Hedin »

А можно ещё сделать чтобы они не падали если совсем без параметров запустить? :)
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Post by Smitis »

Теги какие-нибудь дабавить в форум, специально для форматирования макросов :)
Разум когда-нибудь победит.
User avatar
Вадим Захаренко
Posts: 922
Joined: Fri 18 Mar, 2005 08:59
Location: Беларусь, Мозырь
Has thanked: 7 times
Contact:

Post by Вадим Захаренко »

Smitis wrote:Теги какие-нибудь дабавить в форум, специально для форматирования макросов :)
А может быть подождать 3-й phpBB (там есть эта возможность)
User avatar
Mike
Posts: 300
Joined: Thu 01 Sep, 2005 07:35
Location: Томск

Post by Mike »

совсем обленились... :(
Век живи - век учись...
Post Reply

Return to “Нужна помощь”