|
WD - Como recuperar dinamicamente o nome das impressora? |
Débuté par BOLLER ADRIANO, 02 juil. 2016 02:26 - Aucune réponse |
| |
| | | |
|
| |
Membre enregistré 3 665 messages Popularité : +175 (223 votes) |
|
Posté le 02 juillet 2016 - 02:26 |
A tela de impressões parâmetro (não mostrado aqui) permite escolher o impressora e bandejas corespondente para 1º e seguintes cópias. É composto por 2 combos e 2 listas. Os combos aparecem impressoras apresentadas no post (ver iListPrinter ()). As listas são exibidas escaninhos impressoras selecionadas em combos graças ao procedimento Charge_Bacs (). A variável nCopie m indica uma maneira simples (e melhorar) que combos é clicado (1 ou 2) que permite realizar o tratamento adequado (também é possível mudar para definir o nome da janela e os nomes dos objetos para tratar ...).
Procedure Charge_Bacs(nCopie)
nbBac est un entier sur 4 sNomImp est une chaîne sNomPort est une chaîne nBoucle est un entier sNomBac est chaîne nCodeBac est entier nPositionNull est un entier tabNumerosBacs est un tableau dynamique de 1 entiers sur 2 sListeBacs est une chaîne sNomImprimante est une chaîne
SI nCopie = 1 ALORS sNomImprimante = COMBO_Imprimantes_PremiereCopie..ValeurAffichee ListeSupprimeTout(LISTE_Bacs_PremiereCopie) SINON sNomImprimante = COMBO_Imprimantes_DeuxiemeCopie..ValeurAffichee ListeSupprimeTout(LISTE_Bacs_DeuxiemeCopie) FIN
iConfigure(sNomImprimante,Vrai) sNomImp = iInfoImprimante(Vrai,iNomImprimante) sNomPort = iInfoImprimante(Vrai,iNomPort)
nbBac = AppelDLL32("winspool.drv", "DeviceCapabilitiesA", sNomImp, sNomPort, API_NUMEROS_BACS, Null, 0)
SI nbBac ALORS
Dimension(tabNumerosBacs,nbBac) nbBac = AppelDLL32("winspool.drv", "DeviceCapabilitiesA", sNomImp, sNomPort, API_NUMEROS_BACS, &tabNumerosBacs, 0)
sListeBacs = Répète(0,24 * nbBac)
nbBac = AppelDLL32("winspool.drv", "DeviceCapabilitiesA", sNomImp, sNomPort, API_NOMS_BACS, sListeBacs, 0)
POUR nBoucle = 1 TO nbBac sNomBac = Milieu(sListeBacs, 24 * (nBoucle - 1) 1, 24) nPositionNull = Position(sNomBac, Null) SI nPositionNull ALORS sNomBac = Gauche(sNomBac,nPositionNull-2) FIN nCodeBac = tabNumerosBacs[nBoucle]
SI nCopie = 1 ALORS ListeAjoute(LISTE_Bacs_PremiereCopie,sNomBac gLien(NumériqueVersChaîne(nCodeBac))) SINON ListeAjoute(LISTE_Bacs_DeuxiemeCopie,sNomBac gLien(NumériqueVersChaîne(nCodeBac))) FIN FIN FIN
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
|