home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / tools / changepr / currprn.spr < prev    next >
Text File  |  1994-04-21  |  10KB  |  308 lines

  1. *       *********************************************************
  2. *       *                                                         
  3. *       * 21.04.1994            CURRPRN.SPR              22:52:01 
  4. *       *                                                         
  5. *       *********************************************************
  6. *       *                                                         
  7. *       * Programmautor                                           
  8. *       *                                                         
  9. *       * Copyright (c) 1994 Firma                                
  10. *       * Stra▀e                                                  
  11. *       * Ort,     Plz                                            
  12. *       * Land                                                    
  13. *       *                                                         
  14. *       * Beschreibung:                                           
  15. *       * Dieses Programm wurde automatisch mit GENSCR generiert. 
  16. *       *                                                         
  17. *       *********************************************************
  18.  
  19.  
  20. #REGION 0
  21. REGIONAL m.currarea, m.talkstat, m.compstat
  22.  
  23. IF SET("TALK") = "ON"
  24.     SET TALK OFF
  25.     m.talkstat = "ON"
  26. ELSE
  27.     m.talkstat = "OFF"
  28. ENDIF
  29. m.compstat = SET("COMPATIBLE")
  30. SET COMPATIBLE FOXPLUS
  31.  
  32. m.rborder = SET("READBORDER")
  33. SET READBORDER ON
  34.  
  35. m.currarea = SELECT()
  36.  
  37.  
  38. *       *********************************************************
  39. *       *                                                         
  40. *       *               Windows Fensterdefinitionen               
  41. *       *                                                         
  42. *       *********************************************************
  43. *
  44.  
  45. IF NOT WEXIST("_qpd1d0f7m")
  46.     DEFINE WINDOW _qpd1d0f7m ;
  47.         AT 0.000, 0.000 ;
  48.         SIZE 12.769,72.400 ;
  49.         TITLE "Standarddrucker" ;
  50.         FONT "MS Sans Serif", 8 ;
  51.         FLOAT ;
  52.         NOCLOSE ;
  53.         MINIMIZE ;
  54.         SYSTEM
  55. ENDIF
  56.  
  57.  
  58. *       *********************************************************
  59. *       *                                                         
  60. *       *    CURRPRN/Windows Initialisierungscode - SEKTION 2     
  61. *       *                                                         
  62. *       *********************************************************
  63. *
  64.  
  65. #REGION 1
  66. ** Created by Lothar Zeitler
  67. ** Microsoft GmbH - Mⁿnchen
  68. ** Version 1.0
  69.  
  70. Modify Window Screen Font "MS Sans Serif", 8
  71.  
  72.  
  73. Private all like p*
  74.  
  75. * Vorbereitung fⁿr den Windows-API-Aufruf
  76.  
  77. Set Library to SYS(2004) + "FOXTOOLS.FLL" ADDITIVE
  78.  
  79. * Initialisierung der Funktionen
  80.  
  81. GetProfStr = RegFn("GetProfileString","CCC@CI","I")
  82. WrProfStr  = RegFn("WriteProfileString","CCC","I")
  83.  
  84. * Vorbelegung der Variablen,in der der aktuelle
  85. * Drucker gespeichert wird
  86.  
  87. pcCurPrtS = Replicate(chr(0),80)
  88.  
  89. * Ermitteln der aktuellen GerΣteeinstellung
  90.  
  91. pnRetLen = CallFn(GetProfStr,"Windows","device",;
  92.                 "",@pcCurPrts,Len(pcCurPrts))
  93.                 
  94. pcCurrPrnt = Left(pcCurPrts,pnRetLen)
  95. pcCurrPrnt = Left(pcCurrPrnt,at(",",pcCurrPrnt)-1)
  96.  
  97. * Erstellen der Druckerliste
  98.  
  99. pcAllDevS = replicate(chr(0),200)
  100.  
  101. pnRetLen = CallFn(GetProfStr,"Devices",0,"",@pcAllDevS,;
  102.         Len(pcAllDevS))
  103.         
  104. pnCurPos = 0
  105. pnCount = 1
  106.  
  107. Do While pnCurPos < pnRetLen
  108.     pnLastPos = pnCurPos
  109.     pnCurPos = AT(Chr(0), pcAllDevS, pnCount)
  110.     Dimension paAllPrnt[pnCount,2]
  111.     paAllPrnt[pnCount,1] = Substr(pcAllDevs,;
  112.         pnLastPos + 1, pnCurPos - pnLastPos)
  113.     pnCount = pnCount +1
  114. enddo
  115.  
  116. pnNewPrnt = Asubscript(paAllPrnt, Ascan(paAllPrnt,;
  117.             pcCurrPrnt),1)
  118.                                             
  119.  
  120. *       *********************************************************
  121. *       *                                                         
  122. *       *              CURRPRN/Windows Maskenlayout               
  123. *       *                                                         
  124. *       *********************************************************
  125. *
  126.  
  127. #REGION 1
  128. IF WVISIBLE("_qpd1d0f7m")
  129.     ACTIVATE WINDOW _qpd1d0f7m SAME
  130. ELSE
  131.     ACTIVATE WINDOW _qpd1d0f7m NOSHOW
  132. ENDIF
  133. @ 0.538,15.400 SAY "Standarddrucker wechseln"  ;
  134.     FONT "MS Sans Serif", 12 ;
  135.     STYLE "BT"
  136. @ 3.692,5.800 SAY "Aktueller Drucker :"  ;
  137.     FONT "MS Sans Serif", 8 ;
  138.     STYLE "T"
  139. @ 5.923,3.400 SAY "Verfⁿgbare Drucker :"  ;
  140.     FONT "MS Sans Serif", 8 ;
  141.     STYLE "T"
  142. @ 3.538,22.400 SAY pcCurrPrnt ;
  143.     SIZE 1.000,30.200 ;
  144.     FONT "MS Sans Serif", 8
  145. @ 5.846,22.200 GET pnNewPrnt ;
  146.     PICTURE "@^" ;
  147.     FROM paAllPrnt ;
  148.     SIZE 1.538,27.167 ;
  149.     DEFAULT 1 ;
  150.     FONT "MS Sans Serif", 8 ;
  151.     STYLE "B"
  152. @ 9.231,19.200 GET lhSelect ;
  153.     PICTURE "@*HN \<AuswΣhlen" ;
  154.     SIZE 1.615,11.333,0.500 ;
  155.     DEFAULT 1 ;
  156.     FONT "MS Sans Serif", 8 ;
  157.     STYLE "B" ;
  158.     VALID _qpd1d0g7p()
  159. @ 9.231,40.800 GET lhCancel ;
  160.     PICTURE "@*HN A\<bbrechen" ;
  161.     SIZE 1.615,11.500,0.500 ;
  162.     DEFAULT 1 ;
  163.     FONT "MS Sans Serif", 8 ;
  164.     STYLE "B" ;
  165.     VALID _qpd1d0gir()
  166.  
  167. IF NOT WVISIBLE("_qpd1d0f7m")
  168.     ACTIVATE WINDOW _qpd1d0f7m
  169. ENDIF
  170.  
  171. READ CYCLE ;
  172.     VALID _qpd1d0go0() ;
  173.     SHOW _qpd1d0go7()
  174.  
  175. RELEASE WINDOW _qpd1d0f7m
  176. SELECT (m.currarea)
  177.  
  178.  
  179. #REGION 0
  180.  
  181. SET READBORDER &rborder
  182.  
  183. IF m.talkstat = "ON"
  184.     SET TALK ON
  185. ENDIF
  186. IF m.compstat = "ON"
  187.     SET COMPATIBLE ON
  188. ENDIF
  189.  
  190.  
  191. *       *********************************************************
  192. *       *                                                         
  193. *       * _QPD1D0G7P           lhSelect VALID                     
  194. *       *                                                         
  195. *       * Funktionsursprung:                                      
  196. *       *                                                         
  197. *       * Von Plattform:       Windows                            
  198. *       * In Maske:            CURRPRN,     Satznummer:    7      
  199. *       * Variable:            lhSelect                           
  200. *       * Aufruf durch:        VALID-Klausel                      
  201. *       * Objekttyp:         Push Button                        
  202. *       * Codeteilnummer:      1                                  
  203. *       *                                                         
  204. *       *********************************************************
  205. *
  206. * Aufbereiten des Druckerstrings fⁿr die WIN.INI
  207.  
  208. FUNCTION _qpd1d0g7p     &&  lhSelect VALID
  209. #REGION 1
  210. pcSettings = replicate(chr(0),80)
  211. pnRetLen = callFn(GetProfStr,"Devices",;
  212.     paAllPrnt[pnNewPrnt,1],"",@pcSettings,;
  213.     Len(pcSettings))
  214. pcNewPrnt=Chrtran(paAllPrnt[pnNewPrnt,1],Chr(0),;
  215.     "") + ',' + Left(pcSettings,pnRetLen)
  216.     
  217. * Zurⁿckschreiben des neuen Printers
  218.  
  219. =CallFn(WrProfStr,"Windows","Device",pcNewPrnt)
  220.  
  221. * Orginal SDK Definitionen
  222.  
  223. #DEFINE HWND_BROADCAST 65535
  224. #DEFINE WM_WININICHANGE 26
  225.  
  226. * Senden einer WINDOWS - Nachricht an alle ge÷ffneten
  227. * Applikationen, die diese veranlasst, die WIN.INI neu
  228. * auszulesen um die aktuellen Einstellungen in der
  229. * in der Applkation neu zu setzen
  230.  
  231. PostMsg = RegFn('POSTMESSAGE',"IICC","I")
  232. =CallFn(PostMsg,HWND_BROADCAST, WM_WININICHANGE,;
  233.     0,"Windows")
  234.     
  235. clear read    
  236.         
  237.  
  238. *       *********************************************************
  239. *       *                                                         
  240. *       * _QPD1D0GIR           lhCancel VALID                     
  241. *       *                                                         
  242. *       * Funktionsursprung:                                      
  243. *       *                                                         
  244. *       * Von Plattform:       Windows                            
  245. *       * In Maske:            CURRPRN,     Satznummer:    8      
  246. *       * Variable:            lhCancel                           
  247. *       * Aufruf durch:        VALID-Klausel                      
  248. *       * Objekttyp:         Push Button                        
  249. *       * Codeteilnummer:      2                                  
  250. *       *                                                         
  251. *       *********************************************************
  252. *
  253. FUNCTION _qpd1d0gir     &&  lhCancel VALID
  254. #REGION 1
  255. clear read
  256.  
  257.  
  258. *       *********************************************************
  259. *       *                                                         
  260. *       * _QPD1D0GO0           Read Level Valid                   
  261. *       *                                                         
  262. *       * Funktionsursprung:                                      
  263. *       *                                                         
  264. *       *                                                         
  265. *       * Von Plattform:       Windows                            
  266. *       * In Maske:            CURRPRN                            
  267. *       * Aufruf durch:        READ-Anweisung                     
  268. *       * Codeteilnummer:      3                                  
  269. *       *                                                         
  270. *       *********************************************************
  271. *
  272. FUNCTION _qpd1d0go0     && Read Level Valid
  273. *
  274. * Valid-Code aus Maske: CURRPRN
  275. *
  276. #REGION 1
  277. clear read
  278.  
  279. *       *********************************************************
  280. *       *                                                         
  281. *       * _QPD1D0GO7           Read Level Show                    
  282. *       *                                                         
  283. *       * Funktionsursprung:                                      
  284. *       *                                                         
  285. *       *                                                         
  286. *       * Von Plattform:       Windows                            
  287. *       * In Maske:            CURRPRN                            
  288. *       * Aufruf durch:        READ-Anweisung                     
  289. *       * Codeteilnummer:      4                                  
  290. *       *                                                         
  291. *       *********************************************************
  292. *
  293. FUNCTION _qpd1d0go7     && Read Level Show
  294. PRIVATE currwind
  295. STORE WOUTPUT() TO currwind
  296. *
  297. * Show-Code aus Maske: CURRPRN
  298. *
  299. #REGION 1
  300. IF SYS(2016) = "_QPD1D0F7M" OR SYS(2016) = "*"
  301.     ACTIVATE WINDOW _qpd1d0f7m SAME
  302.     @ 3.538,22.400 SAY pcCurrPrnt ;
  303.         SIZE 1.000,30.200, 0.000 ;
  304.         FONT "MS Sans Serif", 8
  305. ENDIF
  306. IF NOT EMPTY(currwind)
  307.     ACTIVATE WINDOW (currwind) SAME
  308. ENDIF