Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
26 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 25 Visitantes :: 2 Motores de busca

thiag0ms

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Brasília
Estamos no Twitter
Nossa Comunidade
Nosso Grupo
Últimos assuntos
» Erro no Projeto Chat
Hoje à(s) 11:38 por Sub-Zero

» Modificar TitleBar e Icone do Executavel.
Hoje à(s) 11:24 por Sub-Zero

» Criar atalho, SYS(2020) e Desktop
Ontem à(s) 23:07 por Sub-Zero

» Karaoke feito em FoxPro 2.6
Ontem à(s) 18:51 por Sub-Zero

» Como separar caminho do diretório?
Ontem à(s) 18:49 por Sub-Zero

» Utilizando PHPMailer
Ontem à(s) 09:45 por paulomelo

» Programador em Visual Foxpro
Ontem à(s) 09:03 por mauro victoria

» Link PHP (Dúvida)
21/5/2012, 08:25 por BrunoMesquita

» Fundo do PROJETO Transparente??
20/5/2012, 19:48 por thiag0ms

» Minimizar , Maximizar e Restaurar
18/5/2012, 16:28 por FERNANDOMATRELLA

» Pivot Table no sql server
15/5/2012, 12:35 por edspicer

» Scroll EditBox Automatico
14/5/2012, 10:31 por Julio

» Select Nexval do FoxPro no OracleXE
10/5/2012, 00:16 por Sub-Zero

» Colocar gif na caixa do MESSAGEBOX ()
9/5/2012, 14:39 por Linghston

» Comparar Versões do programa.exe
8/5/2012, 16:10 por Linghston

» Menu lateral
7/5/2012, 02:36 por lardecristo

» Fazer com que a tela do sistema assume a janela principal
7/5/2012, 02:20 por lardecristo

» Trocar Palavra no Sistema
7/5/2012, 01:55 por lardecristo

» invocar Dll em Xbase
7/5/2012, 01:18 por lardecristo

» Fechar Porta Aberta
7/5/2012, 01:00 por lardecristo

Erro no Projeto Chat

2/5/2012, 08:37 por renatojunior2009

Bom dia Pessoal,

Estou desenvolvendo um chat , só que estou com dois erros o qual eu não sei …

Comentários: 7

Modificar TitleBar e Icone do Executavel.

23/5/2012, 20:17 por thiag0ms

Oi, tem como desabilitar o botao de Maximizar do TitleBar...

Eu keria simular uma TitleBar...mais …

Comentários: 5

Criar atalho, SYS(2020) e Desktop

23/5/2012, 17:57 por thiag0ms

Ola denovo...3 dúvidas...

como diz o título do tópico eu queria como criar uma atalho no …

Comentários: 3

Karaoke feito em FoxPro 2.6

23/5/2012, 11:45 por fabiomacarrao

Bom dia a todos. Desenvolvi um programa em FoxPro for windows 2.6 para karaoke. tenho mais de 2700 …

Comentários: 3

Como separar caminho do diretório?

20/5/2012, 21:30 por thiag0ms

tentei di muitas formas mais ainda não consegui...

bom, eu fis uma rotininha para que quando o …

Comentários: 10

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

Os nossos membros postaram um total de 14433 mensagens em 2047 assuntos

[Tópico Único] - Funções Interessantes 5 4.6 19

[Tópico Único] - Funções Interessantes

Página 1 de 6 1, 2, 3, 4, 5, 6  Seguinte

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

[Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 2/4/2009, 01:17

Conferindo CEP
Clique aqui para acessar o site oficial e/ou consultar o exemplo em outras linguagens...

Código:
* ########################################################################################
* #######        Desenvolvido por Leandro Sbrissa                                  ####### 
* #######        MSN: [Você precisa estar registrado e conectado para ver este link.]                                        #######
* ########################################################################################

* EXEMPLO FEITO PELO COLEGA ACIMA E CONVERTIDO PARA O VFP POR PABLO SOLLAR
******************************************************************************************

* Cria objeto e realiza consulta no "[Você precisa estar registrado e conectado para ver este link.] (XML)


lc_cep_a_ser_procurado="50920180"

lc_url_procura ="http://[Você precisa estar registrado e conectado para ver este link.]

srvXMLHttp = CreateObject("MSXML2.ServerXMLHTTP.4.0")
srvXMLHttp.open("GET",lc_url_procura,.f.)
srvXMLHttp.Send()
*!*MESSAGEBOX(srvXMLHttp.responseText)
STORE "" TO cep, uf, cidade, bairro, t_logradouro, logradouro, resultado, resultado_txt

*Cria objeto e Adquiri resultado da busca em formato XML
xmlResult  = CreateObject("MSXML2.DomDocument")
xmlResult.loadXML(srvXMLHttp.ResponseText)

* Recupera valores do resultado da busca
* ********************** Observação 
*     O servidor [Você precisa estar registrado e conectado para ver este link.] retorna apenas 1 resultado para cada CEP
*    por esta razão o método ".item(0)" foi usado, ou seja, se existisse, mais de 1 resultado
*    seria necessario realizar um LOOP de "0" à "xmlResult.length" para recuperar
*    todos os items de cada resultado retornado com o nome de cada nó do XML
   

resultado    = xmlResult.SelectNodes("//resultado"      ).item(0).Text
resultado_txt= xmlResult.SelectNodes("//resultado_txt"  ).item(0).Text
cep          = xmlResult.SelectNodes("//cep"            ).item(0).Text

*     Caso ocorra alguma irregularidade os nós abaixo não vão existir
*    portanto para evitar erros pegaremos os valore apenas se o resultado for positivo 

IF INT(VAL(resultado)) > 0
  uf          = xmlResult.SelectNodes("//uf"            ).item(0).Text
  cidade      = xmlResult.SelectNodes("//cidade"        ).item(0).Text
  bairro      = xmlResult.SelectNodes("//bairro"        ).item(0).Text
  t_logradouro = xmlResult.SelectNodes("//tipo_logradouro").item(0).Text
  logradouro  = xmlResult.SelectNodes("//logradouro"    ).item(0).Text
ENDIF

CLEAR
?cep
?uf
?cidade
?bairro
?t_logradouro
?logradouro


Última edição por Marcos Guedes em 3/5/2010, 11:09, editado 6 vez(es)

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 15/4/2009, 14:35

Listando arquivos e pastas num diretório:

Como chamar a função:
Código:
LOCAL m.diretorios AS STRING
*!* Lê os arquivos contidos na unidade C:\
m.diretorios = filesinfolder("C:\")
SELECT(m.diretorios)
GO TOP
BROWSE
USE IN SELECT(m.diretorios)

RETURN


A função:
Código:
FUNCTION filesinfolder AS COLLECTION
   * It returns all files, contained in a paste.
   LPARAMETERS cpath AS STRING

   LOCAL pathdefault AS STRING
   LOCAL totalfiles AS INTEGER
   LOCAL counter AS INTEGER
   LOCAL nomecursor AS STRING

   m.cpath = IIF(EMPTY(m.cpath), "", ADDBS(m.cpath))
   m.pathdefault = SYS(5)+CURDIR()
   m.totalfiles = 0
   m.nomecursor = SYS(2015) && Nome do cursor que armazenará os arquivos

   CREATE CURSOR (m.nomecursor) (filename c(254), filesize i(4), dateltmodified d(8), timeltmodified c(10), fileattributes c(1))

   IF DIRECTORY(m.cpath) THEN
      CHDIR (m.cpath)
      m.totalfiles = ADIR(myfiles, "*.*","D")

      FOR m.counter = 1 TO m.totalfiles
         INSERT INTO (m.nomecursor) VALUES ;
            (myfiles[m.counter, 1], myfiles[m.counter, 2], myfiles[m.counter, 3], ;
            myfiles[m.counter, 4], STRTRAN(myfiles[m.counter, 5], ".", ""))
      ENDFOR

      SET DEFAULT TO (m.pathdefault)
   ENDIF

   RETURN m.nomecursor
ENDFUNC

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 20/5/2009, 09:46

Segue o link para download de uma classe em fox, para abrir aplicações externas e esperar o encerramento da mesma para prosseguir:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 20/5/2009, 09:56

Feche aplicações abertas com esta classe em fox:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 20/5/2009, 10:08

Atalhos na área de trabalho.

Exemplos com o bloco de notas:
Código:
wshshell = CREATEOBJECT("WScript.shell")
strdesktop = wshshell.specialfolders("Desktop") && Endereço da área de trabalho
omyshortcut =wshshell.createshortcut(strdesktop+"\\mi ejemplo.lnk") && Cria um atalho na área de trabalho
omyshortcut.windowstyle = 3
&&oMyShortCut.IconLocation = \"c:\\fox.ico\"
omyshortcut.targetpath = "%windir%\\notepad.exe\"
omyshortcut.HOTKEY = "F11"
omyshortcut.SAVE

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 20/5/2009, 10:16

Exemplo utilizando FoxTray:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 20/5/2009, 10:33

Uma ótima rotina para manipulação de arquivos zipados:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 21/5/2009, 00:12

Decimal para Hexadecimal
Código:
FUNCTION decimalToHexa
    LPARAMETERS numeroDecimal
    RETURN Transform(m. numeroDecimal, '@0x')
ENDFUNC

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 21/5/2009, 00:23

Hexadecimal para Decimal
Código:
FUNCTION hexaToDecimal
    LPARAMETERS numeroHexa AS STRING
    RETURN EVALUATE(m. numeroHexa)
ENDFUNC

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 22/5/2009, 11:51

Wait Window no centro da SCREEN:
Código:
PROCEDURE waitCenter as VOID
*********************************

LPARAMETERS pctext as String, pntimeout as Integer
LOCAL lnyy as Integer, lnxx as Integer

* Calcula o número total de linhas
m.lnxx = 1
FOR m.lnyy = 1 TO MEMLINES( m.pctext )
   m.lnxx = MAX( m.lnxx, LEN( ALLTRIM( MLINE(m.pctext, m.lnxx) ) ) )
NEXT

* Calcula a posição central da tela
m.lnyy = ( SROWS()/ 2 ) - ( (m.lnyy-1) / 2 )
m.lnxx = ( SCOLS() / 2 ) - ( m.lnxx / 2 )

* Limpa buffer de teclado e janela wait window
CLEAR TYPEAHEAD
WAIT CLEAR

* Se for especificado o timeout
IF VARTYPE( m.pntimeout ) = "N"
   *!* ---> Para ambiente de teste
   WAIT WINDOW m.pctext TIMEOUT m.pntimeout AT m.lnyy, m.lnxx-5
   *!* ---> Para ambiente de produção
   *!*WAIT WINDOW m.pctext TIMEOUT m.pntimeout AT m.lnyy+INT((SYSMETRIC(2)*3)/600), m.lnxx+INT((SYSMETRIC(1)*40)/800)
ELSE
   *!* ---> Para ambiente de teste
   WAIT WINDOW m.pctext NOWAIT NOCLEAR AT m.lnyy, m.lnxx-5
   *!* ---> Para ambiente de produção
   *!*WAIT WINDOW m.pctext NOWAIT NOCLEAR AT m.lnyy+INT((SYSMETRIC(2)*3)/600), m.lnxx+INT((SYSMETRIC(1)*40)/800)
ENDIF
ENDPROC

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 26/5/2009, 11:26

Abrindo links com o navegador padrão:
Código:
open_page("http://[Você precisa estar registrado e conectado para ver este link.]

PROCEDURE open_page as VOID
   LPARAMETERS pcurl AS STRING
      LOCAL _open AS HYPERLINK
      m._open = NEWOBJECT("hyperlink")
      m._open.NAVIGATETO(m.pcurl)
      m._open = null
ENDPROC

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 23/6/2009, 16:13

Ler arquivo INI:
Código:
OBJ = NEWOBJECT("INIFILE", "INIFILE.PRG")
?OBJ.READINivalue("ARQUIVOS","FOTOS", SYS(5)+CURDIR()+"CAMINHOS.INI")

DEFINE CLASS inifile AS CUSTOM

   cinifile = ""
   nlasterror = 0
   NAME = "inifile"

   FUNCTION readinivalue
      LPARAMETERS tcsection, tckeyname, tcinifile

      LOCAL lcinifile, lnerror, lnretval, lcbuffer, lcretval

      IF EMPTY(tcinifile) THEN
         lcinifile = THIS.cinifile
      ELSE
         lcinifile = tcinifile
      ENDIF

      lcbuffer = SPACE(250) + CHR(0)

      IF (getprivateprofilestring(tcsection, tckeyname, "", @lcbuffer, LEN(lcbuffer), lcinifile) > 0) THEN
         lcretval = ALLTRIM(CHRTRAN(lcbuffer, CHR(0), ""))
         THIS.nlasterror = 0
      ELSE
         THIS.nlasterror = getlasterror()
         lcretval = ""
      ENDIF
      RETURN lcretval
   ENDFUNC

   PROCEDURE INIT
      LPARAMETERS tcinifile

      IF  (!EMPTY(tcinifile) AND TYPE("tcIniFile") =  "C") THEN
         THIS.cinifile = tcinifile
      ELSE
         THIS.cinifile = ""
      ENDIF

      DECLARE LONG GetPrivateProfileString    IN WIN32API STRING, STRING, STRING, STRING @, LONG, STRING
      DECLARE LONG WritePrivateProfileString    IN WIN32API STRING, STRING, STRING, STRING
      DECLARE LONG WritePrivateProfileSection IN WIN32API STRING, STRING, STRING
      DECLARE LONG GetLastError             IN WIN32API
   ENDPROC
ENDDEFINE

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 23/6/2009, 17:49

Esta função verifica se sua aplicação está em uso pelo sistema.

Código:
FUNCTION sistemaEmUso
   LOCAL lcoldcaption
   LOCAL lnhwnd

   lcoldcaption = _SCREEN.CAPTION
   _SCREEN.CAPTION = SYS(3)

   DECLARE INTEGER FindWindow IN Win32API STRING, STRING

   DECLARE INTEGER BringWindowToTop IN Win32API INTEGER

   DECLARE INTEGER SendMessage IN Win32API INTEGER, INTEGER, INTEGER, INTEGER

   lnhwnd = findwindow(0, lcoldcaption)
   _SCREEN.CAPTION = lcoldcaption

   IF (lnhwnd > 0) THEN
      bringwindowtotop(lnhwnd)
      sendmessage(lnhwnd, 274, 61488, 0)
      RETURN .F.
   ENDIF

   RETURN .T.
ENDFUNC


Como utilizar?

- Salve a função acima num arquivo com o nome "sistemaEmUso.prg"
- No início de seu PRG principal escreva o seguinte código:
Código:

SET PROCEDURE TO "caminhoDoArquivo\sistemaEmUso.PRG" ADDITIVE

IF  !sistemaEmUso() THEN
   QUIT   
ELSE
   *!* Prossiga com o seu código que torna o sistema funcional.
ENDIF


Nota:
Se sua aplicação estiver rodando, mas não minimizada, então ela virá para frente dos outros programas.
Não consegui melhorá-la para trazer uma aplicação minimizada.

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 24/6/2009, 18:04

Retorna o nome da impressora padrão:
Código:
?getprinterdefault()

FUNCTION getprinterdefault AS STRING
   LOCAL cursorimpressoras AS STRING
   m.cursorimpressoras = SYS(2015)

   APRINTERS(gaprinters, 1)
   CREATE CURSOR (m.cursorimpressoras) (caminho c(50), porta c(50), nomeimp c(50), COMMEN c(50))
   INSERT INTO (m.cursorimpressoras) FROM ARRAY gaprinters
   SELECT (m.cursorimpressoras)
   GO TOP

   DECLARE INTEGER GetDefaultPrinter IN winspool.drv STRING  @pszBuffer, INTEGER @pcchBuffer
   nbufsize = 250
   cprinter = REPLICATE(CHR(0), nbufsize)
   = getdefaultprinter(@cprinter, @nbufsize)
   cprinter = SUBSTR(cprinter, 1, AT(CHR(0),cprinter)-1)

   SELECT nomeimp FROM (m.cursorimpressoras) ;
      WHERE caminho = ALLTRIM(cprinter) INTO ARRAY impbusca
   USE IN SELECT(m.cursorimpressoras)

   RETURN impbusca
ENDFUNC

Adaptada do link abaixo:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Re: [Tópico Único] - Funções Interessantes

Mensagem por Marcos Guedes em 26/6/2009, 11:48

Valida Inscrição Estadual
Código:
FUNCTION inscricaoestadual
      PARAMETER ie, uf
      LOCAL inscvalida AS logical
      m.ie = IIF(EMPTY(m.ie), "", m.ie)
      m.uf = IIF(EMPTY(m.uf), "", m.uf)

      DECLARE INTEGER consisteinscricaoestadual  ;
         IN SYS(5) + CURDIR() + "DllInscE32.DLL"  ;
         STRING, STRING

      m.ie = STRTRAN(m.ie, '.', '')
      m.ie = STRTRAN(m.ie, '-', '')
      m.ie = STRTRAN(m.ie, '/', '')
      m.ie = STRTRAN(m.ie, ',', '')
      m.ie = STRTRAN(m.ie, 'ME','')
      m.ie = STRTRAN(m.ie, ' ', '')
      m.ie = STRTRAN(m.ie, 'P', '')
      m.ie = ALLTRIM(m.ie)

      m.inscvalida = (consisteinscricaoestadual(m.ie, m.uf) = 0)
      CLEAR DLLS  'CONSISTEINSCRICAOESTADUAL'

      RETURN m.inscvalida
ENDFUNC


Autor da função:
[Você precisa estar registrado e conectado para ver este link.]

Link para download da DllInscE32.DLL:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Página 1 de 6 1, 2, 3, 4, 5, 6  Seguinte

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