Laços de repetição

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

wagnerjsc
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 24 Jan 2014 09:11
Localização: limeira sp

Laços de repetição

Mensagem por wagnerjsc »

Boa tarde !
Sou novo aqui no fórum e na programação, estou tendo dificuldade para criar um laço de repetição.
Gostaria se possível alguém me ajudar postando a sintaxe de laços for, do, dowhile .

desde já agradeço!

Wagnerjsc
Editado pela última vez por Toledo em 28 Jan 2014 08:15, em um total de 1 vez.
Razão: O presente tópico foi movido da seção MiniGui, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com a MiniGui.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Laços de repetição

Mensagem por Toledo »

Olá Wagnerjsc, seja bem-vindo ao fórum!

Este exemplo que você quer é para compilar com o Clipper, Harbour ou MiniGui mesmo?

Exemplo Clipper ou Harbour:

Código: Selecionar todos

#include "Inkey.ch"

PROCEDURE Main()
LOCAL nKey
CLS
DO WHILE .T.
  nKey := Inkey(0)
  If nKey == K_ESC
   EXIT
  Endif
  Alert("Código da Tecla pressionada: "+str(nKey,3,0))
ENDDO
Return
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
wagnerjsc
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 24 Jan 2014 09:11
Localização: limeira sp

Laços de repetição

Mensagem por wagnerjsc »

Olá Toledo, Obrigado!

Os exemplos que preciso são para Harbour ou MiniGui mesmo.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Laços de repetição

Mensagem por alxsts »

Olá!

Seja bem-vindo ao fórum!

Segue o link para o Norton Guide do Clipper 5.2. Veja os comandos DO WHILE... ENDDO e FOR ... NEXT, na seção "Statements"

A sintaxe vale tanto em Harbour quanto em xHarbour. Nessas duas linguagens existe um laço diferente, chamado FOR EACH ... NEXT.
[]´s
Alexandre Santos (AlxSts)
wagnerjsc
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 24 Jan 2014 09:11
Localização: limeira sp

Laços de repetição

Mensagem por wagnerjsc »

Olá alxsts, Obrigado!

Vou da uma olhada sim, vlw pela ajuda!

abraço!
LUCAS MACHADO
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 31 Mai 2013 11:43
Localização: RIO DE JANEIRO/RJ

Laços de repetição

Mensagem por LUCAS MACHADO »

Caro Toledo,
Estou migrando um sistema de Clipper 5.2 para xHarbour com Minigui. Em algumas funções preciso permitir a saída do Loop com a tecla ESC. No Clipper isto funciona perfeitamente. A mesma função no xHarbour não sai pelo ESC de jeito nenhum. Onde estou errando? Coloquei o include
#include "Inkey.ch" no início do programa.

Código: Selecionar todos

DO  WHILE  .T.
 
    IF  EOF()
        EXIT
    ENDIF

    WCC_DIA  =  CC_DIA
 
     IF  WCC_DIA > "15" 
        EXIT
    ENDIF

    IF  INKEY() = 27
        EXIT
    ENDIF

    DO  P7C0_IMP_LINHA

    SKIP
 
ENDDO
Avatar do usuário
cruz_brasil
Usuário Nível 2
Usuário Nível 2
Mensagens: 59
Registrado em: 12 Mar 2010 17:17
Localização: Coimbra - Portugal

Laços de repetição

Mensagem por cruz_brasil »

Olá Lucas,

Se entendi, vc esta percorrendo uma tabela...
Já tentou usar lastkey() ?

Código: Selecionar todos

IF LASTKEY()=27
   EXIT
ENDIF
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Laços de repetição

Mensagem por Toledo »

LUCAS MACHADO escreveu:Estou migrando um sistema de Clipper 5.2 para xHarbour com Minigui
Amigo, primeiramente é bom deixar bem claro se você está programando em MiniGui modo gráfico (for Windows) ou em modo console (igual ao Clipper).

Bom, se for em modo gráfico, então suas dúvidas devem ser postadas na seção MiniGui aqui do fórum.

Agora se for console, então não muda nada na programação, tem que funcionar igualzinho como no Clipper. Outra coisa, se for realmente modo console e está usando a IDE da MiniGui apenas para compilar, então você está programando em Harbour (apenas Harbour). Não é correto dizer xHarbour com MiniGui.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
LUCAS MACHADO
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 31 Mai 2013 11:43
Localização: RIO DE JANEIRO/RJ

Laços de repetição

Mensagem por LUCAS MACHADO »

Estou usando modo gráfico, no modo console funciona perfeitamente, mas no gráfico não consigo sair do loop.
Obrigado
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Laços de repetição

Mensagem por Toledo »

LUCAS MACHADO escreveu:Estou usando modo gráfico
Neste caso, como disse na mensagem anterior, poste suas dúvidas na seção MiniGui.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder