Login

Esqueci minha senha

Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

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

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 337 em 27/12/2010, 08:00
Brasília
Estamos no Twitter
Nossa Comunidade
Nosso Grupo
Últimos assuntos
Ajuda com Imagens no MySQL

25/1/2012, 08:53 por megasoft

Olá vou resumir aqui como estou fazendo.
Código:
xFoto_Prod = …


Comentários: 7

Registrar OCX Windows Seven

29/7/2011, 11:48 por Julio

Bom Dia Pessoal do Forum

Alguem ja teve que registrar alguma OCX no windows seven?
Tentei …

Comentários: 15

Criar Variáveis em sequencia

18/1/2012, 08:19 por BrunoMesquita

Olá pessoal como faço para gerar variáveis em sequencia, tipo: Se tenho 6 registros cria-se 6 …

Comentários: 6

No final a Impressora não Ejecta cem corta o papel

19/1/2012, 06:46 por clima238

bom dia
o seguinte código imprime correctamente, só no fim não ejecta nem corta o papel,
alguem …

Comentários: 1

Dirf

4/2/2012, 19:25 por mauro victoria

Boa noite estou com dificuldade de entender o layout da dirf , alguem tem um arquivo txt para que …

Comentários: 1

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

Os nossos membros postaram um total de 13981 mensagens em 1959 assuntos

[Tópico Único] - Dicas e Truques

Página 1 de 3 1, 2, 3  Seguinte

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

Anexo [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 22/5/2009, 12:13

Manipulando Formulários:
Código:
DO FORM "seuForm.scx" NAME formAberto

formAberto.WindowState = 1 && Minimza a janela
formAberto.WindowState = 0 && Restaura a janela
formAberto.show() && Traz para frente
formAberto.Release() && Fecha o Form


Última edição por Marcos Guedes em 21/7/2010, 16:17, editado 3 vez(es)

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 9/7/2009, 00:21

Rodando a aplicação a partir de sua pasta de instalação:
Código:
SET DEFAULT TO (ADDBS(JUSTPATH(SYS(16,0))))


Última edição por Marcos Guedes em 8/9/2009, 09:35, editado 4 vez(es)

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 17/7/2009, 10:52

Colorindo itens numa Grid:

Segue um exemplo colorindo itens marcados/deletados (Neste caso é necessário que a aplicação esteja com o SET DELETED OFF).
Colocar o código abaixo no INIT do formulário que contém a GRID:
Código:
LOCAL coluna as Column

FOR EACH m.coluna IN this.nomeDaGRID.Columns
   *!* Se eu quizer alguma cor para o fundo
   m.coluna.DynamicBackColor = "IIF(DELETED(),RGB(255,255,213),rgb(255,255,255))"
   *!* Se eu quizer alguma cor para a letra
   m.coluna.DynamicForeColor = "IIF(DELETED(),RGB(255,0,0),rgb(0,0,0))"
ENDFOR


Última edição por Marcos Guedes em 18/7/2009, 12:03, editado 1 vez(es) (Razão : Retirei uma variável que não estava sendo utilizada.)

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 17/7/2009, 23:50

Utilizando "m." em variáveis:

Existe uma grande importância em acrescentar o "m." como prefixo em uma variável!
Quando fazemos algo do tipo:
Código:
MESSAGEBOX(campo1)

O VFP, antes de mais nada, verifica se há alguma tabela/cursor selecionado, e se o(a) mesmo(a) tem um campo chamado "campo1", sendo assim ele retorna o valor do campo "campo1", em caso contrário, ele retorna o valor da variável "campo1".
Quando colocamos o "m.", estamos informado ao fox que estamos tratando de uma variável e não de um campo, logo o fox não verificará se alguma tabela está aberta, para depois nos retornar o valor da variável.

O seguinte exemplo tentará esclarecer a dica:
Código:
CREATE CURSOR TESTE (campo1 C(14))
INSERT INTO TESTE VALUES ("Valor do Campo")

LOCAL campo1 AS INTEGER
*!* Neste caso eu atribuiria valores da seguinte forma:
*!* m.campo1 = "Este é o valor de uma variável"
*!* Mas a forma abaixo também é válida!
campo1 = "Este é o valor de uma variável"

SELECT "TESTE"
MESSAGEBOX(campo1) && Campo do cursor
MESSAGEBOX(m.campo1) && Variável

USE IN SELECT("teste")

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 23/7/2009, 13:34

Formulário redondo:
Código:
PUBLIC oform
oform = CREATEOBJECT("Tform")
oform.VISIBLE = .T.
* end of main

DEFINE CLASS tform AS FORM

   #DEFINE badgediameter 500
   #DEFINE topmargin 1
   #DEFINE leftmargin 2

   WIDTH=500
   HEIGHT=500
   AUTOCENTER=.T.
   DESKTOP=.T.
   SHOWWINDOW = 2
   PICTURE="fundo.jpg"
   hrgn=0

   ADD OBJECT lbl AS LABEL WITH CAPTION="Senha:",;
      FONTNAME="Arial", FONTSIZE=9, bold=.T., BACKSTYLE=0, ALIGNMENT=2,;
      FORECOLOR=RGB(255,255,225), LEFT=384, TOP=214, WIDTH=100, HEIGHT=25;

   ADD OBJECT txt AS TEXTBOX WITH WIDTH=100, HEIGHT=24,;
      LEFT=382, TOP=230, FORECOLOR=RGB(128,128,128),PASSWORDCHAR="X"

   ADD OBJECT cmd AS COMMANDBUTTON WITH WIDTH=40, HEIGHT=25,;
      LEFT=384, TOP=265, CAPTION="Ok", DEFAULT=.T.

   ADD OBJECT fxform AS COMMANDBUTTON WITH WIDTH=55, HEIGHT=25,;
      LEFT=430, TOP=265, CAPTION="Fechar", DEFAULT=.T.

   PROCEDURE INIT
      *
      DO DECL
   ENDPROC

   PROCEDURE ACTIVATE
      *
      IF THIS.hrgn = 0
         THIS.regionon
      ENDIF
   ENDPROC

   PROCEDURE regionon
      #DEFINE sm_cysize 31
      #DEFINE sm_cxframe 32
      #DEFINE sm_cyframe 33
      LOCAL HWND, x0, y0, x1, y1

      * calculating position of the region
      x0 = getsystemmetrics(sm_cxframe) + leftmargin
      y0 = getsystemmetrics(sm_cysize) +;
         getsystemmetrics(sm_cyframe) + topmargin
      x1 = x0 + badgediameter
      y1 = y0 + badgediameter

      * creating an elliptical region
      THIS.hrgn = createellipticrgn (x0, y0, x1, y1)
      HWND = getfocus()

      * applying the region to the form
      IF setwindowrgn(HWND, THIS.hrgn, 1) = 0
         * if failed then release the handle
         = deleteobject (THIS.hrgn)
         THIS.hrgn = 0
      ENDIF
   ENDPROC

   PROCEDURE MOUSEDOWN
      LPARAMETERS nbutton, nshift, nxcoord, nycoord
      #DEFINE wm_syscommand 0x112
      #DEFINE wm_lbuttonup 0x202
      #DEFINE mouse_move 0xf012
      IF nbutton = 1
         LOCAL hwindow
         hwindow = getfocus()
         = releasecapture()
         = sendmessage(hwindow, wm_syscommand, mouse_move, 0)
         = sendmessage(hwindow, wm_lbuttonup, 0, 0)
      ENDIF
   ENDPROC

   PROCEDURE cmd.CLICK

      WITH THISFORM
         IF EMPTY(.txt.VALUE)
            .txt.SETFOCUS
            MESSAGEBOX(" Preenchimento obrigatório !",64+0+0,"Atenção")
            RETURN .F.
         ENDIF
         IF .txt.VALUE # '12345'
            =MESSAGEBOX('Senha "'+(ALLTRIM(.txt.VALUE))+'" é inválida !',24+0+0,'Atenção')
            .txt.SETFOCUS
            RETURN .F.
         ELSE
            tudo_ok = .T.
            DODEFAULT()
         ENDIF
      ENDWITH

      THISFORM.RELEASE
   ENDPROC

   PROCEDURE fxform.CLICK
      THISFORM.RELEASE
   ENDPROC

ENDDEFINE

PROCEDURE DECL
   DECLARE INTEGER GetFocus IN user32
   DECLARE INTEGER DeleteObject IN gdi32 INTEGER hObject
   DECLARE INTEGER GetSystemMetrics IN user32 INTEGER nIndex
   DECLARE INTEGER ReleaseCapture IN user32

   DECLARE INTEGER SendMessage IN user32;
      INTEGER HWND, INTEGER Msg,;
      INTEGER wParam, INTEGER LPARAM

   DECLARE INTEGER CreateEllipticRgn IN gdi32;
      INTEGER nLeftRect, INTEGER nTopRect,;
      INTEGER nRightRect, INTEGER nBottomRect

   DECLARE INTEGER SetWindowRgn IN user32;
      INTEGER HWND, INTEGER hRgn, INTEGER bRedraw
ENDPROC


Fonte original:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 5/8/2009, 15:47

Encontrei esta função no Help do fox e achei interessante compartilhar com os colegas.
Muitas respostas que alcançamos com várias linhas de códigos, podemos resumir a esta simples função GETENV()
Código:
?"Nome do computador: "
?? GETENV("COMPUTERNAME")

?"Drive primário: "
?? GETENV("HOMEDRIVE")

?"Pasta do usuário: "
?? GETENV("HOMEPATH")

?"Número de processos: "
?? GETENV("NUMBER_OF_PROCESSORS")

?"Sistema Operacional: "
?? GETENV("OS")

?"Processador: "
?? GETENV("PROCESSOR_IDENTIFIER")

?"Pasta arquivos de programas: "
?? GETENV("ProgramFiles")

?"Sessão: "
?? GETENV("SESSIONNAME")

?"Driver do sistema: "
?? GETENV("SystemDrive")

?"Pasta temporária(TEMP): "
?? GETENV("TEMP")

?"Pasta temporária(TMP): "
?? GETENV("TMP")

?"Nome do usuário: "
?? GETENV("USERNAME")

?"Pasta do usuário: "
?? GETENV("USERPROFILE")

?"Diretório do Windows: "
?? GETENV("windir")

?
*!* Outros exemplos:
? GETENV("ALLUSERSPROFILE")
? GETENV("APPDATA")
? GETENV("CommonProgramFiles")
? GETENV("ComSpec")
? GETENV("FP_NO_HOST_CHECK")
? GETENV("LOCALAPPDATA")
? GETENV("LOGONSERVER")
? GETENV("Path")
? GETENV("PATHEXT")
? GETENV("PROCESSOR_ARCHITECTURE")
? GETENV("PROCESSOR_LEVEL")
? GETENV("PROCESSOR_REVISION")
? GETENV("ProgramData")
? GETENV("PUBLIC")
? GETENV("SystemRoot")
? GETENV("USERDOMAIN")
? GETENV("VS90COMNTOOLS")

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 6/8/2009, 22:26

Abrindo o painel de controle de data e hora do windows:
Código:
Run /N Control Timedate.cpl

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 6/8/2009, 22:35

Alterando a propriedade de vários objetos de uma única vez:
Código:
thisform.SetAll("readonly", .f., "Textbox")

Nota: O exemplo torna todos os textbox's de um form com a propriedade READONLY = .F.

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 6/8/2009, 22:42

Utilizando o DOEVENTS para dar continuidades a processos:
Código:
oform = CREATEOBJECT([Form1])
oform.SHOW(1)

DEFINE CLASS form1 AS FORM

   DOCREATE = .T.
   bcancelloop = .F.
   NAME = "form1"
   ADD OBJECT command1 AS COMMANDBUTTON WITH ;
      TOP = 125, ;
      LEFT = 8, ;
      HEIGHT = 27, ;
      WIDTH = 111, ;
      CAPTION = "Start Loop", ;
      NAME = "Command1"

   ADD OBJECT command2 AS COMMANDBUTTON WITH ;
      TOP = 125, ;
      LEFT = 130, ;
      HEIGHT = 27, ;
      WIDTH = 111, ;
      CAPTION = "Cancel Loop", ;
      NAME = "Command2"

   ADD OBJECT label1 AS LABEL WITH ;
      AUTOSIZE = .T., ;
      CAPTION = "Press START", ;
      HEIGHT = 17, ;
      LEFT = 31, ;
      TOP = 45, ;
      WIDTH = 40, ;
      NAME = "Label1"

   PROCEDURE command1.CLICK
      THISFORM.bcancelloop = .F.
      lncounter = 0
      DO WHILE .T.
         lncounter = lncounter + 1
         THISFORM.label1.CAPTION = TRANSFORM(lncounter)
         DOEVENTS
         IF THISFORM.bcancelloop
            THISFORM.label1.CAPTION = [Loop is canceled]
            EXIT
         ENDIF
      ENDDO

   ENDPROC

   PROCEDURE command2.CLICK
      THISFORM.bcancelloop = .T.
   ENDPROC

ENDDEFINE

Autor: Borislav Borissov


Última edição por Marcos Guedes em 8/8/2009, 10:21, editado 1 vez(es)

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 6/8/2009, 22:56

Centralizar imagem no SCREEN do fox:
Código:
_screen.AddObject("LOGO","Image")
_screen.LOGO.Picture=GETPICT()
_screen.LOGO.left=(_Screen.width/2) - (_screen.LOGO.width/2)
_screen.LOGO.Top =(_Screen.Height/2) - (_screen.LOGO.Height/2)
_screen.LOGO.BackStyle = 0 && Transparente
_screen.LOGO.Visible = .T.

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 7/8/2009, 07:55

Verificando se um objeto tem, ou não, uma propriedade:
Código:
CLEAR

LOCAL obj as Object
m.obj = NEWOBJECT("classeteste")

?PEMSTATUS(m.obj, 'prop1',5)
?PEMSTATUS(m.obj, 'prop3',5)
?PEMSTATUS(m.obj, 'modelo1',5)
?PEMSTATUS(m.obj, 'modelo3',5)

m.obj = null

DEFINE CLASS classeteste AS CUSTOM

   prop1 = NULL
   prop2 = NULL

   PROCEDURE modelo1 AS void
   ENDPROC

   PROCEDURE modelo2 AS void
   ENDPROC

ENDDEFINE

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 13/8/2009, 17:11

Separando as cores de um resultado obtidas pela função GETCOLOR():
Código:
CLEAR
lncor = GETCOLOR()

?getred(lncor)
?getgreen(lncor)
?getblue(lncor)

FUNCTION getred(tncolor)
   RETURN BITAND(tncolor, 0x000000ff)
ENDFUNC

FUNCTION getgreen(tncolor)
   RETURN BITRSHIFT(BITAND(tncolor, 0x0000ff00), 8)
ENDFUNC

FUNCTION getblue(tncolor)
   RETURN BITRSHIFT(BITAND(tncolor, 0x00ff0000), 16)
ENDFUNC


Fonte:
Grupo Fox Br, postado por Thiago Takehana.

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 14/8/2009, 14:24

Manipulando Formulários:
Código:
DO FORM "seuForm.scx" NAME formAberto

formAberto.WindowState = 1 && Minimza a janela
formAberto.WindowState = 0 && Restaura a janela
formAberto.show() && Traz para frente
formAberto.Release() && Fecha o Form

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 9/9/2009, 17:45

Escolhendo o papel para impressão:
Código:
SYS(1037)

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: [Tópico Único] - Dicas e Truques

Mensagem por Marcos Guedes em 9/9/2009, 17:46

Exemplo de impressão utilizando o "@... SAY":
Código:
SET DEVICE TO PRINTER
SET PRINTER ON

@ PROW(), PCOL() SAY "Linha 1"
@ PROW()+1, 0 SAY "Linha 2"
@ PROW()+1, 0 SAY "Linha 3"

SET PRINTER OFF
SET PRINTER TO
SET DEVICE TO SCREEN

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Página 1 de 3 1, 2, 3  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