Clipper On Line • Ver Tópico - Conhecimentos indispensáveis - seja Clipper ou Harbour

Conhecimentos indispensáveis - seja Clipper ou Harbour

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Conhecimentos indispensáveis - seja Clipper ou Harbour

Mensagempor Pablo César » 07 Fev 2017 08:54

JoséQuintas escreveu:Na função, o conteúde começou em zero, e foi somando um. Mas não foi zerado a cada chamada, a função "lembrou" do valor anterior.

Sim... tem razão. Muito bom isso.

JoséQuintas escreveu:Não é igual PUBLIC, porque SÓ A FUNÇÃO enxerga essa variável.

Nem igual ao LOCAL que sempre zeraria o valor... entendi.

Muito obrigado Mr. Quintas. Pois é justamente isso que vi no exemplo do Krzysztof ao igual do seu que você agora explicou o comportamento.
Pois a simples vista não parecia que teria esse comportamento (de guardar esse valor de dentro das sub-funções). Valeu !

Mr. Quintas você é muito bom nas suas explicações e tem um aguçado sentido nos seus análises...

(it's good to have you in our community)

:{
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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Conhecimentos indispensáveis - seja Clipper ou Harbour

Mensagempor rubens » 07 Fev 2017 09:03

Bom dia...

Agora ficou bem claro...
É bem interessante sim... principalmente por ser acessada somente na função...

Valeu Quintas...

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Conhecimentos indispensáveis - seja Clipper ou Harbour

Mensagempor JoséQuintas » 07 Fev 2017 10:35

O mais importante é o seguinte:
Isso poderia ser feito com uma variável PUBLIC, mas todos os seus fontes dependeriam dela.
Não poderia alterar o nome nunca, a variável ficaria presa aos fontes do aplicativo, e os fontes do aplicativo presos ao nome da variável.
Teria que declarar a variável em todos os fontes pra funcionar a compilação -w3 -es2
Significa que se dá trabalho compilar com -w3 -es2, talvez seja o compilador te avisando pra melhorar alguma coisa.

Usando desse jeito, função e variável STATIC, os fontes nem sabem que a variável existe, apenas chamam a função.
Mais fácil de mexer nos fontes.
E se errar o nome, que é a função, a linquedição já vai te avisar, porque vai dizer que a função não existe.

Não parece, mas uma simples definição de variável pode facilitar muito num projeto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Conhecimentos indispensáveis - seja Clipper ou Harbour

Mensagempor Claudio Soto » 07 Fev 2017 20:58

Pablo, en este ejemplo cambia la variable static por una pública y vas a ver que funcionan igual, porque mantiene el valor de la última llamada a la funcion, la diferencia es que con static te aseguras que la variable no se le asigne valores fuera de la funcion, en cambio con la public podes cambiar su valor fuera y dentro de la funcion. Esto último es mas peligroso obviamente por el conflictivo en el nombre de variables y por la dificultad en el desarrollo de rutinas generales
En el ej es necesario que sea static porque la variable actúa como flag flipflop, y por lo tanto necesita recordar el último valor que se le asigno, si la cambias por local siempre va a ser .t., en cambio con static se inicia con .t. pero en cada llamado se invierte el valor, es decir fluctúa el valor entre t y f entre cada llamada.

PD: cuando poste esto no vi que ya se había contestado, I'm sorry Pablo.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Conhecimentos indispensáveis - seja Clipper ou Harbour

Mensagempor Pablo César » 07 Fev 2017 21:18

Entiendo. Muy bueno está el STATIC.
Pena que lo asimilé ahora de viejo... Imagem

Claudio Soto escreveu:PD: cuando poste esto no vi que ya se había contestado, I'm sorry Pablo.

No hay problemas Claudio. Me vino bien tu comparación. Nunca está demás.
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 de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Conhecimentos indispensáveis - seja Clipper ou Harbour

Mensagempor Heero » 22 Fev 2017 10:25

Agradecido!! :{ :{
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Heero
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 51
Data de registro: 13 Jul 2015 22:10
Cidade/Estado: Guarulhos/SP
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Anterior



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 12 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro