home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD2.mdf
/
tools
/
changepr
/
currprn.spr
< prev
next >
Wrap
Text File
|
1994-04-21
|
10KB
|
308 lines
* *********************************************************
* *
* * 21.04.1994 CURRPRN.SPR 22:52:01
* *
* *********************************************************
* *
* * Programmautor
* *
* * Copyright (c) 1994 Firma
* * Stra▀e
* * Ort, Plz
* * Land
* *
* * Beschreibung:
* * Dieses Programm wurde automatisch mit GENSCR generiert.
* *
* *********************************************************
#REGION 0
REGIONAL m.currarea, m.talkstat, m.compstat
IF SET("TALK") = "ON"
SET TALK OFF
m.talkstat = "ON"
ELSE
m.talkstat = "OFF"
ENDIF
m.compstat = SET("COMPATIBLE")
SET COMPATIBLE FOXPLUS
m.rborder = SET("READBORDER")
SET READBORDER ON
m.currarea = SELECT()
* *********************************************************
* *
* * Windows Fensterdefinitionen
* *
* *********************************************************
*
IF NOT WEXIST("_qpd1d0f7m")
DEFINE WINDOW _qpd1d0f7m ;
AT 0.000, 0.000 ;
SIZE 12.769,72.400 ;
TITLE "Standarddrucker" ;
FONT "MS Sans Serif", 8 ;
FLOAT ;
NOCLOSE ;
MINIMIZE ;
SYSTEM
ENDIF
* *********************************************************
* *
* * CURRPRN/Windows Initialisierungscode - SEKTION 2
* *
* *********************************************************
*
#REGION 1
** Created by Lothar Zeitler
** Microsoft GmbH - Mⁿnchen
** Version 1.0
Modify Window Screen Font "MS Sans Serif", 8
Private all like p*
* Vorbereitung fⁿr den Windows-API-Aufruf
Set Library to SYS(2004) + "FOXTOOLS.FLL" ADDITIVE
* Initialisierung der Funktionen
GetProfStr = RegFn("GetProfileString","CCC@CI","I")
WrProfStr = RegFn("WriteProfileString","CCC","I")
* Vorbelegung der Variablen,in der der aktuelle
* Drucker gespeichert wird
pcCurPrtS = Replicate(chr(0),80)
* Ermitteln der aktuellen GerΣteeinstellung
pnRetLen = CallFn(GetProfStr,"Windows","device",;
"",@pcCurPrts,Len(pcCurPrts))
pcCurrPrnt = Left(pcCurPrts,pnRetLen)
pcCurrPrnt = Left(pcCurrPrnt,at(",",pcCurrPrnt)-1)
* Erstellen der Druckerliste
pcAllDevS = replicate(chr(0),200)
pnRetLen = CallFn(GetProfStr,"Devices",0,"",@pcAllDevS,;
Len(pcAllDevS))
pnCurPos = 0
pnCount = 1
Do While pnCurPos < pnRetLen
pnLastPos = pnCurPos
pnCurPos = AT(Chr(0), pcAllDevS, pnCount)
Dimension paAllPrnt[pnCount,2]
paAllPrnt[pnCount,1] = Substr(pcAllDevs,;
pnLastPos + 1, pnCurPos - pnLastPos)
pnCount = pnCount +1
enddo
pnNewPrnt = Asubscript(paAllPrnt, Ascan(paAllPrnt,;
pcCurrPrnt),1)
* *********************************************************
* *
* * CURRPRN/Windows Maskenlayout
* *
* *********************************************************
*
#REGION 1
IF WVISIBLE("_qpd1d0f7m")
ACTIVATE WINDOW _qpd1d0f7m SAME
ELSE
ACTIVATE WINDOW _qpd1d0f7m NOSHOW
ENDIF
@ 0.538,15.400 SAY "Standarddrucker wechseln" ;
FONT "MS Sans Serif", 12 ;
STYLE "BT"
@ 3.692,5.800 SAY "Aktueller Drucker :" ;
FONT "MS Sans Serif", 8 ;
STYLE "T"
@ 5.923,3.400 SAY "Verfⁿgbare Drucker :" ;
FONT "MS Sans Serif", 8 ;
STYLE "T"
@ 3.538,22.400 SAY pcCurrPrnt ;
SIZE 1.000,30.200 ;
FONT "MS Sans Serif", 8
@ 5.846,22.200 GET pnNewPrnt ;
PICTURE "@^" ;
FROM paAllPrnt ;
SIZE 1.538,27.167 ;
DEFAULT 1 ;
FONT "MS Sans Serif", 8 ;
STYLE "B"
@ 9.231,19.200 GET lhSelect ;
PICTURE "@*HN \<AuswΣhlen" ;
SIZE 1.615,11.333,0.500 ;
DEFAULT 1 ;
FONT "MS Sans Serif", 8 ;
STYLE "B" ;
VALID _qpd1d0g7p()
@ 9.231,40.800 GET lhCancel ;
PICTURE "@*HN A\<bbrechen" ;
SIZE 1.615,11.500,0.500 ;
DEFAULT 1 ;
FONT "MS Sans Serif", 8 ;
STYLE "B" ;
VALID _qpd1d0gir()
IF NOT WVISIBLE("_qpd1d0f7m")
ACTIVATE WINDOW _qpd1d0f7m
ENDIF
READ CYCLE ;
VALID _qpd1d0go0() ;
SHOW _qpd1d0go7()
RELEASE WINDOW _qpd1d0f7m
SELECT (m.currarea)
#REGION 0
SET READBORDER &rborder
IF m.talkstat = "ON"
SET TALK ON
ENDIF
IF m.compstat = "ON"
SET COMPATIBLE ON
ENDIF
* *********************************************************
* *
* * _QPD1D0G7P lhSelect VALID
* *
* * Funktionsursprung:
* *
* * Von Plattform: Windows
* * In Maske: CURRPRN, Satznummer: 7
* * Variable: lhSelect
* * Aufruf durch: VALID-Klausel
* * Objekttyp: Push Button
* * Codeteilnummer: 1
* *
* *********************************************************
*
* Aufbereiten des Druckerstrings fⁿr die WIN.INI
FUNCTION _qpd1d0g7p && lhSelect VALID
#REGION 1
pcSettings = replicate(chr(0),80)
pnRetLen = callFn(GetProfStr,"Devices",;
paAllPrnt[pnNewPrnt,1],"",@pcSettings,;
Len(pcSettings))
pcNewPrnt=Chrtran(paAllPrnt[pnNewPrnt,1],Chr(0),;
"") + ',' + Left(pcSettings,pnRetLen)
* Zurⁿckschreiben des neuen Printers
=CallFn(WrProfStr,"Windows","Device",pcNewPrnt)
* Orginal SDK Definitionen
#DEFINE HWND_BROADCAST 65535
#DEFINE WM_WININICHANGE 26
* Senden einer WINDOWS - Nachricht an alle ge÷ffneten
* Applikationen, die diese veranlasst, die WIN.INI neu
* auszulesen um die aktuellen Einstellungen in der
* in der Applkation neu zu setzen
PostMsg = RegFn('POSTMESSAGE',"IICC","I")
=CallFn(PostMsg,HWND_BROADCAST, WM_WININICHANGE,;
0,"Windows")
clear read
* *********************************************************
* *
* * _QPD1D0GIR lhCancel VALID
* *
* * Funktionsursprung:
* *
* * Von Plattform: Windows
* * In Maske: CURRPRN, Satznummer: 8
* * Variable: lhCancel
* * Aufruf durch: VALID-Klausel
* * Objekttyp: Push Button
* * Codeteilnummer: 2
* *
* *********************************************************
*
FUNCTION _qpd1d0gir && lhCancel VALID
#REGION 1
clear read
* *********************************************************
* *
* * _QPD1D0GO0 Read Level Valid
* *
* * Funktionsursprung:
* *
* *
* * Von Plattform: Windows
* * In Maske: CURRPRN
* * Aufruf durch: READ-Anweisung
* * Codeteilnummer: 3
* *
* *********************************************************
*
FUNCTION _qpd1d0go0 && Read Level Valid
*
* Valid-Code aus Maske: CURRPRN
*
#REGION 1
clear read
* *********************************************************
* *
* * _QPD1D0GO7 Read Level Show
* *
* * Funktionsursprung:
* *
* *
* * Von Plattform: Windows
* * In Maske: CURRPRN
* * Aufruf durch: READ-Anweisung
* * Codeteilnummer: 4
* *
* *********************************************************
*
FUNCTION _qpd1d0go7 && Read Level Show
PRIVATE currwind
STORE WOUTPUT() TO currwind
*
* Show-Code aus Maske: CURRPRN
*
#REGION 1
IF SYS(2016) = "_QPD1D0F7M" OR SYS(2016) = "*"
ACTIVATE WINDOW _qpd1d0f7m SAME
@ 3.538,22.400 SAY pcCurrPrnt ;
SIZE 1.000,30.200, 0.000 ;
FONT "MS Sans Serif", 8
ENDIF
IF NOT EMPTY(currwind)
ACTIVATE WINDOW (currwind) SAME
ENDIF