Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
54 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 52 Visitantes :: 2 Motores de busca

alceu11, 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
» Modificar TitleBar e Icone do Executavel.
Hoje à(s) 09:28 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

» Erro no Projeto Chat
Ontem à(s) 15:35 por renatojunior2009

» 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

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: 2

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

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: 6

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

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

[Tópico Único] - Dicas e Truques 5 4.2 15

[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