Função em Clipper Summer 87

Fórum sobre ferramentas de apoio à programação (Clipper/[x]Harbour)

Moderador: Moderadores

JulioNSP
Usuário Nível 3
Usuário Nível 3
Mensagens: 244
Registrado em: 22 Dez 2009 09:25
Localização: São Paulo - SP

Re: Função em Clipper Summer 87

Mensagem por JulioNSP »

Olá GVC, testei sim, funcionou certinho.
Voce usa o Harbour?

Obrigado.
JulioNSP
Usuário Nível 3
Usuário Nível 3
Mensagens: 244
Registrado em: 22 Dez 2009 09:25
Localização: São Paulo - SP

Re: Função em Clipper Summer 87

Mensagem por JulioNSP »

Olá GVC, eu testei essa última e deu certo está funcionando muito bem.
Valeu pela ajuda.
Muito obrigado.
Você usa o Harbour?
Julio.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Função em Clipper Summer 87

Mensagem por alxsts »

Olá Júlio.

Poste sua dúvida de Harbour na seção apropriada do fórum e certamente os colegas te auxiliarão.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: Função em Clipper Summer 87

Mensagem por gvc »

Olá, JulioNSP.

Eu uso o xHarbour. Veja na sessão do [x]Harbour como migrar.
Além dos programas, tem o caminho das pedras para te ajudar a instalar e usar.
Boa sorte.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
JulioNSP
Usuário Nível 3
Usuário Nível 3
Mensagens: 244
Registrado em: 22 Dez 2009 09:25
Localização: São Paulo - SP

Re: Função em Clipper Summer 87

Mensagem por JulioNSP »

Olá GVC, ja estive no forum do Harbour dando uma espiada, parece bem complicado, principalmente para quem está usando a linguagem estruturada do Clipper Summer 87, tenho que vencer a barreira da orientação ao objeto.
Mas acho que é o caminho. Valeu pela ajuda e as dicas.
[] Julio.
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: Função em Clipper Summer 87

Mensagem por gvc »

Programar em [x]Harbour é muito parecido com programar com o 5.3.
Veja que as principais diferenças são bem simples.
1) Vc vai ter que colocar uma function main indicando aonde começa a execução do seu sistema.
2) Todas as sua chamadas deverão ser para funções e não para PRG. Antes vc podia criar um prg com um nome e chamar a execução por ele. Agora a chamada é para a função, que pode ter o mesmo nome do prg.
3) Cuidado com nomes longos. O Clipper entendia até 10 caracteres para variáveis, campos e funções. O [x]Harbour entende até 256 (se eu não me engano).
4) Não use mais do cadcli, use cadcli()

Qto ao OOP, só se vc estiver a fim de usar recursos desse tipo, como o fantástico WIN32PRN.
Dá para migrar na boa, só não dá para falar que vai ser baba. Mas o esforço vale o benefício.
Vá aos poucos. Monte um PRG simples e compile. Coloque outros PRG's e vá crescendo com o sistema.

Obs. Vamos tomar cuidado, pois estamos saindo do tópico original. Se vc tiver dúvidas sobre a migração, abra um novo tópico na sessão do [x]Harbour.

Boa sorte. Espero ter ajudado.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
JulioNSP
Usuário Nível 3
Usuário Nível 3
Mensagens: 244
Registrado em: 22 Dez 2009 09:25
Localização: São Paulo - SP

Re: Função em Clipper Summer 87

Mensagem por JulioNSP »

Olá GVC, certo, vou fazer uns testes aqui só pra ter uma idéia.

Vamos encerrar a discussão aqui nesse forum. Assim que começar com os testes abro uma discussão no forum do Harbour.

Pode acreditar, ajudou muito essaa ultima informação de que eu posso migrar ainda na forma estruturada.

Abraço.
Julio.
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: Função em Clipper Summer 87

Mensagem por gvc »

Sim.
Tb tem as funções para retornar o dia de uma data (DAY(<data>)) o mes (MONTH(<data>)) e o ano (YEAR(<data>)).
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Função em Clipper Summer 87

Mensagem por Pablo César »

Veja qual foi a pergunta que originou tais indicações, ora que eu não tenho testado tais códigos.
JulioNSP escreveu:Olá pessoal, preciso de uma função que retorne um numero com a semana do ano.
Função retornando a semana do ano. Entende-se por semana 1 do ano 2010, os dias 1º de Janeiro, 2º de Janeiro. Procure no calendário do mês de Janeiro/2010 e você entenderá que o colega não quer uma função que mostre o dia da semana e sim uma função que pudesse mostrar o numero da semana.
Entender um pouco sobre isso, vale a pena ver um pouco em alguns conceitos sobre isso e encontrei algo bastante explicativo em inglês, para quem quiser ver o texto original, o endereço é: http://en.wikipedia.org/wiki/ISO_week_date mas se quiser ja traduzido em português, veja em: http://translate.google.com.br/translat ... hl%3Dpt-BR
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: Função em Clipper Summer 87

Mensagem por gvc »

[Eric.Developer]
Bom, o JulioNSP pediu uma ajuda e nós tentamos responder.
Como ele esta compilando com o Summer´87 nós demos a idéia para ele migrar para o [x]Harbour.
Como ele não tinha idéia de como trabalhar com o [x]Harbour, nós o encorajamos a tentar.

Quanto a pergunta original, só para vc ter idéia:

Week()
Calculates the numeric calendar week from a date.

Syntax
Week( [<dDate>] ) --> nWeekOfYear

Arguments
<dDate>
Any Date value, except for an empty date, can be passed. The default value is Date(). Return
The function returns a numeric value. It is the week number that includes <dDate>. If an invalid date is passed, the return value is zero.

Isso já é original do [x]Harbour. Fora mais um monte de outras funções e comandos.

Ah! Veja que depois vc perguntou sobre a função DAY(). Essa já é original do DBaseII.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Re: Função em Clipper Summer 87

Mensagem por Pablo César »

A final não sei se o Julio sonseguiu algum resultado com alguma função feita na mão, alguma biblioteca externa ou até mesmo em Harbour...
Eu estou utilizando a função WEEK() da CT.LIB e é tira e queda. Só que a CT também apresenta aa WOM() que retorna o número da semana dentro do mês. E esta função está apresentando problemas. Veja o exemplo que está retornando semana 6... pode ?

Código: Selecionar todos

// TESTE.PRG
PARAMETERS cData

SET DATE TO BRITISH
SET CENTURY ON
IF cData=NIL
   ? "Falta parametro"
   QUIT
ELSE
   dHoje:=CTOD(cData)
ENDIF
? week(dHoje)
? wom(dHoje)
O exemplo acima pode passar parametro por exemplo TESTE "30/08/2010" e o retorno é 6 (como que pode ?). Não sei se isto também acontece no Harbour. Alguém ja passou por isto ? Estranho né ?
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder