home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / Bonus / WSTAR2 / DISK4 / CHARMAP.WM_ / CHARMAP.bin
Text File  |  1994-02-28  |  15KB  |  370 lines

  1. REM Description:  Runs the Character Map application
  2. REM Filename:  charmap.wmc
  3. REM Created by:  Steven Wylie - 11/08/93
  4. REM Updated by:  Rich Zuris - 1/19/94
  5.  
  6. DECLARE FUNCTION FindWindow             LIB "user" (classname AS INTEGER, title AS STRING) AS WORD
  7. DECLARE FUNCTION SetFocus                LIB "user" (hwnd AS WORD) AS WORD
  8. DECLARE FUNCTION GetActiveWindow        LIB "user" () AS WORD
  9. DECLARE FUNCTION WinExec                LIB "kernel" (path AS STRING, show AS WORD) AS WORD
  10. DECLARE FUNCTION SendMessage             LIB "user" (hwnd AS WORD, msg AS WORD, wParam AS WORD, lParam AS INTEGER) AS INTEGER
  11. DECLARE FUNCTION MessageBox            LIB "user" (hwnd AS WORD, msg AS STRING, title AS STRING, style AS WORD) AS WORD
  12. DECLARE FUNCTION OpenClipboard            LIB "user" (hwnd AS WORD) AS WORD
  13. DECLARE FUNCTION EmptyClipboard        LIB "user" () AS WORD
  14. DECLARE FUNCTION CloseClipboard        LIB "user" () AS WORD 
  15.  
  16. REM Can't run if no document open
  17. IF GetDocName$() = "" THEN
  18.     MESSAGE "Please create a new document or open an existing document first."
  19.     STOP
  20. ENDIF
  21.  
  22. REM Can't run in a graphic or table frame
  23. frameType% = GetFrameType()
  24. IF frameType% <> 0 THEN
  25.     Message "The current frame must be a text frame."
  26.     STOP
  27. ENDIF
  28.  
  29. REM Can't run in frame mode
  30. ret% = ViewEditMode(1)
  31. IF ret% = 2 THEN
  32.     ret% = ViewEditMode(2)
  33.     BEEP
  34.     STOP
  35. ENDIF
  36.  
  37. REM Store off WSWin active window
  38. wswin% = W2I(GetActiveWindow())
  39.  
  40. 'Clear clipboard in order to test later whether content has changed
  41. IF OpenClipboard(I2W(wswin%)) <> 0 THEN
  42.     ret% = EmptyClipboard()
  43.     ret% = CloseClipboard()
  44. END IF
  45.  
  46. REM Load Character Map if not loaded already
  47. charmap% = W2I(FindWindow(0, "Character Map"))
  48. IF charmap% = 0 THEN
  49.     err% = WinExec("CHARMAP.EXE", I2W(1))
  50.     IF err% < 0 THEN err% = err% * -1
  51.     IF err% < 33 THEN
  52.         Message("Couldn't run Character Map.")
  53.         STOP
  54.     ENDIF
  55.     charmap% = W2I(FindWindow(0, "Character Map"))
  56. ENDIF
  57.  
  58. ret% = SetFocus(I2W(charmap%))
  59.  
  60. title$ = "Running Character Map..."
  61. msg$ = "Select the characters you want from the Character Map application and choose the Copy button. "
  62. msg$ = msg$ + "Press OK to paste the characters into your document."
  63.  
  64. ret% = MessageBox(I2W(0), msg$, title$, I2W(1))
  65.  
  66. IF ret% = 2 THEN STOP
  67.  
  68. ret% = GetClipboardText(newClip$)
  69. REM If clipboard content hasn't changed, nothing was copied from Charmap.
  70. IF newClip$ = "" THEN
  71.     title$ = "WSWin 2.0"
  72.     msg$ = "You must use the Copy button on the Character Map window to copy the selected characters to the clipboard. Please run the macro again."
  73.     ret% = MessageBox(I2W(0), msg$, title$, I2W(0))
  74.     SetFocus(I2W(wswin%))
  75.     STOP
  76. ELSE
  77.     REM Get the current character map font.  Note:  You may have to change "MSCharMap" to 
  78.     REM something else if the INI file section in WIN.INI changes with a later release of 
  79.     REM Windows.
  80.     
  81.     REM We have to close Character Map to update the font entry in WIN.INI.
  82.     charmap% = W2I(FindWindow(0, "Character Map"))
  83.     IF charmap% <> 0 THEN
  84.         REM Send it a WMCLOSE message.
  85.         ret% = SendMessage( I2W(charmap%), I2W(16), I2W(0), 0 )
  86.     ENDIF
  87.     GetProfileString "MSCharMap", "Font", "None", fontName$
  88.     IF fontName$ <> "None" THEN
  89.         charmapText$ = "<Ft "+fontName$+">"+newClip$+"<Ft>"
  90.     ELSE
  91.         charmapText$ = newClip$
  92.     ENDIF
  93.     ret% = SetFocus(I2W(wswin%))
  94.     TypeText charmapText$
  95. ENDIF
  96.  
  97. 
  98. *****  WARNING *****
  99. This is a WSWin macro file.
  100. Subsequent data is binary information and should not be modified.
  101. # MF # 1.0None762570297Réè&╡,
  102. 8Ö£¥
  103. ⣢₧â
  104. 8íá
  105. ƒíóú
  106. 8
  107. 8Ññª
  108. 8 âñ¿â
  109. 8¬⌐
  110. ƒ¬½¼
  111. 8
  112. 8Ȃ
  113. «»¡░
  114. 8
  115. â¡▓│â
  116. 8!┤▓
  117. «┤¡╡
  118. 8!"
  119. 8"#
  120. 8#'ï╕
  121. ╖╕╢╣
  122. 8')'
  123. ╗╢╝╜û╝╛ â╛┐â
  124. 8)'+ù└¡└
  125. 8+,ÿ┴¡┴
  126. 8,0─┼├
  127. à─┼╞
  128. ╖╞┬╟
  129. 800
  130. â┬╔â
  131. 802╠╦═Ç
  132. ╗═╬╧
  133. î╠╬╨╩╨
  134. 822â╩╥â
  135. 823!╙Ç╩╩╙
  136. 833â╩╒╓â
  137. 835    ╪╫
  138. ƒ╪┘┌
  139. 856
  140. 868█▄├
  141. à█▄▌
  142. ╖▌┬▐
  143. 88;
  144. ╗┬▀αë▀ß¡ß
  145. 8;=    Γπ
  146. 8=>    Σσ
  147. 8>?"τΣµ    Στ
  148. 8?AΦ
  149. ╗ΦΘΩδÇ
  150. ╗δ∞φöΘΣΓ∞ε¡ε
  151. 8AB
  152. â¡▓≡â
  153. 8BC
  154. 8CE
  155. ±≥¡≤
  156. 8EF
  157. â≥¢⌡â
  158. 8FH    Γ÷
  159. 8HI    Σ≈
  160. 8IJ°
  161. ╗°∙·√
  162. ╗√ⁿ²ö∙ΣΓⁿ■¡■
  163. 8JK
  164. ╗╢  ë
  165. 8KL⌠
  166. 8LS├
  167. à
  168. ╖┬
  169. 8SS â┬â
  170. 8SV
  171. ╗┬
  172.       
  173. ╗ 
  174. ╗É
  175. ¡
  176. 8VX
  177. 8XX ââ
  178. 8XZ"# "$#!"%$≥"&%"    &
  179. 8Z\    ≥
  180. 8\^
  181. ╗╢'(ë')¡)
  182. 8^_*+.~+ÿ--------------------.∩W.∩W.∩W .∩W-.∩W5.∩W;.∩WA.∩WN.∩W^.∩W    l.∩W
  183. z.∩W ê.∩W û.∩Wñ.∩W▓.∩W╢.∩W╣.∩W╜.∩W└.∩W┬.∩W─.∩W╞.∩W╔.∩W╠.∩W╧.∩W╥.∩W╘.∩W╓.∩W┌.∩W▄.∩W▐.∩Wα.∩W Γ.∩W!Σ.∩W"Θ.∩W#∞.∩W$≡.∩W%⌡.∩W&ⁿ.∩W'/∩W(
  184. /∩W)/∩W*/∩W+/∩W,"/∩W-(/∩W.-/∩W/3/∩W06/∩W1;/∩W2@/∩W3B/∩W4E/∩W5J/∩W6N/∩W7T/∩W8Y/∩W9`/∩W:g/∩W;l/∩W<o/∩W=w/∩W>y/∩W?{/∩W@/∩WAê/∩WBî/∩WCÅ/∩WDù/∩WE₧/∩WFú/∩WG¡/∩WH┤/∩WI╣/∩WJ╜/∩WK┬/∩WL╟/∩WM═/∩WN╤/∩WO╒/∩WP▄/∩WQπ/∩WRΩ/∩WS≡/∩WT≈/∩WU0∩WV0∩WW0∩WX$0∩WY10∩WZ:0∩W[G0∩W\P0∩W]X0∩W^`0∩W_h0∩W`q0∩Wav0∩Wb{0∩WcÇ0∩Wdç0∩WeÄ0∩Wfö0∩Wg¢0∩Wh¥0∩Wió0∩Wj¿0∩Wk«0∩Wl╡0∩Wm╛0∩Wn╟0∩Wo╦0∩Wp╙0∩Wq╫0∩Wr▄0∩WsΓ0∩WtΦ0∩Wuε0∩Wv⌠0∩Ww∙0∩Wx■0∩Wy1∩Wz1∩W{1∩W|1∩W}╟
  185.   ╟
  186. +╟
  187. +    ╟
  188. ╟
  189. ╟
  190.   ╟
  191.  ╟
  192. àBå+╟
  193. 2╟
  194. <╟
  195. B╟
  196. àBåK╟
  197. P╟
  198. àBå`╟
  199. àBìh╟
  200. q╟
  201. v╟
  202. {╟
  203. çB    åç╟
  204. ï╟
  205. Æ╟
  206. Ö╟
  207. àBåñ╟
  208. ¬╟
  209. àBå╕╟
  210. àBå╟╟
  211. àBå╓╟
  212.  
  213. ëΓ╟
  214.   Hτ╟
  215. +      Ω╟
  216.       ∩╟
  217.      ⌠╟
  218.   H∙╟
  219. ç)╟
  220. +      D╟
  221.       I╟
  222.   N╟
  223.      S╟
  224.           ^╟
  225. çk╟
  226.      p╟
  227.   ÿu╟
  228.   ÿz╟
  229. +      ñ╟
  230.       ⌐╟
  231.   «╟
  232.      ┤╟
  233.           ╣╟
  234. ç╞╟
  235.   ╠╟
  236.      ╥╟
  237.   ⁿ╫╟
  238. +  ┘╟
  239.   ⁿ▐╟
  240.   Σ╟
  241.      Ω╟
  242.           ±╟
  243. ç;⌡╟
  244.   √╟
  245.      ╟
  246.   l╟
  247. àH
  248. ╟
  249.   ╟
  250.      ╟
  251.   ╟
  252.   l!╟
  253.   '╟
  254.   -╟
  255.           6╟
  256. +      F╟
  257.   L╟
  258.       R╟
  259.   X╟
  260.      ^╟
  261.   vc╟
  262.   vi╟
  263.           n╟
  264. +      |╟
  265.       é╟
  266.   ê╟
  267.   Ä╟
  268.      ö╟
  269.   Ü╟
  270.   á╟
  271.   ª╟
  272.   ¼╟
  273.   L▓╟
  274. +  !╡╟
  275.   L╗╟
  276. +      ┘╟
  277.       ▀╟
  278.   σ╟
  279.      δ╟
  280.   ±╟
  281.       ≈╟
  282.   ²╟
  283.      ╟
  284.       ╟
  285.      ╟
  286.   ╟
  287.  
  288.           ╟
  289. +      7╟
  290.  
  291.           <╟
  292. +      ¥╟
  293. +      ╘╟
  294.       ┌╟
  295.   α╟
  296.   µ╟
  297.      ∞╟
  298.   ≥╟
  299.   °╟
  300.      ■╟
  301.   ╟
  302.   2
  303. ╟
  304.   2╟
  305. ç3!╟
  306.  
  307.           *╟
  308.      0╟
  309.   46╟
  310.   ε<╟
  311. +      H╟
  312. +      ╤╟
  313.   ╫╟
  314.   ▌╟
  315.      π╟
  316.   Θ╟
  317.   ∩╟
  318.      ⌡╟
  319.   √╟
  320.   ╟
  321.      ╟
  322.   ╟
  323.   ╟
  324.   ╟
  325.       ╟
  326.   %╟
  327.      +╟
  328.   x1╟
  329.   x7╟
  330. +  :╟
  331.   @╟
  332.      F╟
  333.   L╟
  334.   R╟
  335.      X╟
  336.   ^╟
  337.   d╟
  338.      j╟
  339.   p╟
  340. çCü╟
  341. +      ì╟
  342. +      ö╟
  343. +      ¢╟
  344.  
  345.           Ñ╟
  346.       ½╟
  347.       ▒╟
  348.       ╖╟
  349.   ╜╟
  350.      ├╟
  351.   ╔╟
  352.   ≡╧╟
  353.  
  354.           ▄╟
  355. +      π╟
  356. +      τ╟
  357. +      ε╟
  358.       ⌠╟
  359.       ·╟
  360.       ╟
  361.       ╟
  362.    ╟
  363.      ╟
  364.   ╟
  365. AJ!╟
  366.      '╟
  367. )╟
  368. ????01CANCELERRORNUM[T1]
  369. FINDWINDOW"user"CLASSNAMETITLESETFOCUSHWNDGETACTIVEWINDOWWINEXEC"kernel"PATHSHOWSENDMESSAGEMSGWPARAMLPARAMMESSAGEBOXSTYLEOPENCLIPBOARDEMPTYCLIPBOARDCLOSECLIPBOARDGETDOCNAME$[L1]""[T2][T3][L2]MESSAGE"Please create a new document or open an existing document first."[T4][T5][T6]FRAMETYPE%GETFRAMETYPE[T7][L3][L4]"The current frame must be a text frame."[T8][T9][T10]RET%VIEWEDITMODE[T11][T12][L5]2[L6][T13][T14]WSWIN%W2I[T15][T16][L7]I2W[T17][T18][T19][L8][T20][T21]CHARMAP%"Character Map"[T22][T23][T24][T25][L9][L10]ERR%"CHARMAP.EXE"[T26][T27][T28][T29][T30][L11][L12][T31][L13]33[L14]"Couldn't run Character Map."[T32][T33][T34][T35][T36][T37][T38][T39][T40][T41]TITLE$"Running Character Map..."MSG$"Select the characters you want from the Character Map application and choose the Copy button. ""Press OK to paste the characters into your document."[T42][T43][T44][T45][T46][T47][T48][T49][L15][L16]GETCLIPBOARDTEXTNEWCLIP$[T50][L17][L18]"WSWin 2.0""You must use the Copy button on the Character Map window to copy the selected characters to the clipboard. Please run the macro again."[T51][T52][T53][T54][T55][T56][T57][T58][T59][T60][T61][T62][T63][T64][T65][L19][L20]16[T66][T67][T68][T69][T70][T71][T72][T73][T74]GETPROFILESTRING"MSCharMap""Font""None"FONTNAME$[T75][T76][T77][T78][T79][L21][L22]CHARMAPTEXT$"<Ft "">""<Ft>"[T80][T81][T82][T83][T84][T85][T86]TYPETEXT[T87]
  370.