Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
9 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 9 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Últimos assuntos
Bloquear edição do ListBox

17/6/2010, 15:13 por Julio

Pessoal

Boa Tarde!

Tnho uma listbox apenas para exibir o resultado.
Preciso bloquear a listbox …

Comentários: 17

automação do mozilla e chrome

15/1/2017, 12:16 por Handerson Mildroz

Boa tarde a todos!

Sou iniciante no VFP. Preciso de ajuda, pois tenho um código que usa o …

Comentários: 0

COMO ESTÃO DESENVOLVENDO EM WEB?

22/8/2016, 10:48 por AJC

Pessoal, já lí sobre vários topicos aqui no forum sobre desenvolvimento web
mas ainda nada …

Comentários: 2

USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 0

dll pertocheck

15/12/2016, 12:45 por FERNANDOMATRELLA

Alguem teria ja desenvolvido a comunicação com essa dll estou tento muito trabalho aqui e nenhum …

Comentários: 1

Estatísticas
Temos 6989 usuários registrados
O último usuário registrado atende pelo nome de rodiney

Os nossos membros postaram um total de 4 mensagens em 2 assuntos

Drivers x VFP

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Anexo Drivers x VFP

Mensagem por Marcos Guedes em 8/10/2009, 12:48

Lista de drivers ODBC instalado:
Código:
LOCAL cBuffer, nBufsize, ii, ch, cName
nBufsize = 16384
cBuffer = Repli(Chr(0), nBufsize)
 
DECLARE INTEGER SQLGetInstalledDrivers IN odbccp32;
    STRING @lpszBuf, INTEGER cbBufMax, INTEGER @pcbBufOut
 
IF SQLGetInstalledDrivers(@cBuffer, nBufsize, @nBufsize) = 0
    RETURN
ENDIF
 
CREATE CURSOR csResult (drvname C(100))
cBuffer = SUBSTR(cBuffer,1,nBufsize)
cName = ""
 
FOR ii=1 TO nBufsize
    ch = SUBSTR(cBuffer, ii,1)
    IF ch = Chr(0)
        INSERT INTO csResult VALUES (m.cName)
        cName = ""
    ELSE
        cName = cName + ch
    ENDIF
ENDFOR
GO TOP
BROWSE NORMAL NOWAIT
Fonte: (Copie o link abaixo e cole no seu navegador!)
news2news.com/vfp/?example=378


Última edição por Marcos Guedes em 18/6/2010, 17:28, editado 4 vez(es)

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: Drivers x VFP

Mensagem por Marcos Guedes em 8/10/2009, 12:50

Listagem de drivers de dispositivo no sistema:
Código:
DO DECL

LOCAL lcbuffer, lnallocated, lnbytesneeded, ii,;
   lnloadaddr, lcbasename, lcfullname

lnbytesneeded = 0

* MSDN:
* It is a good idea to give EnumDeviceDrivers a large array
* of LPVOID values, because it is hard to predict
* how many device drivers there will be at the time
* you call EnumDeviceDrivers.

lnallocated = 16384
lcbuffer = REPLI (CHR(0), lnallocated)

IF enumdevicedrivers(@lcbuffer, lnallocated, @lnbytesneeded) <> 0
   lcbuffer = LEFT(lcbuffer, lnbytesneeded)

   * resulting cursor
   CREATE CURSOR csresult (drivername c(30),;
      loadaddr N(12), FULLNAME c(250))

   FOR ii=1 TO lnbytesneeded/4
      lnloadaddr = buf2dword(SUBSTR(lcbuffer, (ii-1)*4+1, 4))

      * retrieving the base name
      lcbasename = SPACE(50)
      = getdevicedriverbasename (lnloadaddr,;
         @lcbasename, LEN(lcbasename))
      lcbasename = LEFT(lcbasename, AT(CHR(0),lcbasename)-1)

      * retrieving the fully qualified path for the driver
      lcfullname = SPACE(250)
      = getdevicedriverfilename (lnloadaddr,;
         @lcfullname, LEN(lcfullname))
      lcfullname = LEFT(lcfullname, AT(CHR(0),lcfullname)-1)

      INSERT INTO csresult VALUES (;
         lcbasename, lnloadaddr, lcfullname)
   ENDFOR

   GO TOP
   BROW NORMAL NOWAIT
ENDIF

FUNCTION  buf2dword (lcbuffer)
   RETURN ASC(SUBSTR(lcbuffer, 1,1)) + ;
      ASC(SUBSTR(lcbuffer, 2,1)) * 256 +;
      ASC(SUBSTR(lcbuffer, 3,1)) * 65536 +;
      ASC(SUBSTR(lcbuffer, 4,1)) * 16777216
ENDFUNC

PROCEDURE  DECL
   DECLARE INTEGER EnumDeviceDrivers IN psapi;
      STRING @lpImageBase, INTEGER cb, INTEGER @lpcbNeeded

   DECLARE INTEGER GetDeviceDriverBaseName IN psapi;
      INTEGER ImageBase, STRING @lpBaseName, INTEGER nSize

   DECLARE INTEGER GetDeviceDriverFileName IN psapi;
      INTEGER ImageBase, STRING @lpFilename, INTEGER nSize
ENDPROC
Fonte: (Copie o link abaixo e cole no seu navegador!)
news2news.com/vfp/?example=174


Última edição por Marcos Guedes em 18/6/2010, 17:32, editado 1 vez(es)

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: Drivers x VFP

Mensagem por Marcos Guedes em 8/10/2009, 12:52

Enumerando os drivers da impressora instalada:
Código:
#DEFINE gmem_fixed  0
DO DECL
*|typedef struct _DRIVER_INFO_2 {
*|  DWORD  cVersion;    0:4
*|  LPTSTR pName;        4:4
*|  LPTSTR pEnvironment; 8:4
*|  LPTSTR pDriverPath;  12:4
*|  LPTSTR pDataFile;    16:4
*|  LPTSTR pConfigFile;  20:4
*|} DRIVER_INFO_2, *PDRIVER_INFO_2; 24 bytes

#DEFINE driver_info_size  24

PRIVATE hbuffer, nbufsize, cbuffer, cinfo
nbufsize = 16384
hbuffer = globalalloc(gmem_fixed, nbufsize)

LOCAL lcserver, lnresult, lnreturned, lncount
STORE 0 TO lnreturned, lnindex, lncount

* use Null for local computer or a valid server name
* e.g. "\\MYSERVER"
lcserver = NULL
lnresult = enumprinterdrivers(lcserver, NULL, 2,;
   hbuffer, nbufsize, @lnreturned, @lncount)

IF lnresult = 0
   ? "Error code:", getlasterror()
   = globalfree(hbuffer)
   RETURN
ENDIF

cbuffer = REPLI(CHR(0), nbufsize)
= mem2str(@cbuffer, hbuffer, nbufsize)

FOR lnindex=0 TO lncount-1
   cinfo = SUBSTR(cbuffer, lnindex*driver_info_size+1, driver_info_size)
   DO parsedriverinfo
ENDFOR

= globalfree(hbuffer)
IF USED("csResult")
   GO TOP
   BROWSE &&EDIT NORMAL
ENDIF
* end of main

PROCEDURE parsedriverinfo
   IF NOT USED("csResult")
      CREATE CURSOR csresult (;
         ver i, drvname c(50), envname c(20),;
         drvpath c(200), drvfile c(200), cfgfile c(200))
   ENDIF
   INSERT INTO csresult VALUES (mw(1), ms(5), ms(9), ms(13), ms(17), ms(21))
   RETURN
ENDFUNC

FUNCTION mw(lnoffs)
   RETURN buf2dword(SUBSTR(cinfo, lnoffs,4))
ENDFUNC

FUNCTION ms(lnoffs)
   RETURN getmemstr(buf2dword(SUBSTR(cinfo, lnoffs,4)))
ENDFUNC

FUNCTION getmemstr(lnaddr)
   IF lnaddr = 0
      RETURN ""
   ENDIF

   LOCAL lnoffs, lcresult, ch
   lnoffs = lnaddr - hbuffer + 1
   lcresult = ""

   DO WHILE lnoffs < nbufsize
      ch = SUBSTR(cbuffer, lnoffs,1)
      IF ch = CHR(0)
         EXIT
      ELSE
         lcresult = lcresult + ch
      ENDIF
      lnoffs = lnoffs + 1
   ENDDO
   RETURN lcresult
ENDFUNC

FUNCTION  buf2dword (lcbuffer)
   RETURN ASC(SUBSTR(lcbuffer, 1,1)) + ;
      BITLSHIFT(ASC(SUBSTR(lcbuffer, 2,1)),  8) +;
      BITLSHIFT(ASC(SUBSTR(lcbuffer, 3,1)), 16) +;
      BITLSHIFT(ASC(SUBSTR(lcbuffer, 4,1)), 24)
ENDFUNC

PROCEDURE DECL
   DECLARE INTEGER EnumPrinterDrivers IN winspool.drv;
      STRING pName, STRING pEnvironment, LONG Lvl, INTEGER pDrvInfo,;
      INTEGER cbBuf, INTEGER @pcbNeeded, INTEGER @pcReturned

   DECLARE INTEGER GetLastError IN kernel32
   DECLARE INTEGER GlobalAlloc IN kernel32 INTEGER wFlags, INTEGER dwBytes
   DECLARE INTEGER GlobalFree IN kernel32 INTEGER HMEM

   DECLARE RtlMoveMemory IN kernel32 AS Mem2Str;
      STRING @DEST, INTEGER Src, INTEGER nLength
ENDPROC
Fonte: (Copie o link abaixo e cole no seu navegador!)
news2news.com/vfp/?example=82


Última edição por Marcos Guedes em 18/6/2010, 17:33, editado 1 vez(es)

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: Drivers x VFP

Mensagem por Marcos Guedes em 8/10/2009, 12:59

Recuperando o caminho do diretório do driver de impressora:
Código:
DO decl
 
LOCAL lcBuffer, lnBufsize
lcBuffer = Repli(Chr(0), 250)
lnBufsize = 0
 
IF GetPrinterDriverDirectory(Null, Null, 1, @lcBuffer, Len(lcBuffer), @lnBufsize) <> 0
    lcBuffer = SUBSTR(lcBuffer, 1, AT(Chr(0),lcBuffer)-1)
    ? "Printer Driver Directory:", lcBuffer
ENDIF
 
lcBuffer = Repli(Chr(0), 250)
lnBufsize = 0
IF GetPrintProcessorDirectory(Null, Null, 1, @lcBuffer, Len(lcBuffer), @lnBufsize) <> 0
 
    lcBuffer = SUBSTR(lcBuffer, 1, AT(Chr(0),lcBuffer)-1)
    ? "Printer Processor Directory:", lcBuffer
ENDIF
 
PROCEDURE decl
    DECLARE INTEGER GetPrinterDriverDirectory IN winspool.drv;
        STRING pName, STRING pEnvir, LONG Lvl,;
        STRING @pDriverDir, LONG cbBuf, LONG @pcbNeeded
 
    DECLARE INTEGER GetPrintProcessorDirectory IN winspool.drv;
        STRING pName, STRING pEnvir, INTEGER Lvl,;
        STRING @pPrintProcInfo, INTEGER cbBuf, INTEGER @pcbNeeded
ENDPROC
Fonte: (Copie o link abaixo e cole no seu navegador!)
news2news.com/vfp/?example=359

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum