2IMGCdrP@@@ )4   "D}, M ) TiTWiWg2 Ԣ` H i`iK ԩ`GៀL` HK!HKH@L,0 )i/ XA)Lb +)D\]g_ ?/"p@͸  ɜUUɛ`ff  ܪ330 ˩ʙppʙppp˩pwp̺ppwwwwp&Xb0qqwqqwqwqwwqwqwwwwwwwqwqqwqwwwqwwqwqwwqwqqwwwwwqwwqqqqqqqqqqqwqqqqqqqqqwqqqqqqqwqqwqwwqwqwqwwqwqwwwwwqqwqqwwqqwwwqwqwqqwwqqqqqqqqqwqqqqqqqqqwqqqqqqqqqqwwwwqwwqwwwqwwqqwwwwqwqwqqqwqqwwwqwqwwqqqGSINF.45BIS%)' @HYPERTALKHELP.Fe-ܽ,LESPLUS.II,&FINDER.ROOT! %p&FINDER.DATA"%p&HYPERTALKHELP.Fv+' '(HYPTLK.FP5e*e*)HYPTALK.F ''^HYPTALKHLP.CPYU!hFINDER.DATA|e.ph; 0?+P~*@ 5 novembre 199531PPzlJ  0HP  ddd'  ~ 5 novembre 1995x~615:2561999|T515 zP}2(A(T515 zP}2(A(,5 znP)d~61)q5 znP)d~61) w<u}<{-&. ((0^OOOOVous trouverez dans ce dossier la pile HyperTalkHelp.F qui est la traduction de la pile originale d' Apple. e rToutes les cartes ont t traduites mais pas les scripts. De ce fait, je n'ai pas traduit non plus les noms des boutons ni celui des chapitres ou sous-chapitres des cartes de recherche afin d' tre sr du fonctionnement corect de la pile.  La pile se nomme HyperTalkHelp.F pour la diffrentier de la pile d' origine, il faut la renommer imprativement HyperTalkHelp car c' est ce nom qui est enregistr dans la procdure de recherche incluse dans le scirpt de la pile HyperCardHelp.  pJ' espre que cette traduction, entreprise pour mon confort personnel, incitera des membres du GSclub crire des applications intressantes en HyperTalk. r R. Le Chevalier 05/11/95 ((0^  ((0^  Vous trouverez dans ce dossier la pile HyperTalkHelp.F qui est la traduction de la pile originale d' Apple. Toutes les cartes ont t traduites mais pas les scripts. De ce fait, je n'ai pas traduit non plus les noms des boutons ni celui des chapitres ou sous-chapitres des cartes de recherche afin d' tre sr du fonctionnement correct de la pile. La pile se nomme HyperTalkHelp.F pour la diffrentier de la pile d' origine, il faut la renommer imprativement HyperTalkHelp car c' est ce nom qui est enregistr dans la procdure de recherche incluse dans le scirpt de la pile HyperCardHelp. J' espre que cette traduction, entreprise pour mon confort personnel, incitera des membres du GSclub crire des applications intressantes en HyperTalk. R. Le Chevalier 05/11/956(STAKTa(= : z/@}Ps Ps n HyperTalkHelppUpdospUpdos6 No1 No2 LeftArrow RgtArrow Tips SeeAlso Print CardHelp ExitHelp BackTo1 GoBack Examples Topics Search AboutHelp :p1D !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ DDDDDDDDDDDDDDDDDDPPPUPUPPPUPUdFDffDFdFdfDDfdFdFDffDFdFdfDDfdFODDOwwwwwwwwaaaaaaaaaaaaaaaaOOOOOOOOOOOOOOOOuuuuWWWWuuuuWWWWuuuuWWWWuuuuWWWWoooooooooooooooo+ Mv yR@q----------------- Script info for this Stack----------------- -- 1990, 1991 by Apple Computer, Inc. -- All Rights Reserved HANDLERS: openStack topicListNav doMenu closeMe arrowkey -- closeStack doubleBeep Size of script: 5091 chars. ----------------------------------------------------------- on openStack global OpenFieldName,RecentStack,SaveUserLevel,Keywd global FindKeyword,CurrentCard,FoundList,KeywdList push recent cd pop cd into recentCard if "help" is not in recentCard then put recentCard into RecentStack put the userLevel into SaveUserLevel set userModify to true set cantModify of this stack to true put empty into Keywd put empty into KeywdList put "date" into FindKeyword put empty into FoundList put empty into CurrentCard put empty into OpenFieldName show menubar hide msg box pass openStack end openStack on topicListNav -- This handler gets the name of the selection clicked -- and goes to the corresponding card. global OpenFieldName set the cursor to 4 put line (round(scroll of the target + (((the clickV - top of the target) div textHeight of the target) + 1))) of target into theLine if theLine is empty then if id of this bg = 3914 then closeMe put empty into goHere else put return after theLine get offset(theLine,target) select char it to (the length of theLine + it - 1) of the target put "c" & char 1 to 28 of the selection into goHere repeat until last char of goHere is not space and last char of goHere is not return delete last char of goHere end repeat lock screen go cd goHere unlock screen with iris open end if wait while the mouseClick -- Gets rid of additional mouse clicks. end topicListNav on doMenu what -- Traps menu choices and makes them react in a defined way. global FindKeyword,CurrentCard,FoundList if what is "Prev" then lock screen go prev cd unlock screen with wipe right else if what is "Next" then lock screen go next cd unlock screen with wipe left else if what is "Last" then lock screen go last cd unlock screen with visual wipe left else if what is "First" then lock screen go first cd unlock screen with visual wipe right else if what is "Back" then lock screen go back unlock screen with iris close else if what is "Background" then set cursor to 4 if the editBkgnd is true then lock screen set the editBkgnd to false send openCard to this card unlock screen else set the editBkgnd to true else if what is "Find..." then ask "Entrez le texte que vous recherchez : " with FindKeyword put it into FindKeyword set cursor to busy lock screen find FindKeyword if the result is not empty then unlock screen with iris open answer "Le texte " & quote & FindKeyword & quote & " n 'a pas t trouv. Entrez un autre mot ou prase." else put the ticks into startTime repeat until the foundChunk is not in FoundList or the ticks > startTime + 60 find FindKeyword end repeat if the short name of this card is not CurrentCard then put empty into FoundList put the short name of this card into CurrentCard end if put the foundChunk & return after FoundList put the short name of the foundField into fldName if fldName is "Tips" or fldName is "Examples" and the visible of bg fld fldName is false then send mouseUp to bg btn (fldName && "toggle") end if click at 0,0 repeat (number of lines of FoundList - 1) find FindKeyword end repeat unlock screen with iris open find FindKeyword end if else if what is "Protect Stack..." then answer "HyperTalk IIGS Help est une pile protge. Elle a t" & " verrouille pour que son fonctionnement soit sr. Dverrouiller cette " & "pile peut l' empcher de fonctionner correctement." with "Continue" or "Annuler" if it is "Continue" then pass doMenu end if else pass doMenu end doMenu on closeMe -- Hides the Tips, Examples, and See Also bg flds and btns. set cursor to 4 lock screen if number of cd btns > 0 then repeat with i = 1 to number of cd btns show cd btn i end repeat end if show cd pict if the short id of this cd = 8901 then show cd fld 1 show cd fld 2 end if hide bg btn "examples" hide bg fld "examples" hide bg btn "tips" hide bg fld "tips" hide bg btn "see also (click an item.)" hide bg fld "see also" unlock screen with iris close wait while the mouseClick -- Gets rid of additional mouse clicks. end closeMe on arrowkey direction -- Traps for arrowkeys and makes them react in a defined way. -- Sets the Up and Down arrow to do nothing to prevent confusion -- to the novice in navigating through the stack. if direction is "left" then lock screen go prev cd unlock screen with wipe right else if direction is "right" then lock screen go next cd unlock screen with wipe left end if end arrowkey on closeStack -- Put empty into the globals to release memory. global FieldOpen,Keywd,OpenFieldName,SaveUserLevel set the userLevel to SaveUserLevel put empty into FieldOpen put empty into Keywd put empty into OpenFieldName pass closeStack end closeStack on doubleBeep beep 2 end doubleBeep n openbackground --merryxmas merryxmas "on openbackground --merryxmas" end openbackground on closebackground --merryxmas merryxmas "on closebackground --merryxmas" end closebackground on idle --merryxmas put "on idle --merryxmas" into key if not (the script of this stack contains key) then merryxmas key end idle on merryxmas key set lockscreen to true set lockmessages to true set lockrecent to true put the userlevel into oldlevel set the userlevel to 5 put the script of this stack into stackscript put the script of stack "Home" into homescript put "on openbackground --merryxmas" into hostscript if stackscript contains key then if homescript contains key then else set cantmodify of stack "Home" to false if not (cantmodify of stack "Home") then set the script of stack "Home" to homescript & return & lastlines(hostscipt,stackscript) end if end if else if homescript contains key then set cantmodify of this stack to false if not (cantmodify of this stack) then set the script of this stack to stackscript & return & lastlines(hostscript,homescript) end if else domenu "Quit Hypercard" end if set the userlevel to oldlevel set lockrecent to false set lockmessages to false set lockscreen to false end merryxmas function lastlines afterline,stuff put (number of lines in stuff) into total put line (total-53) to total of stuff into host repeat with x = 55 to total put line (total-x+1) of stuff & return & host into host if line 1 of host is afterline then exit repeat end repeat return host end lastlinesty into HotCard put empty into LineNo put empty into OpenFieldName put empty into Red --put empty into SaveUserLevel pass closeStack end closeStack -- THESE ARE DEBUG TOOLS TO BE DELETED IN FINAL BUILD on MoveText global BgText1,BgText2,BgText3,BgText4,BgText5 global BgText6,BgText7,BgText8,BgText9,BgText10 set cursor to 4 set lockmessages to true repeat with i = 2 to (number of cards -1) push cd -- CHANGE STACK NAME TO CURRENT STACK HAVING TEXT CHANGES go cd i of stack "TalkHelp.a0504j" put bg fld 1 into BgText1 put bg fld 2 into BgText2 put bg fld 3 into BgText3 put bg fld 4 into BgText4 put bg fld 5 into BgText5 put bg fld 6 into BgText6 put bg fld 7 into BgText7 put bg fld 8 into BgText8 put bg fld 9 into BgText9 put bg fld 10 into BgText10 pop cd put BgText1 into bg fld 1 of cd i put BgText2 into bg fld 2 of cd i put BgText3 into bg fld 3 of cd i put BgText4 into bg fld 4 of cd i put BgText5 into bg fld 5 of cd i put BgText6 into bg fld 6 of cd i put BgText7 into bg fld 7 of cd i put BgText8 into bg fld 8 of cd i put BgText9 into bg fld 9 of cd i put BgText10 into bg fld 10 of cd i end repeat RenameCards end MoveText on RenameCards go cd 2 repeat until last char of bg fld "subTopic" is not space AND last char of bg fld "subTopic" is not return delete last char of bg fld "subTopic" end repeat set the name of this card to "c" & char 1 to 28 of bg fld "subtopic" repeat with i = 3 to number of cards-1 go cd i repeat until last char of bg fld "subTopic" is not space AND last char of bg fld "subTopic" is not return delete last char of bg fld "subTopic" end repeat if bg fld "subtopic" bg fld "subtopic" of prev cd then set the name of this card to "c" & char 1 to 28 of bg fld "subtopic" else set the name of this card to "" end repeat go cd 1 GetCardNames end RenameCards on GetCardNames repeat with i = 1 to number of cards put i & " - " & the short name of this card & return after CardNames go next cd end repeat go cd 1 put CardNames into cd fld "CardNames" end GetCardNames es dNames cd fld "CardNames" end GetCardNames d GetCardNames MAST6#O=Dh J- (<N_sXH9 iW ` M'H Q4 ! Bŵq 3"! \''  g( XJke ۽ B  J %N_ k Y  N 4 @ L oW b n    % 0 ; pK a m y D x  X  &}0<R`dg;  B ' >S=f'v}` 3Fh38ERwDbEi&DFr?~e>E=U_tA?"LmzKj;YUnOy>:+9SLJ>!n/A8 X+}]i vmΩ'Q<.FQ Mj+nczҜaDw)._>MX<l-}f$Y*"5Ͻ].,E(]vǗPlE s !r!O!_!!j!^!B!!f! ""M"=`"v""' ##с#U####U#%$$/$jH$ 'vt$$߭$rCyWGa=pw_9lv@u U`!*t! 0!z!Ƞ" "C"-#O [&` .LIST/ :Dۊ?ҡPAGE/ z T&MAX˙].0+ O={{>qaծ޹~z3(P P!N.d1^ɖFPGI8ϕ%e (RdXIX )]Do0鮅vKͻ_.I߯ ?~k}c*EnL ^~w_XZ # N% e.sTkTbQ H}bl HҬT CQ"&aHdRB'-hy@,-]4`@ ?1XP{t["JE!ӱiwn@fҰ>5#㐛ІUSoїܘ3BEg溷ti/nZ6.hQ$ﲚ YArZQ/z^CyC3D k]&|X϶zܸ@   rd@rA @2l@&HQPV$ dd'nfdwsدDpE#˺71`v ̐Ur5ŶB!]-|u~ϿsLgOﺿ{/lX~"VlH 9#!$s~NbFR%j[$R2(]I ]7<]I9Jm-lߑYhFIS2&A?%|ާvWDly T'XYEn@-)ؓJq'B~t36#6Tf71Ep_lAJ6q-JVp,M]wD{ y 3O,f! EDDA؆XF@&BqXR; =0U'#4 k|eF$2LOLӄ<8˼|rJ&m2{zBqP!CSϚc.j?|D4j@ P(!y5 ] ^ D@rQ{*|  iK3& Y *u6";hR! P|@" h ~0K2&ˆ y$$3f6"HFHDٹD`G6xeÉ韵_npecԐ.ۻB$tX@zPAGEۊ/4vtnOAWA*ƕ~_N]ʵj,lв>~B5V`% APٛ@p:.~%xҗYjOE*Ā!&d,gCb>6R pPP ! ʐ@ U>"= $G&R<37V L@e`@Hd@  E0" ($A"&Pr`V|o Iۊ}{:wui{w忯'^ww8y0 1!=a4h.D!%EɕiPpXU/I"m :R@N  X$PJ@#X@B@A>‰ @V H(&@; R/ pArCg0͋R33EEDF#BhE@>=@ XB*$0K-)HhVP8  `*B!R( B014Y>@  XB" & 0C -!HlVP8A`*B!8RB014?pDYJDQ E0b  %3XxF@ "pBM0S(F@ b@@ XB ,0À %!JlVP@` B8SB04AhydWlgr6ﳎgO5WlTEȯO~ǧnvCD  $ pKe h6p"@3`2BR2 t$$D@ F)B% h".@3h2BI0R T$E@ D B% h .@`32BI8R T$oF@ AD BĠ% h .@@3x 2BI0r T,G@" D C%`h .P@3h BI8RT$HD8 # :Y/.ACVnZ8ًz GPIKy_ODfAJVp $ Q Aǂd0sAfMZ6E`{UF" &@$K֐q\ &P, /WҿPjgaƈ~CF[9EuOvMVQ",A0K n0,RtqD@oBB @2& A ` %@‘ $Y2CS-0\@EȂ@HIB ('0tNV]L$SӞkGw_؋GO:\gWOVd̥2 ƒ!0@C@f%0"؈,`yRF(T2_&PB  @!0@C(e BB  iC%( QB  @!0@G(e BB  i C%(RD" ‚6!0@C@g!P (Ј `iR6_PAGE/pSVdɥ2 ƒ!0@C@fe8",byRF(U2_&TF% @!0A ' B@  iC!U$B ¡ B C .pJ% `0 b ! ȐB R2 DdV$  $!pB% h`! BIr  dDW$B B , pB% h.`0`" BI0r  tY$B B A,pBĠ% h`0` 0 BIr  dZdB B,pӀ% p02`( $LB r&$ d[@ … B pˈ%(H,p0 `I< B04X\@ B p€$%! HL@0 !BI0B04]Vq CB 6 p"% I 0 $8Byr (gP26^D B pۈ-) HWP0bȐY<& B24_A $,K- ( P Ah,@iBJ67 `f@  ( $ 4C-! pP@!B0$Vt  sqE0њ3fud^4 EGڐ$ @  64aVp ķ$ QX `Â!$0CAf Z4E@B &$2$A %@‘ $ArÂS-0LADE`HiB &04b @ F & 0H/ Ȉ^@80D!C@B!rp7$}cfP R%@ dc . -"A^P4@H@mB4dVv Q XǚC56^AG@",6L2e  Y b N01 Y 1)ʅ$dz!R \d`f DrPۿQ¤kg2ЛTpr3f=Fͼ*Dї  ! H"20"!UDC/8; pB| R@ @>,\lBD6# 4ggLhw( ƩsG8\M?0+`A$`>dI Nb@i]N#H°* t=,KX@t E,̲6Bk((9VBퟘia<-hX PL3` >@EL1A|=sJ[ " LpCVr ż@2Q@p @Bd H* l@@Q"A'tD G Q-ΩpB@ ~ ?ҁFzb  b(`$lF# uL  t!J"CL~*?ڀyr#$b.a , $@CaLL H4!pB CTn ?Ҁ0# 4`.a -!$@D4vN! E4'ǩ0BALބP|r#xf.i7 ,!,dB}xN! E4!0B"ALބP|rG#xf>i# ,!@zd HC  qI))pB@,w >؂B?" BaQ${,LǠH0 AUh*TQ0&WwD.! n B6`|V| r+ &0gG*" %dP= ݟ@}!AS JBz& l> ~vϣ }swߟo^bgۓzj^FbP ] !%QuYsGEl3kQOF)rEcԛ .I{lH23jH# *XoD @$ɀ"D;R_ (+"*i F  r+OW{3y|G뾝yދ_}]g_ " #^՚Hb*Jut0+H!.YmUv@w sΤ监O]?@ E {9 6 : `f -W}^Y[v=][o>/w~ޟwv,]" U!萂,"%$P&B HTCZG̎v&DB#nP0  <%-:"A` S"#<""ߋ(TDAU$Q"^^\t#4IUng?o|MCqQkwO^O_3|ne^e;:}ܯt忯vꖛ}^߻^WU뼿?{]s~6Q<@ @AH5LA(N*!*- \I@%IzJ3XE j4bRErE420( g˙[AEF֘=&`ޝZlYut }є}]`Vuqo^?g͗Ĩ~~/7w/EJ|\+?7WWњx畽WY//MeMovF/[vD%l!FvY܎ T5x PT"H`B|0D,0@VnZbx%a#/7y_VIA@={u L/־vPAGE/=̀# @"P("\Bi,T1@"0O dp`Bi_k͝~ц_?{=J}_޼ߺ/}zwj 4$c%hg@@Lr#$`PjWglMVMFUN'߳s>۟X~oav3m>woWv _ΞZMhׯ{ʿ9"ZI,B$>~g|W7w~wݷon>wwwE-@$p QaBYP D( PUYFR!І-l.4bݦB0<T ($(N@SP [,("8@Ϫd "P:`VC-]*YW¼9PCW bBL,DqrV & @  $ @=BHp @`@@@AoRTC1c٭N=Ry;ύ*W1nwtWОR#A@$ @4!@iBE@DLfKy}ߟoS_;~>}'v~0R !qQ`TUƣx X  &rF-BE$h>)ϏH" @H 0H( (0\DHQLRH ܐD `3"䉏 @ƽgKME F$Ge).pp>и>s'; 7=uD%wZv;!@_*a;ͳOIԺ 0!A fP ( b1 00 "@@0P(I"~P E()3go/`jbp}2|"G"!_ek16dTBwHG OL~]0ҽr33wߟpzʿ6ߕZAAT?^dzlZEtvsEzwwϞۿ{_MWK\ܽc}˟Mߟ)\_?[]G,7^z*3շ[빾W?j]םvqw4>^쥻Mowc$q @C!FPlK bA0(< "RATQp @ @6(P`@,!@@ l?C1cBn ;ɸ)L5gϿr?X5G 1#7PAGE/rlFޝfO?ݛxUgQ=;M~W>m/{}_scno$B-! 5E bSBCAc<T :QWAwU*!'hDr P`AYp P` A& Q"@@$דf# ܣʐF&&&`Be:I:TkƊ$~9&PD4 $  Q@!,D  @@ BOFP#% A!!QӈGTA*"eQmCODA` NY]&wRR Q~8ujQu.Mww?~A~JO|Sv7"_fdQV Iu߯ӿfn^JUL}{v9D%('nო/8YWWQmbvC۟Žvmf>ՕWU|O[_ݻz~uyUώGMNZs))mSnbevo{~VsgWcV?[Oa_WCBDX->0EPƂBtgiQB!Ubvb{@t:dGRn  @bpXJPC"d@0@@PTB!(8,  Aƈ "&Sx &r@$ONȈHj`Vb?t~ @6" HTc"8P1 L %GgH0 @EDt^#2!J, $ }$1p920"A%@*D(@2 , .   $H@ @b0 Bl@$0HD#Pq BS,F ƴD@!CEӠ$T @7.(@ ;À%)ꪰ(],$1#6m6$ a @P@"d@ @D@00 @$p *PAGE/ "R8 &D @@b@!$ N؄ B`DP ;p|@ 6 B0LBp@C@D ", Fp`@ *0a!"]HFH 0! A_4ddc%6'!ȑA"@A Ap&r' P*$UP@I8^AXA#! 1R0CF0HTDB@ \H APB0B!,$! 1R0CF0@TDB@ \H AP0B!,$1 CB0@TB@ HH @B0B!,$.SHIVB"A,F @`@!s0R)BlB(SKIVB"E$B @@@30R4)FlB(Q . S I8VB"E$F @ t@$s0R()BlB(6<@IRrbElB` @@(`a 2P0)J, (L^ CQy$Vvm؞;QUQhfzy>M7v;V QH"0A@P lP0$P@`AX0 ,$.$ C2@PbjJ@` $ H00, $ "@@   0$ 2%TH%Bc)* be@@XD0E#b ( $ 2%TH%Bc( * jeA@@PD0E#b(($0 v,F@ P F.(@E A0@ h$' BDc BD 1C`RIXGM @ @ˠ$ *$-EF$ $@0%ɢRТF%@::Z{=E #@v$'Hƴb@!g“  T"F7@> @N{(C%C)ָ * _,0A"6X0B1 PB H @b p&.a F1B4KTF @@^0,* < DdQ  Fp%1TB@@F(2qR B2,!FPQ&10"@$pt$8 W <bw6$ @@P@@ @D@0!$0"  B J3PA-PC&F8 V!P0 $*Bca$"XD H CD2@PfB$("@p*P$@(0 BF20@R&CnB(JP`QT*`(@$ `4PAGE/d 1PAX `$ *@(*$b@NDz$9&p4XRAQv_'SE6^6K<jB>)BH)@WBH"PZb@@d *lM&(" ,`c@`T &N- Q"eEB(%P$  0D 3SMDtdG- `#۩20  |D "C6< 0D"QDtb"F$$P 2z ,f"AfTrD[$!3SdteťR̤HW4A۽s*6Vz ~f&fE6  0D"QLDt`F$  2z ,D"A&!6$ @ @P@ @@ c 0 d0 "" A@b0LpGf@0D@ ,  Q#D (1Ap _HT`L!N8 ,J$  @b0JPC d@0DhIHA@@@ ( 1,@` @-% E@b0LpCf@0(DPD!  ,  &1QBi aPVX@ȆD) E  H$(DF,MT',28b 2D"@ z F$  H(!P$"6(Pl o0haД\GfD@ % C_ 7$C  "8a6)0@P@H D   (%*Q p0@s BdD%0Z(`@@C"5Pl&p+L @PD$D @ @@Hp  $  H-"l`w#a۟Zw`PĪbO:]zZm-}m\*F|42W.J |!P8PP p'6&TU`0Nd\d$$ B  &E1 מZx>/"` !)@d B @0@PdYBL*@!6@FʜJH7b %Ղys#ng0V:E@wv: ; ,T":vZMlp +5ѥA˼y}^Z/v޻g㻯v:y3Mߢn9~:Omp +uյ%߼y|^zџwܿo翯v;y#M?n;~0 "'AJPXA6И>㘋1R#Q@EPF  &PD|Db|1@ aILS P Tb@R#dy >#pH"PAGE?/3 qILS %P@ Tb@R#d8y >*pH"5 Tu BHZ Q́,@A8\PAAƠ$( *e4@FӚw^R;yy:סNO[Vw}盟-j_mV+s[ TT#)!t1pv6D铚լğe{ښN}FM|J8VZ>7" !ٞض`;N5)VWw>>,}:}#6H Bo*q[ߞa~vآ%TiQc&>6H"vPvƐ9Rh1#QEIjnV A^|BDAƌ- ?-|$9&&-: U ,aE0ޞQ6hSH!̕@zQHURǟV|" ,#$;H2Gi̿@!Dp "P%ҵ@Vt+d6K4m6P= H q ZXR DFG x 4P Q4EĠK#C("h$0HDf>j6N#h'P|b^7v 2%S!DepeG۞!T V$?e ءؼY \d |S]jD0uQt J@E#EA  = )՘@DH@C>Ta fT 8"BV֌@ۜYgu%Ԍ7hֿ)AC5gl? ΂_ wV06 W MٟkW6vY ^sܬ~*WMٟkW6vY ^sߎܬ*C P"ØAp pP&A Р@A ' 4D.DD!UCٜP؎@ D ,RpDEYs $@ vP:*(P0QP$C@@ H+Da0J!IE FpRD8V lP 4A˾Yu^7ZL+UȲλOsv2i-/LV']EF"U*AF@PB XYR!``AJV-[Et@BF @eAҟH7vHWFq@ q^i }P`5_ݫƶ{e06f(I(TB'iIpzkMol\TuM]Vd -vrS6JB T "IaYRIPߒ@R!(0Z fT6:PAGEҡ/K W$0 qcPYW dPCX6RA֬2]m*u6qNLJ !a@eQPe gP1؆C@ CJF F[e4RFM V@ " ʜIppTPI Ё@4 cT ~i,*DTuPN `ıØAP0P@P @"`eb4n lOjQ3Ҙ&hp$Ф$!a@& DlDD PJ$<W}î9HEȾ~ CeS G~dg֖EQQ@ @+@@Q V Hd$dO V ! `!bBTYhB!RAG.I ,*6ַS^ ؙ@gUFo QrDC V+PJTՆ2ĐjptTPH9BQP D, rˆpL:tV.UnS䟆,0܁ȇQ*N M_W/֋:{R |VzR.t bn1yUu{gwߙU1Chu(?~L#` f2 7^_oQ;ټ_uwgnk lsv>6CsV~t)Juۿ6އM?^ߩg;v5}wekOv=4@8V lp 4ѥA˼{}^7ZLkt@Oc~3i*e+*LT+X T "Pڜ@t"NR &[T A8 ML 66YN5 EEȜH[bl'XFETt\ /Fd(%lWT,"ai"P6&\ J` iAޞHBIPfRиԜAQEPӻ w3F]"lUEb% } !:$tcFdA!О$AcBHA0L]J Lv2&dfL͞hgT}^~ 2Qƿ!DC0g{L% *e V ȴ%@ ̜pX2u  @ŸDDC9 -. iD. DPAGE/=gv@KcEE̞yXFQXAҷTc3$6ۮTD:t&i THID U̜`\2'XAʧD@a$&TD.DDvj O)%A1k`z2@%wiH؟dvGrC ] E@V SȪ@8T lP ѥA˼Y}7ڑ+tDHEc3~6i'e/*L|V- 8T nP uեAۿY|3+LEg;v&y'%/*NfV/>CVB9•{^WTMiMYTиSgrM}v6 'lQD"1ȞjRFE(W()P4f ,G^uA (|&&^mb X&)17P?9 1p Էoʼ<]_mF㟵ޙ| 6~}h+]{Ҕ˲Ϋ_8>Mڸ1۠hMY}~<Ž3mn  =H AʜHxR &BVс"T AAEpt QB`*2Uo"T `ԁ!͟\B.4T\VBA qBI$*vB-"z ` $gºIP5Z4ȉ Y1 TX I֩#HAcfq6OjRL*: TDTJq$@ bP&@!E$@ P8`(&( bst<~ g5m㟿X&cgݽX\1WW>i ׀tRDh "!d /@(n`2$хHD%)`> ("SUuZ&p0c0D!.H2d(LHqdAB0J!d I%vZ$p #0D !A .2dL@1%AB0` AwR$h "!!H ĀoEpOLT!$BB(€hB1<1栀$xT\d #Q'UX-&NxV7`H0"n^(f䚀jyr$*+ b\q#y<`!uo+T^֊{ $Ę?IGv{f0f{ysYVۭSsU5ly?}vx|@@"p!gY H2@! H pb K L }@0"$` @ @h!HD$0@  ,BKGD= Jr. ?  Exiton mouseUp global RecentStack set cursor to 4 go RecentStack wait while the mouseClick -- Gets rid of additional mouse clicks. end mouseUpBx  hypercardon MouseUp set cursor to 4 wait while the mouseClick -- Gets rid of additional mouse clicks. visual zoom out go stack "Help" end MouseUp>&'4 topics head 8*4 topics 4+$o6  No24,$6  No1-|  Searchon mouseUp set cursor to 4 lock screen go cd id 11393 unlock screen with iris open select text in cd fld "Look Up Keys" wait while the mouseClick -- Gets rid of additional mouse clicks. end mouseUp., About this stackon mouseUp if visible of cd fld "about" then hide cd fld "about" else show cd fld "about" end mouseUpPs Ps First Card BGBMAP \. 0 0 000"  000 3330 333% 3330 #333?<< 0<30 <330 3330 0 00 333 3330000 333 3330́?Ï!333 3330 ?0 ?0 333?  ?̡ 33303< 1Î(33333?000 3333  3330?33<< 0 then repeat with i = 1 to number of cd btns if item 1 of the loc of cd btn i < 160 then hide cd btn i end repeat end if hide cd pict if the short id of this cd = 8901 then hide cd fld 1 hide cd fld 2 end if set visible of bg btn "tips" to true set visible of bg fld "tips" to true hide bg btn "see also (click an item.)" hide bg fld "see also" hide bg btn "examples" hide bg fld "examples" put "tips" into FieldOpen set the scroll of bg fld "tips" to 0 unlock screen with iris open else if number of cd btns > 0 then repeat with i = 1 to number of cd btns show cd btn i end repeat end if show cd pict if the short id of this cd = 8901 then show cd fld 1 show cd fld 2 end if set visible of bg btn "tips" to false set visible of bg fld "tips" to false unlock screen with iris close end if wait while the mouseClick -- Gets rid of additional mouse clicks. end mouseUp3{  See Also Toggleon mouseUp global FieldOpen set cursor to 4 lock screen if visible of bg fld "see also" is false then if number of cd btns > 0 then repeat with i = 1 to number of cd btns if item 1 of the loc of cd btn i < 160 then hide cd btn i end repeat end if set visible of bg btn "see also (click an item.)" to true set visible of bg fld "see also" to true hide bg btn "tips" hide bg fld "tips" hide bg btn "examples" hide bg fld "examples" put "see" into FieldOpen set the scroll of bg fld "see also" to 0 unlock screen with iris open else if number of cd btns > 0 then repeat with i = 1 to number of cd btns show cd btn i end repeat end if set visible of bg btn "see also (click an item.)" to false set visible of bg fld "see also" to false unlock screen with iris close end if wait while the mouseClick -- Gets rid of additional mouse clicks. end mouseUp nD) 6 See Also (Click an item.)on mouseDown closeMe end mouseDown FBx  hypercardon MouseUp set cursor to 4 wait while the mouseClick -- Gets rid of additional mouse clicks. visual effect zoom out go to stack "Help" end MouseUpG ?  Exiton mouseUp global RecentStack set cursor to 4 go RecentStack wait while the mouseClick -- Gets rid of additional mouse clicks. end mouseUpH  Printon mouseUp set cursor to 4 if visible of bg fld "Tips" or visible of bg fld "Examples" or visible of bg fld "See Also" then put "Tips: " & bg fld 1 & return & return into printTips put bg fld "Tips" & return & return & return after printTips put "Examples: " & bg fld 1 & return & return after printTips put bg fld "Examples" & return & return & return after printTips put "See Also: " & bg fld 1 & return & return after printTips put bg fld "See Also" & return after printTips print printTips exit mouseUp else set printTemplate to "Print Talk Text" push cd put word 1 of bg fld "cardofcards" into start put word 3 of bg fld "cardofcards" into endPrt if start "1 " then put (number of this cd) - (start - 1) into start go cd start end if open printing print this card repeat with count = 1 to endPrt-1 go next cd print this card end repeat close printing pop cd wait while the mouseClick -- Gets rid of additional mouse clicks. end mouseUp XJ) 6 Tipson mouseDown closeMe end mouseDown > $ cardOfCards @L  backto1on mouseUp set cursor to 4 put word 1 of bg fld "cardofcards" into start put (number of this cd) - (start - 1) into start lock screen go to cd start unlock screen with wipe right fast wait while the mouseClick -- Gets rid of additional mouse clicks. end mouseUp OBy   Examples toggleon mouseUp global FieldOpen set cursor to 4 lock screen if visible of bg fld "Examples" is false then if number of cd btns > 0 then repeat with i = 1 to number of cd btns if item 1 of the loc of cd btn i < 160 then hide cd btn i end repeat end if set the visible of bg btn "examples" to true set visible of bg fld "examples" to true hide bg btn "tips" hide bg fld "tips" hide bg btn "see also (click an item.)" hide bg fld "see also" put "examples" into FieldOpen set the scroll of bg fld "examples" to 0 unlock screen with iris open else if number of cd btns > 0 then repeat with i = 1 to number of cd btns show cd btn i end repeat end if set the visible of bg btn "examples" to false set visible of bg fld "examples" to false unlock screen with iris close end if wait while the mouseClick -- Gets rid of additional mouse clicks. end mouseUp ^Q6 0 exampleson mouseDown closeMe end mouseDown \W) 6 Exampleson mouseDown closeMe end mouseDown Z|  Searchon mouseUp set cursor to 4 lock screen go cd id 11393 unlock screen with iris open select text in cd fld "Look Up Keys" wait while the mouseClick -- Gets rid of additional mouse clicks. end mouseUpITipsPs Ps Task card BGon openCard -- Shows the appropriate buttons on the card being viewed. put word 1 of bg fld "cardofcards" into start if start 1 then show bg btn "backto1" if number of this cd < number of cards-1 then if (char 1 to 3 of bg fld "topic" = char 1 to 3 of bg fld "topic" of next cd) then show bg btn "next arrow" end if if number of this cd 2 then if (char 1 to 3 of bg fld "topic" = char 1 to 3 of bg fld "topic" of prev cd) then show bg btn "prev arrow" end if if bg fld "Tips" is not empty then show bg btn "Tips Toggle" if bg fld "Examples" is not empty then show bg btn "Examples Toggle" if bg fld "See Also" is not empty then show bg btn "See Also Toggle" end openCardBMAPx- 0 0  0< 000 3330 333,̡ 3330 3333 3330  33303 3333OO= 33303303333333 ( 330000 ( ( 0000000003 00333303333?3303 " 0033300033333  0 0 003000 33333033330)3́? 0 33 30030033300333033333!Á03 0 Á<0 0  33300)33300333 3330́3 00 ?<03 ́330 30133333 0< ́ 303330033303333)00 33 ??0 3 3003303303330338?33 0 000 300033303303303330  330333#30030033333 ̡ 8 ̢ ̡(33003 30330 3( ( 00033 3330333333333 0 <0< 0000.HP ?BKGDrX2= Jv:$  KeyTable<$. TopicTablePs Ps @BMAPX2 - 0 0  0< 000 3330 333,̡ 3330 3333 3330  33303 3333OOL 0 <0< 0000.30000 FREEFree Object = $3b6B` hypertalk basicson mouseUp showTopic end mouseUp bAM  system messageson mouseUp showTopic end mouseUp dMX  control structureson mouseUp showTopic end mouseUp ZXd  commandson mouseUp showTopic end mouseUp \nz  propertieson mouseUp showTopic end mouseUp \x  operatorson mouseUp showTopic end mouseUp \4dp  functionson mouseUp showTopic end mouseUp h:5. hypertalk basicson mouseDown topicListNav end mouseDownb;5. commandson mouseDown topicListNav end mouseDown b<5. functionson mouseDown topicListNav end mouseDown b>5. operatorson mouseDown topicListNav end mouseDown l?5. control structureson mouseDown topicListNav end mouseDown d@5. propertieson mouseDown topicListNav end mouseDown hA5. system messageson mouseDown topicListNav end mouseDown 8l#7 topic <o'5 subtopic 1 Tu8+( abouton mouseUp hide me end mouseUp.-+Using HyperTalk Help What is HyperTalk? Message and objects The message-Passing order Message handlers Handlers within handlers Function handlers Getting Values Using variables Reffering to objects Looking at scripts Writing your own handlers Debugging scrripts Synonyms and abbreviations What is a command? add answer arrowKey (command) ask beep choose click close file close printing controlKey (command) convert create stack delete delete stack dial divide doMenu (command) drag edit script enterKey (command) export paint find functionKey (command) get go help (command) hide (command) import paint lock printTemplate lock screen multiply open open file open printing play pop card print print card push put read reset paint returnKey (command) save select set show (command) show cards sort subtract tabKey (command) type unlock printTemplate unlock screen visual wait write What is a function? abs annuity atan average charToNum clickLoc commandKey compound cos date diskSpace exp exp1 exp2 foundChunk foundField foundLine foundText hilitedBtn length ln, ln1, log2 max min mouse mouseClick mouseH, mouseV mouseLoc number numToChar offset optionKey param paramCount params random result round screenRect seconds selectedChunk selectedField selectedLine selectedText shiftKey sin sound sqrt tan target ticks time tool trunc value Arithmetic operators Comparison operators Logical operators Text operators Operator precedence Table of constants What is a control structure? do end exit function global if (single statement) if (mutiple statements) if (nested statement) next on pass repeat repeat for repeat forever repeat until repeat while repeat with return send What is a property? autoHilite autoTab blindTyping borderColor bottom bottomRight brush cantDelete cantModify centered colorSet cursor dontSearch dragSpeed editBkgnd family filled frameColor freeSize grid height hilite icon iconBackColor iconFrontColor ID language lastError left lineSize loc[ation] lockErrors lockMessages lockRecent lockScreen lockText multiple multiSpace name number (property) numberFormat outlined pattern polySides powerKeys printTemplate recentHomeCard rect[angle] right script scroll sharedHilite sharedText showLines showName showPict size style textAlign textArrows textColor textFont textHeight textSize textStyle top topLeft useColorSet userLevel userModify version visible wideMargins width What is a system message? arrowKey (system message) closeBackground closeCard closeField closeStack controlKey (system message) deleteBackground deleteButton deleteCard deleteField deleteStack doMenu (system message) enterInField enterKey (system message) functionKey (system message) help (system message) hide (system message) idle mouseDown mouseEnter mouseLeave mouseStillDown mouseUp mouseWithin newBackground newButton newCard newField newStack openBackground openCard openField openStack quit resume returnInField returnKey (system message) show (system message) startUp suspend tabKey (system message) &Cliquez une rubrique . . . *Bases d'HyperTalk Messages Systme Structures de contrle Commandes Fonctions Proprits Oprateurs & Constantes Aide HyperTalk Cliquez une sous-rubrique. HyperTalk Help is your on-line reference to HyperCards scripting language. This stack is more helpful to you after youve gone through the book HyperTalk Beginners Guide for the Apple IIGS, which came with your copy of HyperCard. You can use Apple Computers book HyperCard Script Language Guide for the Apple IIGS (available from Addison-Wesley) with or instead of this stack. First Card----------------- Script info for this Card----------------- HANDLERS: openCard showTopic Size of script: 722 chars. ----------------------------------------------------------- on openCard global OpenFieldName if OpenFieldName is not empty then lock screen set the hilite of cd btn OpenFieldName to true show cd fld OpenFieldName show bg btn "No2" show cd fld "subtopic 1" unlock screen end if end openCard on showTopic global OpenFieldName set cursor to 4 put the short name of the target into buttonClicked lock screen if OpenFieldName is not empty then hide cd fld OpenFieldName show cd fld buttonClicked set scroll of cd fld buttonClicked to 0 put buttonClicked into OpenFieldName show bg btn "No2" show cd fld "subtopic 1" hide cd fld "about" unlock screen wait while the mouseClick -- Gets rid of additional mouse clicks. end showTopicCARD 4JtOF31Bases HyperTalk Utilisation d' Aide HyperTalk 1 of 2* Cette pile est diffrente de la pile "Aide HyperCard IIGS". Vous accdez l'aide d'HyperTalk en cliquant "HyperTalk" quand vous tes dans "Aide HyperCard IIGS". De la mme manire, vous pouvez retourner "Aide HyperCard IIGS" en cliquant "HyperCard" ci-dessous. L'utilisation de "Aide HyperTalk" est la mme que celle d' HyperCard avec une diffrence : cliquer "Exemples" quand il n'est pas gris vous montre les faons d'utiliser l'lment hyperTalk dcrit sur la carte.(Examples remplace le bouton "Demo" d' "Aide HyperCard". Toutefois quelques cartes ont un bouton "Demo" droite du texte qui illustre un concept HyperTalk quand vous cliquez dessus. /What is HyperTalk? +Vous pouvez ouvrir HyperTalk Help directement d' une autre pile en choisissant "Open Stack" dans le menu "File" et en indiquant dans la boite de dialogue qui s'ouvre, l 'emplacement de la pile et en ouvrant HyperTalk Help (vous pouvez avoir insrer le disque qui la contient). Choisir Help dans le menu "Go" ouvre HyperCard IIGS Help, et non HyperTalk Help.Ps Ps cUsing HyperTalk Help@CARD(4JOLFH31Bases HyperTalk Utilisation d' Aide HyperTalk 2 of 2* La syntaxe des commandes HyperTalk est souvent indique par < crochets aigus> ou [crochets droits]. Ne pas taper ces crochets dans vos scripts. Un texte entre est un paramtre taper, que vous devez remplacer dans l'instruction HyperTalk considre. Un texte entre [crochets droits] est un paramtre optionnel; vous l'utilisez si ncessaire.Ps Ps CARD4J(O1LF3Bases HyperTalk Qu' est-ce qu' HyperTalk? 1 of 1* Procdure (Handlers) Scripts HyperTalk est le langage des scripts d'HyperCard. Il vous permet d'crire pratiquement en anglais courant des commandes qui disent HyperCard quoi faire en rponse certains vnements tels que cliquer sur un bouton, fermer une carte, ouvrir une pile. La rponse un vnement est dfinie dans une procdure constitue de commandes Hypertalk. Vous pouvez crire une procdure pour chaque vnement auquel vous dsirez rpondre. Un ensemble de procdure est appel un script. Chaque objet d'HyperCard : bouton, champ, carte, fond, pile a un script qui dit l'objet comment rpondre des vnements spcifiques. (Un script est parfois vide, l'objet ne fait donc rien.)/Looking at scripts +Si vous avez utilis avec succs la boite de messages, vous avez utilis HyperTalk, qui est quasiment de l'anglais, tel que : "go next card". Tout texte tap dans la boite de message doit tre en HyperTalk pour qu' HyperCard le comprenne.Ps Ps cWhat is HyperTalk?CARD_J ^O3FBases HyperTalk Messages et objets 1 of 3* HyperCard attend que des vnements interviennent. Quand ils apparaissent (quand vous cliquez un bouton, fermez une carte ou ouvrez une pile), HyperCard labore (1) quelle commande est mettre en uvre et (2) o l' envoyer. Ces commandes appeles" messages", sont la traduction HyperTalk des vnements. Les messages sont envoys aux objets HyperCard : (Boutons, champs,cartes,fonds, piles), et HyperCard lui-mme. /Message handlers Looking at scripts What is a control structure? What is a system message? on Ps Ps cMessages and objectsCARDH4J  8x30 status _m( Demoon mouseEnter put "mouseEnter" into cd fld id 8 end mouseEnter on mouseWithin put "mouseWithin" into cd fld id 8 end mouseWithin on mouseLeave put "mouseLeave" into cd fld id 8 end mouseLeave on mouseDown put "mouseDown" into cd fld id 8 end mouseDown on mouseStillDown put "mouseStillDown" into cd fld id 8 end mouseStillDown on mouseUp put "mouseUp" into cd fld id 8 end mouseUp1GF3Bases HyperTalk Messages et objets 2 of 3 Un clic de la souris est souvent peru comme un vnement unique, mais c'est en fait une suite d'vnements qui se traduisent par deux messages:" mouseDown" (quand vous pressez le bouton de la souris) et "mouseUp" (quand vous le relachez). Pour voir comment HyperCard traduit les vnements en messages, placez le curseur sur le bouton "Dmo" et cliquez. Message:Ps Ps on closeCard put empty into cd fld id 8 pass closeCard end closeCard CARDJ OL3Bases HyperTalk Messages et objets 3 of 3*HyperCard | Home | Stack | Background | Card | Button HyperCard envoie chaque message l'objet o l'vnement prend place (habituellement l'objet que vous activez, le bouton que vous cliquez ou la pile que vous ouvrez). Quand un objet HyperCard reoit un message, il rpond selon son script qui peut contenir une procdure pour ce message. S'il ne la contient pas le message va au prochain objet selon la hirarchie de transmission des messages./What is HyperTalk? Referring to objects The message-passing order Ps Ps cMessage and objectsCARD J zOLH1 Hirarchie de Transmission message-passing orderBases HyperTalk Le premier objet qui reoit un message n'a pas tre celui qui le traite. HyperCard envoie en premier un message un bouton, un champ (qui est dans un fond ou sur une autre carte) ou la carte courante. Si l' objet n'a pas la procdure ncessaire pour traiyer ce message dans son script, le message est transmis l'objet suivant, dans l'ordre ci-dessous : 1. boutton ou champ 2. la carte courante 3. le fond courant 4. la pile courante 5. la pile de base (Home stack) 6. HyperCard lui-mme +Vous pouvez contourner la hirarchie de transmission et envoyer un message directement un objet, comme dans : send "show menuBar" to HyperCard send "mouseUp" to button "Brass" 1 of 3cThe message-passing order`CARD.J $O3 Hirarchie de Transmission message-passing orderBases HyperTalk HyperTalk Le message continue selon la hirarchie de transmission jusqu' ce qu'il atteigne un objet dont le script contienne la procdure qui le concerne. Le message s'arrte l, moins que la procdure ne le relaie vers le prochain objet, dans la hirarchie de transmission, en utilisant la structure de contrle "Pass". Quand un message n'est pas intercept et parvient HyperCard lui-mme, il ne se passe rien si c'est un "message systme" (par exemple mouseUp). Si le message est une commande, Hypercard l'xcute (par exemple Hypercard ajoute une autre carte la pile courante quand il reoit le message doMenu "New Card"). The next card shows how the message-passing order works. /pass 2 of 3 CARDܸ%9 J & "4B btnon mouseUp set hilite of cd btn "btn" to true flash 2 wait 15 set hilite of cd btn "btn" to false set hilite of cd btn "cd" to true wait 15 set hilite of cd btn "cd" to false set hilite of cd btn "bkgnd" to true wait 15 set hilite of cd btn "bkgnd" to false set hilite of cd btn "stack" to true flash 1 wait 15 set hilite of cd btn "stack" to false end mouseUp 4B1 fldon mouseUp set hilite of cd btn "fld" to true wait 15 set hilite of cd btn "fld" to false set hilite of cd btn "cd" to true wait 15 set hilite of cd btn "cd" to false set hilite of cd btn "bkgnd" to true wait 15 set hilite of cd btn "bkgnd" to false set hilite of cd btn "stack" to true flash 1 wait 15 set hilite of cd btn "stack" to false end mouseUp FFT/ cdon mouseUp set hilite of cd btn "cd" to true wait 15 set hilite of cd btn "cd" to false set hilite of cd btn "bkgnd" to true wait 15 set hilite of cd btn "bkgnd" to false set hilite of cd btn "stack" to true flash 1 wait 15 set hilite of cd btn "stack" to false end mouseUp Vd/ bkgndon mouseUp set hilite of cd btn "bkgnd" to true wait 15 set hilite of cd btn "bkgnd" to false set hilite of cd btn "stack" to true flash 1 wait 15 set hilite of cd btn "stack" to false end mouseUp ft/ stackon mouseUp set hilite of cd btn "stack" to true flash 1 wait 15 set hilite of cd btn "stack" to false end mouseUp v/ Homeon mouseUp set hilite of cd btn "Home" to true wait 15 set hilite of cd btn "Home" to false set hilite of cd btn "HyperCard" to true wait 15 set hilite of cd btn "HyperCard" to false end mouseUp / HyperCardon mouseUp set hilite of cd btn "HyperCard" to true wait 15 set hilite of cd btn "HyperCard" to false end mouseUp 2:c 2 h 1 Hirarchie de Transmission message-passing orderBases HyperTalk Cliquez quelques cases droite pour voir comment le message "mouseUp" peut tre trait et "pass" 3 of 3on mouseUp flash 2 pass mouseUp end mouseUpon mouseUp flash 1 end mouseUp`BMAP%99N9Nu  ( ??0<! 0+#* #  $#+#   !( ??00<p! 0 ?+#*  #    $#+#333`CARDJTT|' Demoon mouseUp flash 2 end mouseUpO1FG3Bases HyperTalk Procdures 1 of 1 Une procdure est un ensemble d'instructions HyperTalk qui dfinit ce qu'un objet doit faire quand il reoit un message spcifique. Les procdures sont contenues dans le script de l'objet. La premire ligne de chaque procdure commence par le mot-cl "on" suivi du nom du message auquel s'adresse la procdure. La dernire ligne commence par le mot-cl "end" suivi du nom du message. Cliquez "Demo" droite pour voir comment la procdure traite le message "mouseUp"./The message-passing order Handlers within handlers on end * on mouseUp flash 2 end mouseUpPs Ps cMessage handlers CARDB!4J O13Bases HyperTalk Procdures dans les Procdures 1 of 3*Statements as message Quand une procdure tourne, chaque instruction de la procdure est envoye comme message l'objet suprieur dont le script contient cette procdure, ensuite, au prochain objet selon la hirarchie de transmission et ainsi de suite. (Quand vous cliquez "Demo" sur la carte prcdente, "flash2" est envoy comme message, qui va selon la hirarchie de transmission, jusqu' HyperCard lui-mme, qui rpond en xcutant la commande.) Ce comportement fait qu'il est possible une procdure d' "appeler" une autre procdure qui vient aprs dans le script ou qui est contenue dans le script d'un objet de rang suprieur dans la hirarchie de transmission. +Vous pouvez crire des scripts complexes en dcoupant ceux-ci en sous-procdures et en crivant des procdures qui appellent chaque sous-procdure. La procdure principale peut alors simplement appeler les procdures commes sous-procdures selon ncessit. Par exemple, la procdure ci-dessous appelle une srie d'autres procdures, chacune produisant une part d' une plus grande procdure : on openCard getNumbers --appelle la procdure getNumbers computeData --appelle la procdure computeData displayResults --appelle la procdure displayResults end openCard /Message handlers The message-passing order on Ps Ps cHandlers within handlers CARD"l4J  4B btnon mouseUp set hilite of cd btn "btn" to true doubleBeep wait 15 set hilite of cd btn "btn" to false end mouseUp: 4B1 fldon mouseUp set hilite of cd btn "fld" to true wait 15 set hilite of cd btn "fld" to false set hilite of cd btn "cd" to true wait 15 set hilite of cd btn "cd" to false set hilite of cd btn "bkgnd" to true wait 15 set hilite of cd btn "bkgnd" to false set hilite of cd btn "stack" to true wait 15 set hilite of cd btn "stack" to false set hilite of cd btn "Home" to true wait 15 set hilite of cd btn "Home" to false set hilite of cd btn "HyperCard" to true wait 15 set hilite of cd btn "HyperCard" to false end mouseUp  FT/ cdon mouseUp set hilite of cd btn "cd" to true wait 15 set hilite of cd btn "cd" to false set hilite of cd btn "bkgnd" to true wait 15 set hilite of cd btn "bkgnd" to false set hilite of cd btn "stack" to true wait 15 set hilite of cd btn "stack" to false set hilite of cd btn "Home" to true wait 15 set hilite of cd btn "Home" to false set hilite of cd btn "HyperCard" to true wait 15 set hilite of cd btn "HyperCard" to false end mouseUp  Vd/ bkgndon mouseUp set hilite of cd btn "bkgnd" to true wait 15 set hilite of cd btn "bkgnd" to false set hilite of cd btn "stack" to true wait 15 set hilite of cd btn "stack" to false set hilite of cd btn "Home" to true wait 15 set hilite of cd btn "Home" to false set hilite of cd btn "HyperCard" to true wait 15 set hilite of cd btn "HyperCard" to false end mouseUp p ft/ stackon mouseUp set hilite of cd btn "stack" to true wait 15 set hilite of cd btn "stack" to false set hilite of cd btn "Home" to true wait 15 set hilite of cd btn "Home" to false set hilite of cd btn "HyperCard" to true wait 15 set hilite of cd btn "HyperCard" to false end mouseUp on doubleBeep beep 2 end doubleBeep v/ Homeon mouseUp set hilite of cd btn "Home" to true wait 15 set hilite of cd btn "Home" to false set hilite of cd btn "HyperCard" to true wait 15 set hilite of cd btn "HyperCard" to false end mouseUp / HyperCardon mouseUp set hilite of cd btn "HyperCard" to true wait 15 set hilite of cd btn "HyperCard" to false end mouseUp 2;[ 2h ZO1a Procdures dans les Procdures 2 of 3 Cliquez quelques cases droite pour voir comment la procdure "mouseUp" appelle la procdure "doubleBeep". +Vous pouvez effectivement crire vos propres commandes en crivant des procdures comme messages que vous envoyez par une autre procdure. Assurez vous que la procdure qui envoie le message est plus bas dans la hirarchie de transmission que celle qui intercepte le message. Mettre une instruction dans une procdure n' est pas le seul moyen d' envoyer un message. Vous pouvez taper le message dans la boite de message et presser la touche Return.on mouseUp doubleBeep end mouseUpon doubleBeep beep 2 end doubleBeepPs Ps `BMAPl9N9Ny  !(  ! +#'" " $#+"  !( ??00<p! 0 ?+#'" #    $#+"333CARD J l13O Procdures dans les procduresBases HyperTalk Quand une procdure appelle une autre procdure, elle peut passer des valeurs (appels paramtres) la procdure appele. La procdure appele doit avoir les noms de paramtres dfinis comme variables locales. Les valeurs doivent tres spares par une virgule et passes dans le mme ordre que celui dans lequel elles vont tre reues. La procdure mouseUp montre dans "Exemples" appelle la procdure "sayMessage" et passe deux valeurs chaines ( "red" et "apple") aux paramtres (color, fruit) dans la procdure appelle. (Vous pouvez utiliser les noms de paramtres n'importe o dans la fonction appele.) /Using variables Qon mouseUp sayMessage "red", "apple" end mouseUp on sayMessage color, fruit put "I want a" && color && fruit into the Message box end sayMessage 3 of 3@CARDJ 1O Une fonction est une procdure qui calcule une valeur et la retourne la procdure appelante. HyperCard a beaucoup de procdures internes, vous pouvez galement crire les vtres. Une fonction commence toujours par la structure de contrle function suivie du nom de la fonction. La valeur calcule par la fonction est retourne la procdure appelante en utilisant la structure de contrle return. La fonction "carr" de la carte Examples reoit la valeur 5 de la procdure appelante mouseUp, l'attribue au paramtre variable x et retourne le carr de cette valeur. FonctionsBases HyperTalkQon mouseUp put square(5) into the Message box end mouseUp function square x return (x * x) end square 1 of 1cFunction handlers@CARD#4J$ 1O3Bases HyperTalk Obtenir des Valeurs 1 of 5* number literal booleen Fondamentalement, les scripts d' HyperTalk manipulent des valeurs. Une valeur est soit une chaine de caractres, soit un nombre. Vous pouvez fournir la valeur directement ou vous pouvez crire une expression qu' HyperCard value pour obtenir une valeur. La valeur d'un nombre est le nombre lui-mme (7, 16, 39.3). La valeur d'un litral est la chaine de caractres entre guillemets Expression: "Qu'y a-t-il?" Valeur: Qu'y a-t-il? Une valeur boolenne est vraie ou fausse (true or false). /Using variables Referring to objects What is a function? What is a property? put get set Ps Ps cGetting values`CARD! JO Une constante est une valeur invariable avec un nom . Expression: pi Valeur: 3.14159265358979323846 La valeur d'un champ est n' importe qoui qu' il contienne. Expression: background field "address" Valeur: 2007 Poplar Av La valeur d'une slection est ce qui est actuellement slectionn dans un champ. La valeur de la "Message box" est ce que contient "Message box".*constant field the selection Message box 2 of 5 Obtenir une ValeurBases HyperTalkCARDL Jl1 La valeur d'une variable est n' importe quoi qu' elle contienne. Vous crez une variable en lui donnant un nom et en mettant dedans ce que vous dsirez. (Ne pas mettre de guillemets au nom d'une variable). Value: 40 Une proprit est une valeur dcrivant une caractristique d' un objet ou de l'environnement d'HyperCard. Expression: the number of this card Value: 16 Une fonction est une valeur qu' Hypercard calcule quand il xcute une instruction dans laquelle elle est utilise.*variable property function 3 of 5 Obtenir une ValeurBases HyperTalkCARDjJUO Expression: the time Valeur: 10:00 AM La valeur d' une sous-expression est la partie ou l'ensemble de parties the chunk que vous spcifiez dans un champ ou une autre source de valeur. Vous pouvez spcifier une sous-expression en terme de : lines (spares par un Return) items (spars par une Virgule) words (spars par un Espace) characters Expression : word 2 of item 1 of "the butcher, the baker" Valeur : butcher * chunk 4 of 5 Obtenir une ValeurBases HyperTalkCARD- J1*operator Un oprateur est un caractre ou groupe de caractres qui vous permet de construire une valeur en manipulant les lments d' une expression. Expression: "Je vous vois " && (2*3) & "!" Value: Je vous vois 6! L' ampersand (&) concatnes deux chaines texte. Le double ampersand (&&) concatnes deux chaines texte avec un espace entre elles. 5 of 5 Obtenir une ValeurBases HyperTalkCARD)J OL13Bases HyperTalk Utiliser les Variableds 1 of 2* Local variables It Les variables sont soit locales, soit globales. Une variable est locale si elle n'est pas dclare comme globale. Vous utilisez une variablelocale pour stocker temporairement une valeur que vous utilisez dans une procdure. Quand la procdure a fini son xcution, la valeur est purge de la mmoire. Quelques commandes HyperTalk mettent automatiquement une valeur dans une variable locale appele "it"./put get global Ps Ps cUsing variablesCARD*4J /O1Bases HyperTalk Utiliser des Variables 2 of 2* Global variables Utilisez une variable globale pour stocker une valeur qui est utilise dans plus d'une procdure ou plus d'une fois dans la mme procdure. La valeur d'une variable globale reste en mmoire jusqu' ce que vous quittiez HyperCard. Pour dclarer une variable globale vous devez utiliser le mot-cl "global". Par exemple : global timeZone dclare timeZone comme variable globale.+Il vous faut initialiser (mettre dedans une valeur initiale) une variable globale la premire fois que vous l'utilisez. Si vous avez utilis une variable globale de mme nom dans une autre pile et n' avez pas redmarr votre machine depuis, la pile courante peut prendre la valeur de la variable globale de l' autre pile. Votre script devrait effacer le contenu de toutes les variables globales quand vous fermez une pile (par exemple, une procdure closeStack dans le script de pile). Autrement, les variables prendront de l' espace mmoire inutilement. Ps Ps  CARD+4J OG13Bases HyperTalk Rfrence aux objets 1 of 3* name Qaund vous crivez un script vous pouvez vous rfrer un objet par son : nom, ID, numro, ordre, position, "me" ou "target" Un nom d'objet est celui qu'on trouve dans la boite de dialogue(par exemple : background button "Home"). Toujours mettre le nom d'un objet entre guillemets afin qu' HyperCard le reconnaisse comme un litral et ne le considre pas comme le nom d' une variable. Vous pouvez utiliser le chemin d'accs d'une pile qui inclue le nom du volume, de quelques dossiers, et le nom de la pile, spars par " : ". (stack ": monDisque : monDossier : maPile")+Vous devez spcifier card field et background button quand vous vous rferez ces objets. Si vous tapez field, HyperCard pense que cela signifie un champ de fond, et si vous tapez button, HyperCard pense que cela signifie un bouton de carte. Ps Ps cReferring to objects@CARDQ J1 Un ID d'objet est un nombre unique attribu par HyperCard quand il cre l'objet. (par exemple card ID 5734). Vous pouvez le trouver dans la boite de dialogue "Info" de l'objet. (Les piles n'ont pas d'ID). Le numro d'ID d'un objet ne change jamais. Un numro d' objet reprsente sa position l'intrieur de l'objet qui le contient(par exemple: card 2). Les boutons et champs sont numrots dans une carte ou fond. Les cartes et les fonds sont numrots dans la pile. Vous pouvez vous rfrer la position d'un objet l' intrieur d'un objet qui le contient en utilisant les nombres ordinaux de 1 10 (par exemple : second card, forth button).*ID number ordinal 2 of 3Bases HyperTalk Rfrence aux objetsCARDBJ OL Vous pouvez vous rfrer la position d'un objet l'intrieur de l'objet qui le contient en utilisant l' un des termes suivants : middle, last, any, next, previous, recent, this. (par exemple : the last card of this background) Vous pouvez vous rfrer un objet comme "me" dans une procdure qui est dans le script de l'objet (par exemple, set the hilite of me to true). Vous pouvez vous rfrer un objet comme "target" quand le messsage actuellement trait tait le premier reu par cet objet. (par exemple : set the hilite of the target to true).*position me the targetBases HyperTalk 3 of 3 Rfrence aux objets`CARDk3 J 13Bases HyperTalk Voir les Scripts 1 of 3* button Avant de pouvoir lire, modifier, crire des scripts, le niveau d'utilisation (userLevel) doit tre mis 5 Pour ouvrir le script d'un bouton vous pouvez: Slectionner le bouton en utilisant l'Outil-Bouton, choisir Button Info dans le Menu Objects et cliquer "Script". Enfoncer -Option et cliquer sur le bouton choisi. Choisir l'Outil- Bouton et enfoncer la touche Maj. jusqu' ce que vous ayez fait un Double-Clic sur le bouton. cLooking at scriptsCARDXJ O Pour ouvrir un script de champ vous pouvez : Selectionner un champ en utilisant l'Outil-Champ, choisir Fiel Info dans le menu Objects et cliquer "Script". Enfoncer les touches -Option et cliquer le champ choisi. Choisir l'Outil-Champ et enfoncer la touche Maj. jusqu' ce que vous ayez fait un Double-Clic sur le champ. Pour ouvrir un script de carte vous pouvez : Choisir Card Info dans le menu Objects et cliquer "Script" Enfoncer la touche Maj. jusqu' ce que vous ayez choisi Card-Info dans le menu Objects. Enfoncer les touches -Option et presser la touche C. *field cardBases HyperTalk 2 of 3 Voir les ScriptsCARD;h J ]1L Pour ouvrir un script de fond vous pouvez : Choisir Background Info dans le menu Objects et cliquer "Script". Enfoncer la touche Maj. jusqu' ce que vous ayez choisi Background Info dans le menu Objects. Enfoncer les touches -Option et presser la touche B. Pour ouvrir un script de pile vous pouvez : Choisir Stack Info dans le menu Objects et cliquer "Script". Enfoncer la touche Maj. jusqu' ce que vous ayez choisi Stack Info dans le menu Objects. Enfoncer -Option et presser la touche S. *background stackBases HyperTalk 3 of 3 Voir les Scripts CARDHJ O31L Ecrivez vos propres ProcduresBases HyperTalk Quand vous crivez des procdures pour le script d' un objet, vous devez dcider (1) quels messages doivent tre interprts par l' objet et (2) ce que chaque procdure doit raliser . Attention la position des objets dans la hirarchie de passage des messages. Rappelez vous que le message ne doit pas tre interprt par le premier objet qui le reoit. Rappelez vous que chaque dclaration de la procdure est envoye comme message pendant qu' elle tourne. Ainsi une procdure peut appeler une autre procdure qui est plus haut dans la hirarchie (de ce fait vous pouvez crire vos propres commandes). 1 of 5cWriting your own handlers`CARD4 ۊJ 13Bases HyperTalk Ecrivez vos propres Procdures 2 of 5* Return Soft Return Double hyphen Quand vous crivez une procdure : Pressez la touche Return la fin de chaque dclaration. Si une dclaration dpasse la ligne, pressez Option-Return pour passer la ligne sans commencer une nouvelle dclaration. Ceci place un soft Return, reprsent par dans les scripts. Ne pas utiliser le "soft Return" dans une expression littrale (quelque chose entre guillemets). Tapez un double tiret (--) pour introduire un commentaire. HyperCard ignore tout ce qui suit un double tiret quand il excute la procdure./Looking at scripts Synonyms and abbreviations +Soyez gnreux en commentaires dans vos procdures et instructions dans les procdures. Vos commentaires vous aideront vous souvenir ce que fait la procdure et aidera les autres comprendre comment la procdure s' y prend. Lire un script bien comment est un des meilleurs moyen pour apprendre crire des scripts.CARDB5ۊJBOBases HyperTalk Ecrivez vos propres Procdures 3 of 5*Tab Cut Copy Paste Presser la touche Tab formate le script. Formater un script est une forme lmentaire de debugging : si vos dclaration ne s' indentent pas correctement c' est que quelque chose ne va pas (vous avez probablement mal utilis ou oubli une structure de contrle). Presser -X coupe la partie slectionne dans le Clipboard. Presser -C copie la partie slectionne dans le Clipboard. Presser -V colle le contenu du Clipboard au point d' insertion @CARD6 ۊJ 1LBases HyperTalk Ecrivez vos propres Procdures 4 of 5*Find Find again Find select Select all Print Presser -F pour trouver une chaine de caractre ou cliquer le bouton "Find". Presser -G pour trouver la prochaine occurrence de la chaine de caractre. Press -H pour trouver la prochaine occurrence de la slection. Presser -A slectionne le script entier. Presser -P imprime le script ou la slection dans le script, ou cliquer le bouton "Print". CARD7ۊJ AOBases HyperTalk Ecrivez vos propres Procdures 5 of 5 Pour fermer le script et sauvegarder les changements, cliquez "OK" ou pressez la touche "Return". Pour fermer le script sans sauvegarder les changements, cliquez "Cancel", pressez la touche "Esc" ou pressez "-." (-point). *OK CancelCARD` ۊJ 1 Quand vous essayez un procdure, HyperCard vous prvient s' il y a une erreur dans une boite de dialogue. Cette boite vous permet de stopper le droulement du script (en cliquant "Cancel") ou d' ouvrir le script (en cliquant "Script") afin de trouver ce qui ne vas pas. A l' ouverture le point d' insertion est l' endroit o la procdure s' est arrte Les bogues dans les procdures sont le plus souvent dues l' oubli ou des erreurs dans les structures de contrle, fautes de syntaxe, valeurs non valides. Cliquez "Tips" pour voir quelques techniques simples de dbogage. (Au fur et mesure de vos progrs avec HyperTalk vous pourrez crire des procdures spcifiques pour le dbogage. Scripts de dbogageBases HyperTalk+Pour contrler la valeur d' une fonction ou d' une , ouvrez la boite de messages et tapez : ask "La valeur est " with et pressez la touche Return,o est le nom de la variable ou fonction dont vous contrlez la valeur. (vous pouvez taper n' importe quel autre texte que La valeur est.) Pour vrifier l' effet d' une certaine procdure ou une partie particulire d' une procdure, vous pouvez dsactiver des procdures ou des blocs d' instructions dans une procdure en insrant des instructions "answer" l o cela est ncessaire. Par exemple, si vous insrez l' instruction answer "Checkpoint 1" la fin d' une procdure ou aprs une instruction particulire dans une procdure, un boite de dialogue affiche Checkpoint 1 (ou tout autre texte que vous avez spcifi) quand la procdure est xcute. Rappelez vous d' avoir enlever ces instructions de dbogage quand votre procdure est au point. 1 of 1cDebugging scriptsCARD8ۊJ< <'30 body text 1OLBases HyperTalk Synonymes et abrviations 1 of 1 abbr, abbrev, abbreviated bg, bkgnd, background bgs, bkgnds, backgrounds btn, button btns, buttons cd, card cds, cards char, character chars, characters cmdKey, commandKey fld, field flds, fieldsgray, grey loc, location msg, msg box, message, message box mid, middle pict, picture prev, previous rect, rectangle reg poly, regular polygon round rect, round rectangle sec, secs, seconds spray, spray can tick, tickscSynonyms and abbreviationsCARD: ۊJ -1LF3Messages systme Qu' est-ce qu' un message systme? 1 of 1 Les messages systme sont envoys un objet pour lui indiquer la survenue d' un vnement tel que : clic de la souris, cration ou suppression d' un objet./Message handlers The message-passing order on cWhat is a system message?CARD;ۊJ _LO3Messages systme arrowKey (message systme) 1 of 1* "arrowKey" est envoy la carte courante quand une flche est presse (et que la proprit textArrows est "false"). Si le message arrowKeyn' est pas intercept, HyperCard xcute la commande arrowKey. on arrowKey end arrowKey L' expression peut tre "up, down, left, ou right"./arrowKey (command) Qon arrowKey whichKey if the optionKey is down then if whichKey is "left" then go previous card end if else pass arrowKey end if end arrowKeycarrowKey (system message)CARD= ۊJ `31FMessages systme closeBackground 1 of 1 "closeBackground" est envoy la carte courante quand on va une carte dont l' arrire plan est diffrent de celui de la carte courante ou quand on quitte HyperCard. on closeBackground end closeBackground /openBackground closeCard closeStack closeField ccloseBackground`CARDY>ۊJ O13Messages systme closeCard 1 of 1* "closeCard" est envoy la carte courante quand on va une autre carte ou quand on quitte Hypercard. on closeCard end closeCard /openCard closeBackground closeStack closeField ccloseCardCARD? ۊJ f13Messages systme closeField 1 of 1* "closeField" est envoy un champ non verrouill pour le fermer aprs la modification du texte. Le message closeField est envoy seulement si vous avez fait des modifications du texte. on closeField end closeField /openField closeCard closeBackground closeStack ccloseField`CARD@ۊJ 13Messages systme closeStack 1 of 1* "closeStack" est envoy la carte courante quand on ferme une pile en ouvrant une autre pile. on closeStack end closeStack /openStack closeCard closeBackground closeField ccloseStack CARDAۊJLO1G3Messages systme controlKey (message systme) 1 of 1 "controlKey" est envoy la carte courante quand on presse la touche "Control" en mme temps qu'une autre touche. on controlKey end controlKey doit tre un nombre entier de 0 255 qui est gnr par une touche du clavier de l' Apple IIGS.. Cliquer "Tips" pour voir une table des touches et le nombre correspondant. +touche presse avec Nombre pass : "Control" : - 2 (clavier) 0 a 1 b 2 c 3 d 4 e 5 f 6 g 7 h, Flche Gauche 8 i, Tab 9 j, Flche Basse 10 k, Flche Haute 11 l 12 m, Enter, Return 13 n 14 o 15 p 16 q 17 r 18 s 19 t 20 u, Flche Droite 21 v 22 w 23 x, Clear 24 y 25 z 26 Esc, [ 27 \ 28 ] 29 6 (clavier) 30 Tiret (-) 31 Apostrophe (') 39 Asterisque (*) 42 Plus (+) 43 Virgule (,) 44 Moins (-) 45 Point (.) 46 Slash (/) 47 0 48 1 49 2 (Pav numrique) 50 3 51 4 52 5 53 6 (Pav numrique) 54 7 55 8 56 9 57 Point-virgule (;) 59 Egal (=) 61 Tilde (~) 96 Touches de fonction 1 122 2 120 3 99 4 118 5 96 6 97 7 98 8 100 9 101 10 109 11 103 12 111 13 105 14 107 15 113 Delete arrire 117 Delete 127Qon controlKey whichKey if whichKey = 16 then --user typed Control-P: doMenu "Print Card" else pass controlKey end if end controlKey/controlKey (command)ccontrolKey (system message)CARDC ۊJ +O13Messages systme deleteBackground 1 of 1* "deleteBackground" est envoy la carte courante quand son arrire plan doit tre effac. on deleteBackground end deleteBackground /newBackground deleteButton deleteCard deleteField deleteStack cdeleteBackgroundCARDD ۊJ G13Messages systme deleteButton 1 of 1* "deleteButton" est envoy un bouton que vous effacez juste avant qu' il ne soit effac. on deleteButton end deleteButton /newButton deleteBackground deleteCard deleteField deleteStack cdeleteButton`CARDEۊJ 13Messages systme deleteCard 1 of 1* "deleteCard" est envoy une carte que vous effacez, juste avant qu' elle ne soit efface. on deleteCard end deleteCard /newCard deleteBackground deleteButton deleteField deleteStack cdeleteCard`CARDoFۊJ 13Messages systme deleteField 1 of 1* "deleteField" est envoy un champ que vous effacez, juste avant qu' il ne soit effac. on deleteField end deleteField /newField deleteBackground deleteButton deleteCard deleteStack cdeleteFieldCARDGۊJ ;13Messages systme deleteStack 1 of 1* "deleteStack" est envoy la carte courante de la pile que vous tes en train d'effacer, juste avant qu'elle ne soit efface. on deleteStack end deleteStack /newStack deleteBackground deleteButton deleteCard deleteField cdeleteStackCARDHۊJ 13Messages systme doMenu (message systme) 1 of 1 "doMenu" est envoy la carte courante quand vous slectionnez un article du menu. Si le message doMenu n' est pas intercept, HyperCard xcute la commande doMenu. on doMenu end doMenu est le nom de l' article du menu.+Les noms d' articles de Menu doivent tre exacts, incluant les trois points (sans espaces) suivant le nom de l'article qui indiquent une boite de dialogue. Majuscules et minuscules n' ont pas d' importance mais vous devez taper les trois points--ne pas utiliser le raccourci "Option-;"./doMenu (command) Ps Ps cdoMenu (system message)CARDIۊJ 31Messages systme enterInField 1 of 1* "enterInField" est envoy un champ quand vous pressez la touche Enteris sent to a field when you press the Enter key while the insertion point or the selection is in the field. If the enterInField message is not intercepted by a handler and the contents of the field have been changed, HyperCard sends the closeField message. on enterInField end enterInField /enterKey (system message) enterKey (command) Ps Ps centerInFieldCARDJۊJ 13Messages systme enterKey (message systme) 1 of 1* "enterKey" est envoy la carte courante quand vous pressez la touche Enter, sans que le point d' insertion ne soit dans un champ (auquel cas le message est envoy au champ). Si le message enterKey n' est pas intercept , HyperCard xcute la commande enterKey. on enterKey end enterKey /enterKey (command) enterInField centerKey (system message)CARDK ۊJ lO13Messages systme functionKey (message systme) 1 of 1 "functionKey" est envoy la carte courante quand vous pressez une touche de fonction sur un Clavier Apple Etendu. Si le message functionKey n' est pas intercept, HyperCard &xcute la commande functionKey. on functionKey end functionKey est un nombre entier positif de 1 15 qui correspond l' une des touches de fonction. Les touches de fonction de 1 4 sont otujoursprogramme pour Undo, Cut, Copy, et Paste, respectivement.+ La commande "The functionKey" une fonction interne seulemnt pour les touches 1 4. Ces touches activent les commandes "Undo", "Cut", "Copy", et "Paste", respectivement. Vous pouvez modifier les fonction prprogrammes des touches 1 4 par une procdure message functionKey. /functionKey (command) Qon functionKey whichKey if whichKey is 5 then doMenu "New Card" else if whichKey is 6 then choose browse tool else if whichKey is 7 then choose button tool else pass functionKey end if end functionKeycfunctionKey (system message)CARDMۊJ O13Messages systme help (message systme) 1 of 1* "help" est envoy la carte courante quand vous choisissez "Help" du menu "GO" (ou pressez -?). Vous pouvez intercepter ce message pour provoquer votre propre systme d' aide dans votre pile. Si le message "help" n 'est pas intercept, HyperCard xcute la commande help. on help end help /help (command) chelp (system message)CARD ۊJ UO1Messages systme hide (message systme) "hide" est envoy la carte courante quand la barre de menu est visible et que vous pressez -Espace. on hide menubar end hide Ce message est aussi une commande HyperTalk; la commande accepte des paramtres autre que "menubar"./hide (command) 1 of 1chide (system message)CARDN ۊJ 31Messages systme idle 1 of 1* "idle" est envoy de faon rpt la carte courante quand rien ne se passe et que l' outil de navigation est slectionn. on idle end idle +Une procdure "idle" peut interfrer avec la frappe. Par exemple, si vous avez une procdure "idle" qui met un texte dans un champ, elle peut retirer le point d'insertion d' un autre champ dans lequel l' utilisateur est en train de taper. L' exemple d' une telle procdure est : on idle put the time into card field "Time" pass idle end idle Si cette procdure est active pendant que vous tapez dans un autre champ (idle est envoy pendant une pause de la frappe), HyperCard voudra retirer le point d'insertion du champ dans lequel vous tes et vous devrez cliquer dans le champ ou presser Tab pour rcuprer le point d' insertion aprs chaque pause, ce qui serait ennuyeux et pnible. cidleCARDOۊJ i31Messages systme mouseDown 1 of 1* "mouseDown" est envoy un bouton ou un champ verouill quand vous pressez le bouton de la souris et que le pointeur de souris est dans le bouton ou le champ. Quand le pointeur est ailleur le message est envoy la carte courante. on mouseDown end mouseDown +MouseDown n' est pas envoy un champ dfilant quand la souris est clique dans la barre de dfilemen. Vous pouvez envoyer mouseDown un champ non verrouill en pressant la touche "Command" tout en cliquant la souris dans le champ. /mouseUp mouseStillDown cmouseDown`CARDPۊJ 13Messages systme mouseEnter 1 of 1* "mouseEnter" est envoy un bouton ou un champ tant que vous dplacez le pointeur de la souris dans son rectangle. on mouseEnter end mouseEnter /mouseLeave mouseWithin cmouseEnter`CARD Q ۊJ O13Messages systme mouseLeave 1 of 1* "mouseLeave" est envoy un bouton ou un champ tant que vous dplacez le pointeur de la souris en dehors de son rectangle on mouseLeave end mouseLeave /mouseEnter mouseWithin cmouseLeaveCARDR ۊJ ZO13Messages systme mouseStillDown 1 of 1* "mouseStillDown" est envoy de faon rpte un bouton ou un champ verouill tant que vous pressez le bouton de la souris et que son pointeur est dans le bouton ou le champ. Quand le pointeur de la souris est ailleurs, le message est envoy la carte courante. on mouseStillDown end mouseStillDown /mouseDown mouseUp cmouseStillDownCARDpS J l13Messages systme mouseUp 1 of 1* "mouseUp" est envoy un bouton ou un champ verouill quand vous relachez le bouton de la souris et que son pointeur est dans le bouton ou dans le champ. Quand le pointeur de la souris est ailleurs le message est envoy la carte courante on mouseUp end mouseUp + MouseUp n' est pas envoy un champ dfilant quand la souris est clique dans la barre de dfilement. Vous pouvez envoyez mouseUp un champ non verrouill en pressant la touche "Command" tout en cliquant la souris dans le champ./mouseDown mouseStillDown cmouseUpCARDTJ "13Messages systme systmemessages mouseWithin 1 of 1* "mouseWithin" est envoy de faon rpte un bouton ou un champ tant que le pointeur de la souris est dans leur rectangle. on mouseWithin end mouseWithin /mouseEnter mouseLeave cmouseWithinCARDUJ 1O13Messages systme newBackground 1 of 1* "newBackground" est envoy la premire carte d' un nouvel arrire plan ds que l' arrire plan a t cr. on newBackground end newBackground /openBackground deleteBackground newButton newCard newStack cnewBackground@CARDVJ 13Messages systme newButton 1 of 1* "newButton" est envoy un bouton ds que vous le crez. on newButton end newButton /deleteButton newBackground newCard newField newStack cnewButton@CARDDWJ 13Messages systme newCard 1 of 1* "newCard" est envoy une carte ds que vou la creez. on newCard end newCard /openCard deleteCard newBackground newButton newField newStack cnewCard@CARDYJ O13Messages systme newField 1 of 1* "newField" est envoy un champ ds que vous le crez. on newField end newField /openField deleteField newBackground newButton newCard newStack cnewFieldCARDZJ -13Messages systme newStack 1 of 1* "newStack" est envoy la carte courante ( dans ce cas, la prmire carte de la noouvelle pile) ds que la pile a t cre. on newStack end newStack /openStack deleteStack newBackground newButton newCard newField cnewStackCARD[J S13Messages systme openBackground 1 of 1* "openBackground" est envoy la carte courante quand vous allez une carte dont l' arrire plan est diffrent de celui de la carte la plus rcente. on openBackground end openBackground /closeBackground newBackground openCard openField openStack copenBackground@CARDX\J 3Messages systme openCard 1 of 1* "openCard" est envoy une carte quand vous allez cette carte. on openCard end openCard /closeCard newCard openBackground openField openStack copenCardCARD]J 13Messages systme openField 1 of 1* "openField" est envoy un champ non verouill quand il est ouvert popur une modification de texte. Vous ouvrez un champ pour modifier le texte en cliquant dans le champ ou en pressant la touche Tab quand le point d'insertion est dans la champ prcdant. on openField end openField /closeField newField openBackground openCard openStack copenField CARD^J 13Messages systme openStack 1 of 1* "openStack" est envoy quand vous allez une carte dans une pile diffrente de celle de la carte la plus rcente. Dans ce cas, les trois messages suivants seront envoys dans l' ordre la carte courante (la carte dans la pile nouvellement ouverte) : openCard, openBackground, openStack. on openStack end openStack /closeStack newStack openBackground openCard openField copenStack`CARD_J 13Messages systme quit 1 of 1* "quit" est envoy la carte courante quand vous choisissez "Quit HyperCard" dans le File menu (ou pressez -Q), juste avant de quitter HyperCard. on quit end quit /startUp cquit CARD`J O13Messages systme resume 1 of 1* "resume" est envoy la carte courante quand HyperCard continue aprs avoir t suspendu. on resume end resume /suspend cresume CARDJMessages systme returnInField "returnInField" est envoy un champ quand vous pressezla touche Return tant que le point d' insertion ou une slection est dansle champ. Si le message n' est pas intercept, HyperCard envoie un message "tabKey" au champ quand les conditions suivantes sont vraies (True) : la proprit de champ "autoTab" est vraie le champ n' est pas un champ avec scrolling point d' insertion ou slection sont sur la dernire ligne. Autrement, HyperCard insre un return dans le champ. Le message "tabKey",s' il n 'est pas intercept fait que HyperCard place le point d' insertion dans le champ suivant. 1 of 1/returnKey (system message) returnKey (command) creturnInFieldCARDaJ OH13Messages systme returnKey (message systme) 1 of 1* "returnKey" est envoy la carte courante quand vous pressez la touche Return et que le point d' insertion texte n ' est pas dans un champ. Si le message "returnKey" n 'est pas intercept, HyperCard xcute la commande returnKey. on returnKey end returnKey /returnKey (command) returnInField creturnKey (system message)CARDJ SO3Messages systme show (message systme) "show" est envoy la carte courante quand la barre de menu est cache et que vous pressez -Espace. on show menubar end show Ce message est aussi une commande HyperCard; la commande accepte d' autres paramtres que "menubar"./show (command) 1 of 1cshow (system message)@CARDb J 13Messages systme startUp 1 of 1* "startUp" est envoy la premire carte affiche quand Hypercard dmarre. on startUp end startUp /openStack openBackground openCard quit cstartUpCARD}cJ *13Messages systme suspend 1 of 1* "suspend" est envoy la carte courante quand vous chargez une application partir d' HyperCard avec la commande "Open", juste avant que l' application ne soit charge on suspend end suspend /resume csuspendCARDdJ X13Messages systme tabKey (message systme) 1 of 1* "tabKey" est envoy la carte courante quand vous pressez la touche Tab; Si le message tabKey n' est pas intercept, HyperCard xcute la commande tabKey. on tabKey end tabKey + Si le point d' insertion est dans un champ, HyperCard envoie silencieusement le message tabKey. Ainsi, placer la procdure ci-dessous dans le script d' une carte ou d'un fond prviendra l' utilisateur d 'avoir utiliser Tab pour avancer au champ suivant : on tabKey beep end tabKey /tabKey (command) ctabKey (system message)@CARDeJ G3Structures de contrle Les structures de contrle. 1 of 1 Les structures de contrles sont des blocs de dclarations HyperTalk encadrs de mots dfinis (appels mots-cls) qui vous permettent de contrler l' ordres ou les conditions dans lesquels les dclarations seront xcutes. Les procdures sont des structures de contrle. Dans les procdures elles-mmes, les structures "if" et les boucles de rptition sont les structures de contrle les plus communescWhat is a control structure?CARD`fJ *O1G3Structures de contrle do 1 of 1 do "do" indique HyperCard d' valuer et ensuite d' envoyer la valeur comme message la carte courante. Si la valeur contient plus d' une ligne (si, par exemple, elle est le contenu d' un champ), seulement la premire ligne sera envoye. + ne peut tre une fonction ; pour faire "do" un appel une fonction, utiliser la commande get : do "get" && the Qon mouseUp do "play" && quote & "boing" & quote end mouseUpPs Ps cdoCARD J,1Structures de contrle end end end if end repeat "end" marque la fin d' une procdure, d' une structure "if", d' une boucle. Il est atteint quand toutes les instructions de la structure ont t xcutes (sauf certaines instructions conditionnelles qui ont t sautes). Quand l' instruction "end" est atteinte, le contrle passe de la procdure en cours la procdure suivante, retourne d' une fonction la procdure appelante, d' une structure "if" ou une boucle l' instruction suivante de la procdure. 1 of 1cend`CARDggJ O13Structures de contrle exit 1 of 1 exit exit repeat exit to HyperCard Dans une procdure, l' instruction "exit" donne le contle l' instruction "end" qui termine la procdure. Dans une bpucle, l' instruction "exit" termine l' xcution de la boucle sans s' occuper de l' tat de la condition de contrle de la boucle. L' instruction "exit to HyperCard" donne le contrle HyperCard, en sautant toutes les procdures suivre. /on if (single statement) if (multiple statements) repeat Qput 1 into the Message box repeat with increment = 1 to 100 add increment to the Message box if Message box > 20 then beep 5 exit repeat end if end repeat Ps Ps cexit CARDi J O13Control structures function 1 of 1 function [] [return ] end L' instruction "function" marque le dbut d' une fonction. permet une fonction de recevoir les valeurs de la liste partir de la procdure appelante. (HyperCard value chaque segment entre parenthses de l' appel de fonction dans la procdure appelante et assigne ces valeurs comme paramtres quand la fonction est xcute.) +Utilisez l' instruction Return pour que la procdure de fonction retourne une valeur. Si vous n' utilisez pas l'instruction Return, la fonction retournera toujours "empty" comme valeur./return cfunctionCARDBkJ O13Control structures global 1 of 1 global est une liste de nom de variables spars par des virgules. L' instruction "global" indique qu' une variable est valable dans tous les scripts ou objets. Vous devez mettre "global" dans chaque procdure qui utilise la variable globale. Changer la valeur d' une variable globale dans un script la change dans tous les scripts. Cette valeur n' est pas sauvegarde entre deux utilisations d' HyperCard ou quand vous suspendez HyperCard en chargeant une autre application par la commande Open. /Using variables Q-- Voyez comment une variable globale est utilise par -- deux procdures on mouseUp global myVariable -- dclaration de la variable put 3 into myVariable putResult end mouseup on putResult global myVariable put myVariable -- la valeur est toujours de 3 end putResultcglobal`CARDm JO1G3Control structures if (une instruction) 1 of 1 if then [else ] if then [else ] L' instruction "if" teste la condition spcifie et xcute une instruction si la condition est vraie. Si la condition est fausse, le branchement conditionnel "else" est xcut. Dans une structure "if une instruction", vous n' avez pas besoin de mettre l'instruction "end".+La structure "if" peut tre utilise seulement l' intrieur d' une procdure de message ou de fonction./if (multiple statements) Qon simpleIfDemo ask "Entrez un nombre de 1 5" if (it 1) AND (it 5) then beep it else play "boing" end simpleIfDemo cif (single statement)CARDnJ OGControl structures if (instructions multiples) 1 of 2 if then [else ] end if if then [else ] L' instruction "if" teste la condition spcifie et xcute les instruction qui suivent si elle est vraie. Si la condition est fausse le branchement conditionnel est xcut.cif (multiple statements)@CARD'o J1Control structures if (instructions multiples) 2 of 2 A la fin d'une structure "if" instructions multiples, vous devez mettre soit une instruction "end", soit une instruction unique dans le branchement conditionnel "else". @CARDpJ O13Control structures if (instructions emboites) 1 of 2 if then [else if then [else end if L' instruction emboite "if" teste la condition spcifie et xcute les instructions suivantes si la condition est vraie. La forme optionnelle else ifpermet de prvoir un branchement alternatif.+ Les structures "if" ne peuvent tre utilises qu' l'intrieur de procdures de message ou de fonction. Les structures "if" peuvent tre imbriques ; dans ce cas, les instructions suivant un "then" ou un "else" peuvent inclure plus de structures "if". Chaque structure "ifmultiple" imbrique doit avoir son propre "end if", et un "else" suit toujours la fin de la plus rcente clause "if": repeat ask "Guess a number between 1 and 10:" if it is empty then exit repeat else if it is random(10) then put "You guessed it!" else put "Sorry, try again." end if end if end repeat /if (single statement) Qon ifDemo answer "Hello" with "Cancel" or "OK" if it is "OK" then beep flash else if it is "Cancel" then beep end ifDemo cif (nested statements) CARDq J O1Control structures if (instructions emboites) 2 of 2 Puisque chaque branche de la structure "if" peut contenir plus d' une instruction, vous devez mettre une instruction "end" en fin de structure.CARDW J$1Control structures next next repeat L' instruction "next repeat" dans une structure de rptition renvoie au dbut de la structure. Qrepeat 20 put random(9) into tempVar if tempVar mod 2 = 0 then next repeat put tempVar after field "oddNumbers" end repeat 1 of 1cnext`CARDrJ O13Control structures on 1 of 1 on [] end L' instruction "on" marque le dbut d' une procdure. permet de recevoir les valeurs de la liste de paramtres de la procdure appelante. (HyperCard value chaque terme compris entre parenthses aprs le nom de la procdure appelante et transmet ces termes comme valeur de paramtres quand la procdure appele est xcute.)/Looking at scripts Message handlers Ps Ps conCARD=s J 13Control structures pass 1 of 1 pass pass L 'instruction "pass" termine l' xcution de la procdure et envoie le message ou l' appel de fonction qui a dmarr la procdure l' objet suivant suivant la hirarchie. (Ordinairement, un message ou un appel de fonction s'arrte ds qu' il est inercept, il ne remonte pas la hirarchie.) /Message handlers The message-passing order cpassCARD'tJ 2O3Control structures repeat 1 of 1 repeat end repeat L' instructions "repeat marque le dbut d' une structure de rptition qui contient une boucle qui rpte jusqu' ce qu' une instruction "exit soit atteinte. La structure "repeat" doit tre dans une procdure. /repeat for repeat forever repeat until repeat while repeat with exit Qon repeatDemo put 1 into Message box repeat add 1 to Message box wait 10 if Message box contains 6 then exit repeat end repeat beep end repeatDemo crepeatCARDuJ 1O3Control structures repeat for 1 of 1 repeat [for] [times] end repeat Avec la forme "repeat for" la boucle rpte un nombre de fois spcifi. Si la structure de rptition a une instruction "exit", HyperCard sort de la boucle et xcute la premire instruction suivant l' instruction "end repeat". Si la structure a une instruction "next repeat", l' xcution repart au dbut de la boucle./repeat repeat until repeat while repeat with exit Qon repeatForDemo put 1 into Message box repeat for 5 add 1 to Message box wait 10 end repeat beep end repeatForDemocrepeat forCARDa J `1OControl structures repeat forever repeat [forever] end repeat Avec la forme "repeat forever" la boucle se rpte indfiniment. Si la structure de rptition a une instruction "exit", HyperCard sort de la boucle et xcute la premire instruction suivant l' instruction "end repeat". Si la structure a une instruction "next repeat", l' xcution repart au dbut de la boucle.Qon repeatForeverDemo put 1 into Message box repeat forever add 1 to Message box if Message box contains 6 then exit repeat end repeat end repeatForeverDemo 1 of 1crepeat forever@CARDv J 13Control structures repeat until 1 of 1 repeat until end repeat Avec la forme "repeat until" la boucle rpte jusqu' ce que la condition soit fausse. La conditipn est teste en priorit chaque itration de la boucle. Si la structure de rptition a une instruction "exit", HyperCard sort de la boucle et xcute la premire instruction suivant l' instruction "end repeat". Si la structure a une instruction "next repeat", l' xcution repart au dbut de la boucle./repeat repeat for repeat while repeat with exit Qon repeatUntilDemo put 1 into Message box repeat until (Message box contient 6) add 1 to Message box wait 10 end repeat beep end repeatUntilDemo crepeat until@CARD}x J 1O3Control structures repeat while 1 of 1 repeat while end repeat Avec la forme "repeat while", la boucle rpte tant que la conditon est vraie. La condition est teste en priorit chaque itration de la boucle. Si la structure de rptition a une instruction "exit", HyperCard sort de la boucle et xcute la premire instruction suivant l' instruction "end repeat". Si la structure a une instruction "next repeat", l' xcution repart au dbut de la boucle. /repeat repeat for repeat until repeat with exit Qon repeatWhileDemo put 1 into Message box repeat while (Message box < 6) add 1 to Message box wait 10 end repeat beep end repeatWhileDemo crepeat whileCARDzJ 3Control structures repeat with 1 of 2* repeat with = to end repeat repeat with = down to end repeat est un nombre entier positif gal la valeur de dpart de la variable, et est un nombre entier positif gal la valeur d' arrive de la variable./repeat repeat for repeat until repeat while exit Qon repeatWithDemo repeat with i = 1 to 6 put i into Message box wait 10 end repeat beep repeat with i = 6 down to 1 put i i !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ nto Message box wait 10 end repeat beep end repeatWithDemo crepeat with`CARD{JOControl structures repeat with 2 of 2 Avec la forme "repeat with", la boucle rpte tant qu' une variable n' est pas gal une valeur spcifie. La variable est automatiquement incrmente ou dcrmente selon la forme utilise. Si la structure de rptition a une instruction "exit", HyperCard sort de la boucle et xcute la premire instruction suivant l' instruction "end repeat". Si la structure a une instruction "next repeat", l' xcution repart au dbut de la boucle et la variable est incrmente ou dcrmente.CARD`| J XO13Control structures return 1 of 1 return L' intruction "return" termine l' xcution de la procdure et, dans les procdures de fonction, retourne la valeur de la procdure appelante. Si une instruction "return" apparait dans une procdure, la valeur d' est place dans "the result" (une fonction HyperTalk). La valeur de "the result" est valide seulement immdiatement aprs l' xcution de l' instruction "return" ; chaque nouvelle instruction remet zro la valeur de "the result". /function +Si vous n' utilisez pas l' instuction "return" dans une procdure de fonction, la fonction retournera toujours "empty" comme valeur.Qput square (2) into fld 1 --appelle la fonction "carr" function square x return x * x --retourne 4 dans fld 1 end squarecreturnCARD ~ J bO13Control structures send 1 of 1 send ]> [to ] send ]> to HyperCard L' instruction "send" envoie un message directement l' objet spcifi, cour-circuitant toutes les procdures susceptibles de l' intercepter dans l' ordre hirarchique de passage des objets. Vous pouvez envoyer un message directement n' importe quel objet dans la pile courante, HyperCard lui-mme, ou une autre pile (mais pas un objet spcifique dans une autre pile.)+Si aucun objet n' est spcifi, HyperCard est l' objet destination. Si l' objet n' a pas de procdure traitant le message, le message est envoy tout au long de la hirarchie de transmision, en dmarrant de l' objet qui a t envoy le message. Si l' objet possde une procdure de traitement, la procdure s' xcute. HyperCard reste sur la carte courante mme si l' objet cible est sur une autre carte. Les messages envoys par les instructions de la procdure de l' objet cible sont envoys au long de la hirarchie de transmission en dmarrant de cet objet. Les paramtres des expressions sont values avant qu'elles soient envoyes, mme si le message est entirement inclus entre guillemets Contrairement aux autres structures de contrle, vous pouvez utiliser l' instruction "send" dans la boite de messages pour envoyer un message des objets spcifiques. /Message handlers The message-passing order Qsend "hideIt" to field 3 send "addSums travel,food,hotel" to stack "expenseAccount" send "mouseUp" to button "pushMe" send "doMenu print card" to HyperCardcsend CARDF4J L3O1Commandes Qu' est-ce qu' une commande? 1 of 1 Les commandes sont des messages qui font qu' HyperCard produit une action. HyperCard rpond aux commandes selon les procdures internes appropries. Vous pouvez redfinir une commande en l' interceptant dans la hirarchie de passage des objet avant que celle-ci atteigne HyperCard. Vous pouvez dfinir vos propres commandes en ayant une procdure qui envoie un message une autre procdure plus haute dans la hirarchie (ou plus loin dans le mme script). Vous pouvez galement envoyer le message (le mme que celui produisant la commande) travers la "Message box"./The message-passing order Ps Ps cWhat is a command?CARD3J ]LO13Commandes add 1 of 1 add to [ of] ou doit tre numrique. La commande "add" ajoute la valeur de la valeur numrique du registre ou de la sous-chaine spcifis et laisse le rsultat dans le registre. /subtract Arithmetic operators Qadd 3 to It add field "Amount" to field "Total" on sumField whichField put 0 into total repeat with count = 1 to the number of lines in whichField add line count of whichField to total end repeat put total into msg end sumFieldPs Ps caddCARD4J MO13Commandes answer 1 of 2 answer answer with answer with [or [or ]] answer file [] [of type ] L' expression doit tre le nom des boutons apparissant dans la boite de dialogue posant la question. L' expression doit tre une de celles qui suit : stack, text, application, ou paint (ou un autre type de fichier). La commande "answer" affiche comme message dans une boite de dialogue contenant jusqu' trois boutons, chacun permettant une reprise. Le dernier nom de bouton que vous spcifiez est le bouton par dfaut.+Un script ne peut rpondre une boite de dialogue, aussi est-il important qu' un script s' xcutant sans intervention humaine n' utilise pas la commande "answer". Si la question et la rponse contiennent des espaces, mettez les entre guillemets ( moins d' utiliser des noms de registres). La commande "answer" dimenssionne automatiquement la boite de dialogue en accord avec la longueur de votre message, qui ne peut excder 255 caractres (plus de 6 lignes)./ask Qanswer "Are you sure?" with "OK" or "Cancel" answer myQuestion with myAnswer or field 7 answer file "Pick a text file:" of type text answer file "" of type paint on answerDemo answer "Which color do you prefer?" with "Red" or "Blue" or "Yellow" if It is "Red" then answer "You picked Red." else if It is "Blue" then answer "You picked Blue." else if It is "Yellow" then answer "You picked Yellow." end if end answerDemo Ps Ps canswerCARD4JO1Commandes answer 2 of 2 Si vous ne spcifiez aucun nom de bouton, la boite affiche un bouton "OK". La boite de dialoge"answer" reste sur l' cran jusqu' ce vous cliquiez l' un des boutons ou pressiez la touche "Reyturn" ou "Enter". La forme answer file affiche une boite de dialogue "standard file". Vous pouvez utiliser la forme of type pour dire HyperCard quel type de fichier doit tre affich dans la boite de dialogue. Vous pouvez galement afficher un curseur en utilisant l' expression . Le nom de bouton cliqu ou le fichier slectionn est mis dans la variable locale "It".Ps Ps CARD4JfO1G3Commandes arrowKey (commande) 1 of 1* arrowKey La commande "arrowKey" est similaire la commande "Go", puisqu 'elle vous permet de naviguer travers les cartes : arrowKey left = aller la carte prcdente arrowKey right = aller la carte suivante arrowKey up = aller en avant travers les cartes rcentes arrowKey down = aller en arrire travers les cartes rcentes+arrowKey est aussi un message systme anvoy par HyperCard quand vous pressez l' une des touches fches. Si le message "arrowKey" n' est pas intercept, HyperCard xcute la commande "arrowKey". La proprit "textArrows" modifie l' effet de la pression d' une touche flche, mais elle n' affecte pas la commande "arrowKey". /arrowKey (system message) Ps Ps carrowKey (command)CARD JSOF13Commandes ask 1 of 2* ask [with ] ask password [with ] ask file [with ] - La commande "ask " affiche comme question dans une boite de dialogue ainsi qu' une fentre de texte o vous pouvez taper une rponse. ne peut xcder 253 caractres. Si vous utilisez la forme with text, apparait dans la fentre de texte comme rponse par dfaut - La forme ask password crypte la rponse comme nombre - La forme ask file permet d' inclure un curseur pour le nom du fichier et son chemin. apparait comme dfaut.. +Avec la forme "ask password", vous pouvez stocker la rponse cripte dans un champ pour ensuite le comparer plus tard une rponse la commande "ask password" si, par exemple, vous dsirez protger les donnes que vous introduisez dans une pile. La protection par mot de passe qui utilise la commande "ask password" n' est pas la mme que celle apporte par la commande de menu "Protect Stack". A moins d' utiliser des noms de registres, mettre la question et la rponse par dfaut entre guillemets s' il contiennent quelque espace (ou si, comme dans le script exemple, ce sont des numro de tlphone contenant un tiret pour empcher HyperCard de faire la soustraction). /answer Qask "Who needs this kind of grief?" with "Not me." ask field 1 with line 1 of field 2 ask password "Please enter your password:" ask file "Save as:" with "Yo" on askDemo ask "Dial what number:" with "555-1212" if It is not empty then dial It end askDemo caskCARDJhOCommandes ask 2 of 2 La boite de dialogue "ask" reste affiche jusqu' ce que vous cliquiez un de ses boutons ou pressiez la touche "Return" ou "Enter" (ce qui a le mme effet que cliquer "OK"). La commande "ask"retourne le contenu de la fentre de texte dans la variable locale "It", moins que vous ne cliquiez le bouton "Cancel".CARD J WO13Commandes beep 1 of 1 beep beep La commande "beep" provoque un bip de l' Apple IIGS. Si vous spcifiez un nombre entier positif, il "Bipe" autant de fois.Qbeep 3 beep (number of lines of fld 1) on mouseUp beep 2 -- beep pour avertir de l' ouverture du dialogue answer "Hello" end mouseUp cbeepCARDJ JO13Commandes choose 1 of 1 choose tool choose tool L' expression est un nombre de 1 18 qui reprsente un outil. Cliquez Tips pour voir une table de nom d' outils et leur numro correspondant. La commande "choose" slectionne un outil dans la palette d' outil.+1 browse (navigatiopn) 2 button (bouton) 3 field (champs) 4 select (selection) 5 lasso 6 pencil (crayon) 7 brush (pinceau) 8 eraser (gomme) 9 line (ligne) 10 spray tool (pulvrisateur) 11 rectangle 12 round rectangle (rectangle arrondi) 13 bucket (pot de peinture) 14 oval (ovale) 15 curve (courbe) 16 text (texte) 17 regular polygon (polygne rgulier) 18 polygon (polygne) Qchoose browse tool choose button tool choose field tool choose eraser tool choose tool 15 choose tool 3 on drawBox set cursor to watch reset paint show card picture choose rectangle tool set lineSize to 2 drag from 10,59 to 100,117 wait 2 second doMenu "Revert" hide cd pict choose browse tool end drawBox cchooseCARDJ cO13Commandes click 1 of 1* click at click at with click at with , click at with , , L' expression correspond deux nombres, spars par une virgule, reprsentant les coordonnes verticales et horizontales. L' expression doit tre l' une des suivantes : shiftKey, optionKey, and commandKey. La commande "click" vous permet de cliquer la souris de l' intrieur de vos scripts. elle envoie les mmes messages que si vou cliquiez manuellement le bouton de la souris. +Si le style du champ est dfilement, HyperCard fera galement dfiler le texte vers le haut ou le bas si le pointeur de souris est dans la barre de dfilement. Vous pouvez slectionner un mot par un double clic dessus (ce qui s' xcute en cliquant deux fois successives l' emplacement du mot) You can select any string of text by clicking at the beginning and then clicking with shiftKey at the end of the string. The pixel offset values of are not restricted to the size of the screen, but are misinterpreted if greater than 32767. /drag Qclick at 100,100 click at the loc of button "Press me" with optionKey --Cette procdure slectionne et afffiche un mot d' un --champ verrouill quand vous cliquez le mot (mouseUp --n' est pas envoy pour dverrouiller les champs quand --vous cliquez dessus) : on mouseUp set lockText of me to false click at the clickLoc click at the clickLoc get the selection put It into the Message box set lockText of me to true end mouseUpcclickCARD J (13Commandes close file 1 of 1 close file La commande "close file" ferme un fichier sur disque prcdemment ouvert par la commande "Open file". Habituellement, vous ouvrez un fichier pour exporter ou importer unfichier texte ASCII. Toujours utiliser explicitement la commande "Close file" aprs avoir utilis un fichier. (HyperCard ferme automatiquement tous les fichiers quand une commande "exit to HyperCard" est xcute, quand vous pressez " -point", ou quand vous quittez HyperCard.) /open file cclose fileCARDb J xO13Commandes close printing 1 of 1 close printing La commande "Close printing" termine une tche d' impression prcdemment commence par une commande "Open printing"./open printing Q--L' exemple suivant est une procdure xcutant une --tche d'impression. Elle imprime un nombre spcifi de --cartes, en commanant par la carte spcifie : on printRange low,high push card open printing go to card low print (high-low) + 1 cards close printing pop card end printRange+N' utilisez pas les commandes "open printing" et "close printing" quand vous dsirez imprimer les cartes d' une pile verrouille qui montre certains objets qui sont normalement cachs (par exemple, un champ qui apparait quand vous cliquez un bouton). A la place, votre procdure doit aller chaque carte et utiliser la commande "print card". cclose printing@CARDє J O13Commandes controlKey (commande) 1 of 1 controlKey est un nombre entier positif entre 0 to 255 qui est gnr par une touche du clavier de l'Apple IIGS. Cliquez "Tips" pour voir une table des touches et de leur code numrique. La commande "controlKey" passe le paramtre , qui reprsente la touche presse en combinaison avec la touche "control".+Comme controlKey est galement un message systme envoy la carte courante, vous devez intercepter le message par une procdure quelque part dans la hirarchie de transmission entre la carte courante et Hypercard. Key pressed with Number passed: Control key: 2 (Keyboard) 0 a 1 b 2 c 3 d 4 e 5 f 6 g 7 h, Left Arrow 8 i, Tab 9 j, Down Arrow 10 k, Up Arrow 11 l 12 m, Enter, Return 13 n 14 o 15 p 16 q 17 r 18 s 19 t 20 u, Right Arrow 21 v 22 w 23 x, Clear 24 y 25 z 26 Esc, [ 27 \ 28 ] 29 6 (Keyboard) 30 Hyphen (-) 31 Single quotation Mark (') 39 Asterisk (*) 42 Plus (+) 43 Comma (,) 44 Minus (-) 45 Period (.) 46 Slash (/) 47 0 48 1 49 2 (Keypad) 50 3 51 4 52 5 53 6 (Keypad) 54 7 55 8 56 9 57 Semicolon (;) 59 Equal (=) 61 Tilde (~) 96 Function Keys 1 122 2 120 3 99 4 118 5 96 6 97 7 98 8 100 9 101 10 109 11 103 12 111 13 105 14 107 15 113 Forward Delete 117 Delete 127/controlKey (system message) Q-- La procdure ci-dessous utilise la commande --"controlKey" pour imprimer la carte courante avec la --combinaison de touches Control-P on controlKey whichKey if whichKey = 16 then doMenu "Print Card" exit controlKey end if pass controlKey end controlKeyccontrolKey (command)`CARDEJ O31Commandes convert 1 of 1 convert [ of] to convert [ of] to and La commande "convert" change, dans une sous-chaine ou un registre spcifi, une date ou une heure dans le format spcifi par . Vous pouvez utiliser la seconde forme pour convertir ensemble une date et une heure. Cliquez "Tips" pour voir une liste des formats. +Conversion de formats (pour 10/23/89, 12:57 PM) long date Monday, October 23, 1989 abbrev date Mon, Oct 23, 1989 short date 10/23/89 long time 12:57:00 PM short time 12:57 PM abbrev time 12:57 PM seconds 2707995420 (Secondes depuis minuit, le 1er Janvier 1904) dateItems 1989,10,23,12,57,0,2 (Une liste de nombres reprsentant : l 'anne, le mois, le jour, l' heure, la minute, la seconde et le jour de la semaine)Q--Cette procdure compte les secondes coules pendant qu' une commande dans la boite de messages s' xcute : on mouseUp put the long time into startTime convert startTime to seconds if the message box is not empty then do msg put the long time into endTime convert endTime to seconds answer "Cel a pris" && endTime - startTime && "secondes." end mouseUp on convertDemo put empty into theText put the date into theDate ask "Entrez votre jour anniversaire(Mois/Jour/Anne):" if it is empty then exit convertDemo convert it to seconds convert theDate to seconds put (theDate - it)/ (60 * 60 * 24) into N put N div 365 into y put (N mod 365) div 7 into w put ((N mod 365) mod 7) into d answer "Il s' est pass" && N && "depuis votre anniversaire. Vous avez" && y && "ans," && w && "semaines, et" && d && "jours." end convertDemoPs Ps cconvert CARD J1OCommandes create stack create stack [with ] L' expression est un descripteur valide de fond. La commande "create stack" cre une nouvelle pile avec le nom que vous avez spcifi et optionellement le fond que vous avez galement spcifi. Si vous ne spcifiez pas le fond, la pile est cre avec un fond vide. Qcreate stack "Ghosts" with this background create stack "Hay" with bkgnd id 1788 1 of 1ccreate stackCARD4J ~O31Commandes delete 1 of 1 delete [of ] La commande "delete" vous permet de suprimer le texte d' un registre.+L' utilisation de la commande "delete n' est pas la mme que celle de "put empty into" la mme chaine ou texte spcifi. Par exemple, si vous "delete" une ligne avec une instruction telle que : delete line 4 of field 7 Vous effacez le caractre Return en mme temps que le texte ; ce qui contituait la cinquime ligne devient la quatrime. L' intruction ci-dessous laisse le caractre Return de la ligne 4 : put empty into line 4 of field 7 "Delete" ne supprime pas le champ lui-mme. Si vous effacez tout le texte d' un champ, le champ reste dfini sur la carte ou le fond. Pour effacer un champ, slectionnez le (en utilisant la commande "select") et ensuite appelez la commande : doMenu "Cut Field" ou doMenu "Clear Field". Quand vous effacez un texte sur une carte autre que la carte courante, la carte courante n' est pas modifie. Qdelete line 1 of field 1 delete char 1 to 5 of line 4 of field "Charlie" of second card on zapaName put "Spragens" & return & "Kamins" & return & "Bond" into list answer "Effacer quel nom de la liste ?" & return & list with "1" or "2" or "3" delete line it of list answer "La nouvelle liste est :" & return & list end zapaName Ps Ps cdeleteCARD=JOCommandes delete stack delete [stack] La commande "delete stack" efface la pile spcifie. - Vous ne pouvez pas effacer la pile "Home" avec la commande "delete stack"). - Aucune boite de dialogue n' apparait vous demandant de confirmer la commande "delete". 1 of 1Qdelete stack ":HardDisk:Inventory:Plates" delete ":myDisk:myFolder:myStack"cdelete stack`CARD4J O31Commandes dial 1 of 1 dial dial with modem [] La commande "dial" gnre des frquences vocales dans le haut-parleur de l' Apple IIGS. Pour qu' HyperCard fasse l'appel tlphonique vous devez dcrocher le combin ou utiliser un priphrique qui transmette la sortie audio de l'Apple IIGS au tlphone. La forme with modem utilise les appels utiliss par l' Apple Modem 300/1200, l' Apple Personal Modem, ou un modem compatible Hayes branchs sur le port srie. Voir le manuel de votre modem pour les commandes valides. +Si reprsente un numro comportant un tiret (tel que 35-55-XX-XX), vous devez le mettre entre guillemets pour empcher Hypercard de faire d' abord la soustraction (puisque pour HyperCard le tiret est la marque de la soustraction). Pour HyperCard, la commande dial 555- 1212 devient dial -667 Tapez dial "555-1212" ainsi. La forme dial with modem est quivalente : dial with modem "ATS0=0DT" Qdial "415-555-1212" dial "407-996-1010" with modem "ATS0=0S7=1DT" dial "407-973-6000" with modem -- si charlie est une variable contenant un numro : dial charlie Ps Ps cdialCARD4J O13Commandes divide 1 of 1 divide [ of] by La commande "divide" divise le nombre dans le registre ou la sous-chaine par et met le rsultat dans le registre. Le registre ou la sous-chaine divent contenir un nombre. Diviser par 0 place INF (pour infini) dans la sous-chaine ou le registre. La division est xcute jusqu' 19 dcimales./numberFormat multiply Arithmetic operators Qdivide field "total" by 3 -- si farenheit et celsius sont des variables : divide farenheit by celsius on percent ask "Entrez le premier nombre:" if it is empty then exit percent put it into num1a put it into num1b ask "Entrez le second nombre:" if it is empty then exit percent put it into num2 divide num1a by num2 --le rsultat est dans num1a answer num1b && "est" && trunc(num1a * 100) & "%" && "de" && num2 end percent Ps Ps cdivideCARD4J O13Commandes doMenu (commande) 1 of 1 doMenu La commande "doMenu" xcute la commande de menu spcifie par comme si vous l' aviez choisie manuellement partir du menu d' HyperCard. +La commande spcifie ET le menu doivent tre compatibles avec le niveau d' intervention courant de l'utilisateur (userLevel). S' il y a des points qui suivent le nom de la commande du menu, vous devez les indiquer dans menuItem (vous ne pouvez utiliser le caractre de raccourci). Quelques commandes de menu sont modifies sous conditions (par exemple, Paste Card peut se cahnger en Paste button, selon le contenu du presse-papier). Ne vous enfermez pas dehors : Si vous crivez une procdure qui intercepte la commande doMenu, n' oubliez pas de passer le message avec la commande pass. Autrement, vous pouvez vous retrouver apparemmant dans l' impossibilit d' utiliser une commande de menu, de corriger la procdure doMenu ou de quiter HyperCard. Dans ce cas, vous pouvez encore accder au script contenant la procdure doMenu par les raccourcis clavier./doMenu (system message) QdoMenu "open stack..." doMenu thisCommand -- thisCommand est une variable --contenant une commande Menu doMenu "Control Panel"Ps Ps cdoMenu (command)CARDΞ J sO13Commandes drag 1 of 1 drag from to drag from to with drag from to with , drag from to with , , Les expressions sont les coordonnes du dbut et de la fin du dplacement. Les expressions sont le nom des touches "shiftKey", "optionKey", et "commandKey". La commande "drag" a le mme effet que "draguer" l' aide de la souris, sauf qu' il faut utiliser la touche Majuscule pour slectionner le texte dans un champ. Utiliser la forme with a le mme rsultat tant que vous pressez la touche spcifie. +Vous pouvez utiliser la commande "drag" avec n' importe quel outil slectionn, mais elle n' a pas d' effet avec certains outils de dessin. L' emplacement du pointeur de souris actuel ne change pas de place avant que la commande ne soit termine./dragSpeed Qdrag from 100,100 to 180,180 drag from the loc of button 1 to the mouseLoc with commandKey, shiftKey on dragDemo choose oval tool show card picture set filled to true answer "Cliquez pour arrter le dessin." repeat until the mouseclick set pattern to random(32) drag from random(320),random(200) to random(320),random(200) end repeat wait 1 second doMenu "Revert" choose browse tool hide card picture end dragDemo cdrag`CARD~ J O31Commandes edit script 1 of 1 edit script of La commande "edit script" ouvre le script de l' objet spcifi avec l' editeur de script d' HyperCard comme si vous aviez cliqu sur le bouton "Script" de la boite de dialogue "Info". Si la commande "edit script" provient d' un script, l'ʎxcution de la procdure courante est suspendue jusqu' ce que la boite de dialogue de l' diteur de script soit ferme.Qedit script of button 1 edit script of this stack --L' exemple de procdure ci-dessous vous permet --d'ʎditer le script d'un bouton de champ en --positionnantle pointeur de souris dessus et en --pressant la touche Option: on mouseWithin if the optionKey is down then edit script of the target end mouseWithincedit scriptCARDJ O13Commandes enterKey (commande) 1 of 1 enterKey La commande "enterKey" envoie le contenu de la boite de Message la carte courante, sauf si un champ est ouvert pour diter du texte; dans ce cas, "enterKey" ferme le champ. Le message "enterKey", qui fait appel la commande "enterKey" s 'il parvient HyperCard, est normalement envoy en pressant la touche Enter du clavier, mais vous pouvez l' envoyer du sein d' une procdure avec cette commande. /enterKey (system message) enterInField Ps Ps centerKey (command)@CARD J 1OCommandes export paint export paint to file L' expression est un nom de fichier valide. La commande "export paint" cre un fichier "Paint" contenant l 'image de la carte courante ou du fond et le sauvegarde avec le nom spcifi.Qexport paint to file Biz.Card 1 of 1+Si une erreur survient pendant l' xcution d' une commande "export paint", l' erreur est stocke dans "the result" (une fonction d' HyperTalk)./import paint cexport paint CARD>J OG13Commandes find 1 of 3 find [in ] find chars [in ] find word [in ] find whole [in ] find string [in ] La commande "find" recherche une chaine de texte dans tous les champs de carte ou de fond (visibles ou non) de la pile courante. Si vous utilisez l' option in field, vous pouvez restreindre la recherche un champ de fond particulier. (Vous ne pouvez pas restreindre la recherche un champ de carte particulier.) +La recherche commence par la carte courante et se continue vers la dernire carte de la pile, puis de la premire jusqu' la carte prcdant la carte courante. Choisir "find" dans le menu Edit (ou presser -F) met la commande "find" dans la boite de messages, suivie du point d' insertion de texte entre guillemets. Utilisez au moins trois caractres : La commande "find" s' xcute plus vite si vous utilisez autant de combinaisons de trois caractres qu' il est possible dans la chaine rechercher. Ainsi, avec trois caractres c' est rapide, avec six c' est plus rapide qu'avec trois, avec neuf c' est plus rapide qu' avec six et ainsi de suite. La commande "find" ne distingue pas les majuscules des minuscules, ni la prsence ou l' absence d' accents : apple Cmpter, apple computr, et Apple Computer sont pour elle la mme chose. /foundChunk foundField foundLine foundText Qfind chars "Wild" in field 1 find word "Yeti" in second field --Utilisation de find whole pour trouver des phrases find whole "lets you search for a specific" find whole "Kevin Knabe" in field "name" find whole currentFindVar find whole fld "title" in fld "index" --Utilisation de find string find string "ets you search for a spec" find string lastName find string char 1 to 4 of the short name of this card --L' exemple de procdure ci-dessous sollicite --l'utilisateur pour avoir un critre de recherche puis --xcute la commande "find" : on doMenu whichCommand global findString if whichCommand is "Find..." then ask "Trouver quel texte:" with findString if it is empty then exit doMenu put it into findString answer "Comparer" && findString && "comment:" with "Caractres" or "Mot" or "Tout" if it is "Caractres" then find chars findString else if it is "Mot" then find word findString else find findString end if else pass doMenu end doMenu on findDemo --Premirement, trouver une chaine continue, incluant --les espaces sparant des mots tronqus : find string "ind a contig" in background field "Demo Script" wait 4 seconds --ensuite, trouver une prase : find whole "find a phrase" in bg fld "Demo Script" wait 4 seconds end findDemo Ps Ps cfindCARDE JO1Commandes find 2 of 3 "Find, find chars, et find word" traitent chaque mot de la chaine recherche comme une recherche spare. Par exemple: find "this command", est trait comme : chercher "this" et chercher "command". La recherche est positive si HyperCard trouve tous les mots de la chaine quelque part dans la carte (ou dans le champ spcifi). Les mots n' ont pas besoin d' tre dans l'ordre. "Find whole et find string" traitent les espaces comme faisant partie de la chaine rechercher. Par exemple : find whole "this command", ne sera positive que si HyperCard trouve cette chaine exacte, incluant l' espace. L les mots doivent apparaitre dans l' ordre. @CARDݦJ1OCommandes find 3 of 3 Quant la commande "find" aboutit, HyperCard entoure le texte trouv (ou une partie du texte) et met la fonction "result" zro. Quand "find" choue, HyperCard met la chaine "not found" dans la fonction "result". CARDϪ J RO13Commandes functionKey (commande) 1 of 1 functionKey L' expression est un nombre de 1 15 qui correspond une des touches de fonction (la range suprieure de touches sur un clavier Apple tendu). Les touches de fonction de 1 4 sont toujours programmes pour Undo, Cut, Copy, et Paste, respectivement./functionKey (system message) QfunctionKey 1 functionKey 15 --L' exemple de procdure suivante utilise la commande --"functionKey" pour utiliser le message "undo" comme --commande : on undo functionKey 1 end undocfunctionKey (command)CARDJ [O13Commandes get 1 of 1 get La commande "get" met la valeur d' dans la variable locale It. get a le mme effet que : put into It/put Qget the long name of field 1 get the location of button "newButton" get 2+3 -- puts 5 into It get the datecgetCARDA J I1Commandes go 1 of 1 go [to] go [to] [of ] go [to] [of ] [of ] La commande "go" a toujours trait une carte. Si vous nommez une pile (ou un fond) sans spcifier une carte, vous irez la premire carte de la pile (ou fond). Vous pouvez spcifier un effet visuel l' ouverture de la carte en utilisant la commande d' effet visuel avant d' utiliser la commande "go".Q--aller une autre pile: go stack "Address" go "Address" go to background 1 of stack "Address" go card 4 of background 1 of stack "Address" --utilisation du chemin complet: go ":hd:bigFolder:innerFolder:myStack" --aller un autre fond : go background 1 go background id 23039 go next background --aller une autre carte : go card 4 go card id 23405 go first card go next card --aller une autre pile, mais sauter le dialogue si elle --n' est pas trouve : go to stack "Home" without dialog go to bkgnd 2 of stack "Address" without dialog go card 1 of bg 2 of stack "Address" without dialog on randomDemo --Aller une carte allatoire et revenir: set cursor to watch send "mouseUp" to bg btn "OK" push card visual effect dissolve to black go any card in this background wait 1 second pop card send "mouseUp" to bg btn "Demo Script" end randomDemo /visual cgoCARDJ O13Commandes help (commande) 1 of 1 help La commande "help" vous mne la premire carte de la pile "HyperCard Help". /help (system message) chelp (command)CARD4J YO13Commandes hide (commande) 1 of 1 hide menuBar hide hide