Jump to content
Fivewin Brasil

Variaveis Private e Public


Pablo.Softgraf

Recommended Posts

Bom dia FiveWinners

Estou desesperado, tenho uma rotina do tipo Main() onde chamo todas as subrotinas do sistema, preciso de uma variavel que seja vista em todo o sistema , mas não consigo !!

Eu uso o VERCE para compilar ... segue exemplo

FUNCTION Main()

local hBWCC, oIco, oLogo1, oCur, oBar, oLogo2, wndOpen:= .f.

local oLogin, cLogin, oSenha, cSenha, btnConectar, btnCancelar

Public cSiglaImp := "123" id=red>

//MsgLogo( "logofrn5.bmp" )

hBWCC := LoadLibrary( "BWCC32.DLL" )

SET EPOCH TO 1930

SET DATE TO BRITISH

SET CENTURY OFF

SET DELETE ON

SET CONFIRM ON

SET SOFTSEEK OFF // Procura examente pela chave definida senão achar EOF // com clausula ON pega primeiro = ou >

SET 3DLOOK ON

SET MULTIPLE ON

SetHandleCount(80)

RddSetDefault("DBFNTX")

REQUEST DBFNTX

DbSetDriver("DBFNTX")

SET DATE FORMAT "dd/mm/yyyy"

SET RESOURCES TO "PADRAO.DLL"

BWCCRegister( GetResources() )

DEFINE DIALOG oDlgLogin ;

RESOURCE "SCR_SPLASH" ;

TITLE "Login"

REDEFINE GET oLogin VAR cLogin ID 4001 OF oDlgLogin

REDEFINE GET oSenha VAR cSenha ID 4002 OF oDlgLogin

REDEFINE BTNBMP LEFT btnConectar;

PROMPT "Conectar";

ID 531;

ACTION ( if ( cf_pol("CP_MEN0",cLogin,cSenha), ( oDlgLogin:End(),wndOpen:=.t. ,.t. ) ,( oLogin:setFocus() , .f.) ) );

OF oDlglogin

REDEFINE BTNBMP LEFT btnCancelar;

PROMPT "Cancelar";

ID 532;

ACTION ( oDlgLogin:End() );

OF oDlgLogin

ACTIVATE DIALOG oDlgLogin CENTERED

if wndOpen

DEFINE ICON oIco RESOURCE "260"

// Principio del Programa

DEFINE WINDOW oWPpal FROM 1,5 TO 20,75;

TITLE "SOFTGRAF";

MENU montaMenu();

MDI ICON oIco

ACTIVATE WINDOW oWPpal MAXIMIZED VALID MsgYesNo( "Deseja realmente sair do Cromosystem ","SOFTGRAF - Cromosystem" )

endif

RETURN NIL

function cf_pol(pol_prog,cLogin,cSenha)

msginfo(cSiglaIMP) id=red>

return .t.

Pablo Andrés Reyes Rivera

FWH 2.7 - xHarbour Compiler build 0.99.61 (SimpLex) - Workshop

Link to comment
Share on other sites

Bom dia FiveWinners

Estou desesperado, tenho uma rotina do tipo Main() onde chamo todas as subrotinas do sistema, preciso de uma variavel que seja vista em todo o sistema , mas não consigo !!

Eu uso o VERCE para compilar ... segue exemplo

FUNCTION Main()

local hBWCC, oIco, oLogo1, oCur, oBar, oLogo2, wndOpen:= .f.

local oLogin, cLogin, oSenha, cSenha, btnConectar, btnCancelar

Public cSiglaImp := "123" id=red>

//MsgLogo( "logofrn5.bmp" )

hBWCC := LoadLibrary( "BWCC32.DLL" )

SET EPOCH TO 1930

SET DATE TO BRITISH

SET CENTURY OFF

SET DELETE ON

SET CONFIRM ON

SET SOFTSEEK OFF // Procura examente pela chave definida senão achar EOF // com clausula ON pega primeiro = ou >

SET 3DLOOK ON

SET MULTIPLE ON

SetHandleCount(80)

RddSetDefault("DBFNTX")

REQUEST DBFNTX

DbSetDriver("DBFNTX")

SET DATE FORMAT "dd/mm/yyyy"

SET RESOURCES TO "PADRAO.DLL"

BWCCRegister( GetResources() )

DEFINE DIALOG oDlgLogin ;

RESOURCE "SCR_SPLASH" ;

TITLE "Login"

REDEFINE GET oLogin VAR cLogin ID 4001 OF oDlgLogin

REDEFINE GET oSenha VAR cSenha ID 4002 OF oDlgLogin

REDEFINE BTNBMP LEFT btnConectar;

PROMPT "Conectar";

ID 531;

ACTION ( if ( cf_pol("CP_MEN0",cLogin,cSenha), ( oDlgLogin:End(),wndOpen:=.t. ,.t. ) ,( oLogin:setFocus() , .f.) ) );

OF oDlglogin

REDEFINE BTNBMP LEFT btnCancelar;

PROMPT "Cancelar";

ID 532;

ACTION ( oDlgLogin:End() );

OF oDlgLogin

ACTIVATE DIALOG oDlgLogin CENTERED

if wndOpen

DEFINE ICON oIco RESOURCE "260"

// Principio del Programa

DEFINE WINDOW oWPpal FROM 1,5 TO 20,75;

TITLE "SOFTGRAF";

MENU montaMenu();

MDI ICON oIco

ACTIVATE WINDOW oWPpal MAXIMIZED VALID MsgYesNo( "Deseja realmente sair do Cromosystem ","SOFTGRAF - Cromosystem" )

endif

RETURN NIL

function cf_pol(pol_prog,cLogin,cSenha)

msginfo(cSiglaIMP) id=red>

return .t.

Pablo Andrés Reyes Rivera

FWH 2.7 - xHarbour Compiler build 0.99.61 (SimpLex) - Workshop

Link to comment
Share on other sites

citação:

Meu amigo , muito obrigado ..

mas eu já li este tópico , e sei como funciona cada uma delas mas o problemas é que está ocorrendo um erro que aparece assim :

C:\Seller_5WIN\cromosys.prg(39) Warning W0001 Ambiguous reference: 'CSIGLAIMP'

id=green>


id=quote>id=quote>

Pablo Andrés Reyes Rivera

FWH 2.7 - xHarbour Compiler build 0.99.61 (SimpLex) - Workshop

Link to comment
Share on other sites

C:\Seller_5WIN\cromosys.prg(39) Warning W0001 Ambiguous reference: 'CSIGLAIMP'

PUBLIC CSIGLAIMP -> Em todos os módulos que necessitar dela.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Meu amigo Pablo....

Isso não é um erro, é somente um aviso.... e funcionará perfeitamente...

Para não dar mais este tipo de aviso, verifique seu compilador a clausula /w e coloque /w 0 (zero)...

Mas não esqueca.... isso não é erro, por exemplo, coloque em seu compilador /w 3 e compila e depois se quizer, reporte aqui quantos mil warnings acontecera....

Abraços

Christiano A. Silveira

WebNet do Brasil

FiveWin 2.8 - xDevStudio 0.61 - Pelles C 4.50

fwcforum.jpg

Link to comment
Share on other sites

citação:

C:\Seller_5WIN\cromosys.prg(39) Warning W0001 Ambiguous reference: 'CSIGLAIMP'

PUBLIC CSIGLAIMP -> Em todos os módulos que necessitar dela.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe


id=quote>id=quote>

Kapiaba.... isso só é usado com compilador setado com /w 1 ou superior (só maluco pra usar assim..... hehehehe)...

Isso é uma referência externa e não caracteriza erro de programação....

Abraços

Christiano A. Silveira

WebNet do Brasil

FiveWin 2.8 - xDevStudio 0.61 - Pelles C 4.50

fwcforum.jpg

Link to comment
Share on other sites

citação:

Oh mestre JediFive, tentei fazer a partir de teus ensinamentos mas mesmo assim não consigo ele continua dando o mesmo erro , qdo coloco a variavel sem atribuição nenhuma ele aceita qdo coloco qualquer valor dá pau , exemplo :

function Main()

Public cSiglaIMP := space(3) " Dá Pau"

return nil

function Main()

Public cSiglaIMP "Dá Certo"

return nil

mas qdo atribuo qualquer valor nos submódulos dá pau também

tipo

cSiglaIMP := 'GGH'

C:\Seller_5WIN\cromosys.prg(39) Warning W0001 Ambiguous reference: 'CSIGLAIMP'

PUBLIC CSIGLAIMP -> Em todos os módulos que necessitar dela.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe


id=quote>id=quote>

Pablo Andrés Reyes Rivera

FWH 2.7 - xHarbour Compiler build 0.99.61 (SimpLex) - Workshop

Link to comment
Share on other sites

Aconselho deixar do jeito que ta e usar somente variaveis LOCAL e STATIC

Para usar uma variavel no programa inteiro é simples, trate ela como função ex

VARIAVEIS.PRG

STATIC _CSIGLAIMP

FUNCTION CSIGLAIMP(f_Atributo)

IF f_Atributo!=Nil

CSISLAIMP:=f_Atributo

ENDIF

RETURN CSIGLAIMP

////////////////////////////

Nos outros prgs

teste:=1

CSIGLAIMP(CSIGLAIMP()+teste) /// somando a variavel

CSIGLAIMP(200)/// Atribuindo

IF CSIGLAIMP()==200 /// verificando

ENTENDEU ?

Qualquer coisa tamos ai

Giovany Vecchi - Jales - SP

FWH 2.6 /Clipper 5.3b /Blinker 5.0 / Harbour 0.45 / Bcc 5.6 / Ads 8.0 /PellesC

Link to comment
Share on other sites

citação:

Muito obrigado amigo , bem que eu comentei com o meu sócio que poderia algo relacionado com os flags de compilação ,

é por esse tipo de ajuda que um dia o fivewin será uma potencia , te agradeço muito mesmo meu irmão valeu !!!!!!

não vejo a hora de outro encontro de Fivewinners


id=quote>id=quote>

Pablo Andrés Reyes Rivera

FWH 2.7 - xHarbour Compiler build 0.99.61 (SimpLex) - Workshop

Link to comment
Share on other sites

citação:

Muito obrigado mestre , bem que eu comentei com o meu sócio que poderia algo relacionado com os flags de compilação ,

é por esse tipo de ajuda que um dia o fivewin será uma potencia , te agradeço muito mesmo meu irmão Jedi FiveMaster valeu !!!!!!

não vejo a hora de outro encontro de Fivewinners


id=quote>id=quote>

Pablo Andrés Reyes Rivera

FWH 2.7 - xHarbour Compiler build 0.99.61 (SimpLex) - Workshop

Link to comment
Share on other sites

citação:

citação:

C:\Seller_5WIN\cromosys.prg(39) Warning W0001 Ambiguous reference: 'CSIGLAIMP'

PUBLIC CSIGLAIMP -> Em todos os módulos que necessitar dela.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe


id=quote>id=quote>

Kapiaba.... isso só é usado com compilador setado com /w 1 ou superior (só maluco pra usar assim..... hehehehe)...

Isso é uma referência externa e não caracteriza erro de programação....

Abraços

Christiano A. Silveira

WebNet do Brasil

FiveWin 2.8 - xDevStudio 0.61 - Pelles C 4.50

fwcforum.jpg


id=quote>id=quote>

QUANDO O SENHOR FOR UM PROGRAMADOR DE VERDADE E SENIOR, AI SIM, DISCUTIREI COM O SENHOR. EM CONTRÃRIO, ATENHA-SE AOS SEUS AFAZERES. QUANDO QUISER SUA OPINIÃO, EU PEÇO. POR ENQUANTO, SOMENTE NECESSITO DO MESTRE VAILTON RENATO. FALEI E DISSE...

VAILTON, NÃO ESQUEÇA AQUELA FUNÇÃO DO SOM. Abraços.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Fala João! Cheguei do almoço agora.. vou ver ela pra ti daqui a pouco...

Agora sobre o problema do Pablo seria bom se ele postasse aqui as msgs de erro, pois do jeito que ele diz fazer deveria rodar normal o sistema, até pq como o Christiano falou é somente um ALERTA do compilador e não deveria afetar o processo de compilação a menos que ele tenha setado qqer valor para /w.

Tenho tanto em clipper como xHB este tipo de rotina de funciona 100%... então tem q ser algum detalhe q está passando despercebido aê...

Vailton Renato

SQL LIB, wxWeb, xDevStudio & MyMake Developer

Empresa: (11) 5523.4359

"Quando você estiver preparado para deixar de trabalhar com arquivos DBFs, algo maior lhe levará para a SQL LIB".

Conheça o projeto em: www.sqllib.com.br

Link to comment
Share on other sites

citação:

Fala João! Cheguei do almoço agora.. vou ver ela pra ti daqui a pouco...

Agora sobre o problema do Pablo seria bom se ele postasse aqui as msgs de erro, pois do jeito que ele diz fazer deveria rodar normal o sistema, até pq como o Christiano falou é somente um ALERTA do compilador e não deveria afetar o processo de compilação a menos que ele tenha setado qqer valor para /w.

Tenho tanto em clipper como xHB este tipo de rotina de funciona 100%... então tem q ser algum detalhe q está passando despercebido aê...

Vailton Renato

SQL LIB, wxWeb, xDevStudio & MyMake Developer

Empresa: (11) 5523.4359

"Quando você estiver preparado para deixar de trabalhar com arquivos DBFs, algo maior lhe levará para a SQL LIB".

Conheça o projeto em: www.sqllib.com.br


id=quote>id=quote>

Toda Vez Que Se COMPILA com ESTES FLAGS, e NAO SE DECLARA as VARIAVEIS, LOGICAMENTE, o COMPILADOR, vai PARAR O FLUXO do PROGRAMA!

Exemplo:

%hdir%\bin\harbour SECAOPRO /es2/m/n/a/w2 /i%fwhdir%\include;%hdir%\include /w /p SECAOPRO.C >> Erro.log

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Olá,

citação:QUANDO O SENHOR FOR UM PROGRAMADOR DE VERDADE E SENIOR, AI SIM, DISCUTIREI COM O SENHOR. EM CONTRÃRIO, ATENHA-SE AOS SEUS AFAZERES.
id=quote>id=quote>

João, tenha cuidado com o que fala. Da última vez que desafiou alguém, levou uma surra memorável. E olhe que foi para um Capiau da roça. O Christiano não é pouca m.... não. Ele é da WebNet do Brasil, paulistano da gema. A surra pode ser maior ainda. Hehehehe

[]s,

Evandro G. de Paula

Curvelo - MG

evandro@skillnet.com.br (Escr. - na Cidade)

imortal@skillnet.com.br (Res. - na Roça)

FWH 2.6+PellesC+MyMake+xHarbour.org 0.99.5+SqlLib

Link to comment
Share on other sites

citação:

Olá,

citação:QUANDO O SENHOR FOR UM PROGRAMADOR DE VERDADE E SENIOR, AI SIM, DISCUTIREI COM O SENHOR. EM CONTRÃRIO, ATENHA-SE AOS SEUS AFAZERES.
id=quote>id=quote>

João, tenha cuidado com o que fala. Da última vez que desafiou alguém, levou uma surra memorável. E olhe que foi para um Capiau da roça. O Christiano não é pouca m.... não. Ele é da WebNet do Brasil, paulistano da gema. A surra pode ser maior ainda. Hehehehe

[]s,

Evandro G. de Paula

Curvelo - MG

evandro@skillnet.com.br (Escr. - na Cidade)

imortal@skillnet.com.br (Res. - na Roça)

FWH 2.6+PellesC+MyMake+xHarbour.org 0.99.5+SqlLib


id=quote>id=quote>

MAS VOCE Jà É SENIOR, E MUITO 'EXPERTO'. Jà O CRISTIANO... TASK! TASK! hehehehehehe.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Passada a guerra de egos, vamos ao que interessa:

1 - desligar avisos (/w1), assemelha-se a tomar remédio para passar a febre (que é um aviso) sem combater a infecção

2 - É sempre bom ter um pouco de humildade... (aprende-se muito mais no observar do que no muito falar)

3 - Esse tipo de erro indica que vc esta usando um campo na base de dados com o mesmo nome de uma variável de memória, o sistema... não dá erro, mas os resultados podem ser imprevisíveis para o usuário final.

4 - Se falei aqui alguma merda, perdoem-me...

Deus abençoe e ilumine a todos PRECISAMOS DE PAZ!!!

Link to comment
Share on other sites

citação:

Passada a guerra de egos, vamos ao que interessa:

1 - desligar avisos (/w1), assemelha-se a tomar remédio para passar a febre (que é um aviso) sem combater a infecção

2 - É sempre bom ter um pouco de humildade... (aprende-se muito mais no observar do que no muito falar)

3 - Esse tipo de erro indica que vc esta usando um campo na base de dados com o mesmo nome de uma variável de memória, o sistema... não dá erro, mas os resultados podem ser imprevisíveis para o usuário final.

4 - Se falei aqui alguma merda, perdoem-me...

Deus abençoe e ilumine a todos PRECISAMOS DE PAZ!!!


id=quote>id=quote>

OLÃ...

HUMILDEMENTE, NÃO TEM NENHUM PROBLEMA QUE VOCE TENHA UM CAMPO(FIELD) COM O MESMO NOME DE UMA VARIAVEL LOCAL, MEMVAR, PRIVATE OU PUBLICA.

FIELD JOSE

LOCAL JOSE

JOSE := 'EU SOU UMA VARIAVEL LOCAL'

? JOSE

? cAlias->JOSE //-> RETORNO DO CAMPO(FIELD) JOSE.

APONTA-SE PARA O CAMPO, E UM ABRACO.

NO CLIPPER, MAIS FACIL AINDA:

FIELD JOSE IN BANCOQUECONTEMJOSE.

MOLEZA!

Abraços.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...