Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
21 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 21 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
TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

Controlar Scanner Twain

31/3/2017, 17:31 por Kleber R Bento

Estou usando o EZTW32.DLL para criar uma ferramenta que escaneia e gera PDF. Porém com esses …

Comentários: 0

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

Os nossos membros postaram um total de 47 mensagens em 24 assuntos

Busca na Rede

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

Em curso Busca na Rede

Mensagem por wms em 1/6/2010, 15:40

Alguém conhece algum comando ou rotina que identifique os computadores da rede, que eu possa acoplar em um sistema em Visual Fox.

Abraços!
avatar
wms
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Em curso Re: Busca na Rede

Mensagem por hugo em 1/6/2010, 15:51

W

nao entendi muito bem a pergunta, desculpe, to comentando pois achei interessante, disserta um pouco mais no enunciado? talvez eu nao possa ajudar, mais vou conseguir aprender, com certeza

abraco amigao


Última edição por hugo em 1/6/2010, 19:33, editado 1 vez(es)

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Em curso Busca na rede

Mensagem por wms em 1/6/2010, 16:07

Hugo,

É o seguinte: Tenho um sistema rodando em uma rede com 50 usuários, o que eu precisava saber é se consigo pela rede identificar quais são as configurações destes computadores que estão utilizando o sistema, por exemplo: saber qual é a memória que esta sendo utilizada, ou o espaço livre em HD.
Mas isso tem de ser de todas, tipo jogando em uma tabela, view ou cursor.

Consegui explicar?

Grande abraço!
avatar
wms
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Em curso Re: Busca na Rede

Mensagem por hugo em 1/6/2010, 19:34

sim, explicacao bem sucedida

vamos por os neuronios para esquentar!

hehehehe

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Em curso Re: Busca na Rede

Mensagem por hugo em 1/6/2010, 19:40

se voce usar software cliente na estacao, no momento do login voce pode fazer a leitura dos dados e mandar pro banco

lembro-me de que existem comandos do fox que buscavam informacoes do hardware.

bom, estes comandos, .... peco ajuda as cartas.....

marcossss

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Em curso Re: Busca na Rede

Mensagem por Marcos Guedes em 1/6/2010, 20:58

Acho que tenho isto, mas não tenho certeza.
Daqui para amanhã (02/06/2010) tentarei encontrar uma solução, caso alguém não tenha.

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Em curso Re: Busca na Rede

Mensagem por wms em 2/6/2010, 10:40

Muito obrigado amigos.
Fico no aguardo!

Abraços.
avatar
wms
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Em curso Re: Busca na Rede

Mensagem por Marcos Guedes em 2/6/2010, 11:49

Código:
DO DECLARE

*| typedef struct _WKSTA_USER_INFO_1 {
*|  LPWSTR    wkui1_username;
*|  LPWSTR    wkui1_logon_domain;
*|  LPWSTR    wkui1_oth_domains;
*|  LPWSTR    wkui1_logon_server;  16 bytes
*| }WKSTA_USER_INFO_1, *PWKSTA_USER_INFO_1, *LPWKSTA_USER_INFO_1;

#DEFINE userinfo_1_size  16
#DEFINE max_preferred_length -1

LOCAL lnresult, lnbuffer, lnentriesread, lntotalentries, lnresumehandle
STORE 0 TO lnbuffer, lnentriesread, lntotalentries, lnresumehandle

lnresult = netwkstauserenum(0, 1, @lnbuffer, max_preferred_length,;
   @lnentriesread, @lntotalentries, @lnresumehandle)

IF lnresult <> 0
   * 53 = The network path was not found
   ? "Error code:", lnresult
ELSE
   LOCAL lnentry, lnbuflen, lcbuffer, lpwstrusername,;
      lpwstrlogon_domain, lpwstroth_domains, lpwstrlogon_server,;
      lcusername, lclogon_domain, lcoth_domains, lclogon_server

   lnbuflen = lnentriesread * userinfo_1_size
   lcbuffer = REPLI(CHR(0), lnbuflen)
   = heap2string(@lcbuffer, lnbuffer, lnbuflen)

   * resulting cursor
   CREATE CURSOR csresult (username c(30), logon_domain c(30),;
      oth_domains c(30), logon_server c(30))

   * scannig returned entries - UserInfo structures
   FOR lnentry = 1 TO lnentriesread
      * copying the UserInfo structure to a VFP string
      lcuserinfo = SUBSTR(lcbuffer,;
         (lnentry-1)*userinfo_1_size+1, userinfo_1_size)

      * retrieving pointers to Unicode strings
      lpwstrusername    = buf2dword(SUBSTR(lcuserinfo,  1,4))
      lpwstrlogon_domain = buf2dword(SUBSTR(lcuserinfo,  5,4))
      lpwstroth_domains  = buf2dword(SUBSTR(lcuserinfo,  9,4))
      lpwstrlogon_server = buf2dword(SUBSTR(lcuserinfo, 13,4))

      * copying data from pointers to VFP strings
      lcusername    = getstrfrommem(lpwstrusername)
      lclogon_domain = getstrfrommem(lpwstrlogon_domain)
      lcoth_domains  = getstrfrommem(lpwstroth_domains)
      lclogon_server = getstrfrommem(lpwstrlogon_server)

      INSERT INTO csresult VALUES (;
         lcusername, lclogon_domain, lcoth_domains, lclogon_server)
   ENDFOR
ENDIF

* this buffer is allocated by the system and must be freed
= netapibufferfree(lnbuffer)

IF USED("csResult")
   SELECT csresult
   GO TOP
   BROWSE NORMAL NOWAIT
ENDIF

FUNCTION getstrfrommem(lnmemblock)
   * converting allocated in memory Unicode string to a VFP string
   #DEFINE strbufferlength 250
   LOCAL lcbuffer
   lcbuffer = SPACE(strbufferlength)
   = heap2string(@lcbuffer, lnmemblock, strbufferlength)
   lcbuffer = SUBSTR(lcbuffer, 1, AT(CHR(0)+CHR(0),lcbuffer)-1)
   RETURN  STRTRAN(lcbuffer, CHR(0),"")
ENDFUNC

PROCEDURE DECLARE
   DECLARE INTEGER NetWkstaUserEnum IN netapi32;
      INTEGER SERVERNAME, INTEGER LEVEL, INTEGER @ bufptr,;
      INTEGER prefmaxlen, INTEGER @entriesread,;
      INTEGER @totalentries, INTEGER @resumehandle

   DECLARE INTEGER NetApiBufferFree IN netapi32 INTEGER BUFFER

   DECLARE RtlMoveMemory IN kernel32 AS Heap2String;
      STRING @ Destination, INTEGER SOURCE, INTEGER nLength
ENDPROC

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
Fonte:
- news2news

Código:
DO DECLARE

*| typedef struct _MIB_UDPTABLE {
*|  DWORD      dwNumEntries;    // number of entries in the table
*|  MIB_UDPROW  table[ANY_SIZE]; // table of MIB_UDPROW structs
*| } MIB_UDPTABLE, *PMIB_UDPTABLE; total bytes = 4 + undef

*| typedef struct _MIB_UDPROW {
*|  DWORD  dwLocalAddr;    // IP address on local computer
*|  DWORD  dwLocalPort;    // port number on local computer
*| } MIB_UDPROW, *PMIB_UDPROW; total bytes = 8

#DEFINE mib_udprow_size  8

LOCAL cbuffer, nbufsize, nentries, nindex, centry

* call GetUdpTable with null buffer to get required size
nbufsize=0
= getudptable(NULL, @nbufsize, 1)

cbuffer = REPLI(CHR(0), nbufsize)
= getudptable(@cbuffer, @nbufsize, 1)

* get number of entries in the table
nentries = buf2dword(SUBSTR(cbuffer, 1,4))

* create resulting cursor
CREATE CURSOR cs (ipaddr c(15), port N(12))

* parse entries and save results in cursor
FOR nindex = 1 TO nentries

   centry = SUBSTR(cbuffer,;
      5 + (nindex-1) * mib_udprow_size,;
      mib_udprow_size)

   = addentry(centry)
ENDFOR

GO TOP
BROW NORMAL NOWAIT
* end of main

PROCEDURE addentry(centry)
   LOCAL lcipaddr, lnport

   * local IP address and the host name
   lcipaddr = inet_ntoa(buf2dword(SUBSTR(centry, 1,4)))

   * local port
   lnport = ntohs(buf2dword(SUBSTR(centry, 5,4)))

   INSERT INTO cs VALUES (lcipaddr, lnport)
   RETURN
ENDPROC

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

PROCEDURE DECLARE
   DECLARE STRING inet_ntoa IN ws2_32 INTEGER in_addr
   DECLARE INTEGER ntohs IN ws2_32 INTEGER netshort

   DECLARE INTEGER GetUdpTable IN iphlpapi;
      STRING @pUdpTable, INTEGER @pdwSize, INTEGER BORDER
ENDPROC
Fonte:
- news2news

Código:
DO DECL

cserver = ""  && empty value means local computer
*cServer = "\\MYSERVER"
cuser = getusrname()  && current user

= listgroups(cserver, cuser)  && local groups
= listgroups(cserver, cuser, .T.)  && global groups
* end of main

PROCEDURE listgroups(cserver, cuser, lglobal)
   #DEFINE max_preferred_length -1

   LOCAL hbuffer, nbufsize, nreadcount, ntotalcount, nresult,;
      cbuffer, nindex, nptr, noffs, nlen, cgroup

   STORE 0 TO nreadcount, ntotalcount, hbuffer

   cserver = STRCONV(cserver+CHR(0), 5)
   cuser = STRCONV(cuser+CHR(0), 5)

   IF lglobal
      nresult = netusergetgroups(cserver, cuser, 0,;
         @hbuffer, max_preferred_length, @nreadcount, @ntotalcount)
   ELSE
      nresult = netusergetlocalgroups(cserver, cuser, 0,0,;
         @hbuffer, max_preferred_length, @nreadcount, @ntotalcount)
   ENDIF

   IF nresult <> 0 OR hbuffer=0
      = netapibufferfree(hbuffer)
      ? "Error code:", nresult
      RETURN
   ENDIF

   * size of the buffer allocated by the system
   * GlobalSize on Windows XP returns same result
   nbufsize = 0
   = netapibuffersize(hbuffer, @nbufsize)

   * copying data from memory buffer to FoxPro string
   cbuffer = REPLI(CHR(0), nbufsize)
   copymemory(@cbuffer, hbuffer, nbufsize)

   * scanning group names
   FOR nindex=1 TO ntotalcount
      * retrieving 4-byte (DWORD) address of Unicode string
      * that specifies the group name
      nptr = buf2dword(SUBSTR(cbuffer, (nindex-1)*4+1,4))

      * matching memory addresses to cBuffer string
      noffs = nptr - hbuffer + 1
      cgroup = SUBSTR(cbuffer, noffs)+CHR(0)+CHR(0)
      nlen = AT(CHR(0)+CHR(0), cgroup)
      cgroup = SUBSTR(cgroup, 1, nlen)
      
      ? nindex, STRCONV(cgroup, 6)
   ENDFOR
   = netapibufferfree(hbuffer)
ENDPROC

FUNCTION getusrname
   * actually SYS(0) is Ok too :)
   LOCAL cbuffer, nbufsize
   nbufsize = 32
   cbuffer = REPLI(CHR(0), nbufsize)
   = getusername(@cbuffer, @nbufsize)
   
   RETURN STRTRAN(cbuffer, CHR(0), "")
ENDFUNC

PROCEDURE DECL
   DECLARE INTEGER NetUserGetGroups IN netapi32;
      STRING SERVERNAME, STRING username, INTEGER lvl,;
      INTEGER @bufptr, INTEGER prefmaxlen,;
      INTEGER @entriesread, INTEGER @totalentries

   DECLARE INTEGER NetUserGetLocalGroups IN netapi32;
      STRING SERVERNAME, STRING username, INTEGER lvl,;
      INTEGER flgs, INTEGER @bufptr, INTEGER prefmaxlen,;
      INTEGER @entriesread, INTEGER @totalentries

   DECLARE INTEGER GetUserName IN advapi32;
      STRING  @lpBuffer, INTEGER @nSize

   DECLARE RtlMoveMemory IN kernel32 AS CopyMemory;
      STRING @dst, INTEGER src, INTEGER bufsize

   DECLARE INTEGER NetApiBufferFree IN netapi32 INTEGER BUFFER

   DECLARE INTEGER NetApiBufferSize IN netapi32;
      INTEGER BUFFER, INTEGER @ByteCount
ENDPROC

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
Fonte:
- news2news

Resolve?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Em curso Re: Busca na Rede

Mensagem por wms em 2/6/2010, 14:10

Vou testar Marcos.

Muito Obrigado!
avatar
wms
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Em curso Testes efetuados

Mensagem por wms em 8/6/2010, 09:39

Amigos,

Fiz os testes com o código que me foi disponibilizado, funcionou mas é muito restrito e acaba não trazendo todas as informações pertinentes.

Tem um Script em VB que faz exatamente o que eu preciso em VFP:

- Clqiue aqui para baixar o Script

Alguém conhece bem o VB?

Este script é muito interessante e faz exatamente o que estou precisando neste momento.

Abraço a todos!
avatar
wms
Participante Regular
Participante Regular


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