[PHC] - Framework PHC - Funções, comados e variáveis

haztik

Membro
Olá.

Comecei recentemente a trabalhar/programar com o PHC. A maior dificuldade que encontro é a falta de documentação sobre as funções internas do Framework PHC. De facto, na ajuda, encontram-se algumas referências a funções internas do Framework, mas apenas inseridas em exemplos de código.

Estou a tentar reunir uma "Knowledge base" com as funções internas do Framework, e nesse sentido, gostaria de colocar o pedido a este fórum de partilharem informação que tenham reunido sobre este assunto.

Para já, isto foi o que apurei:

IS_CLNO()
is_clno(mno, mestab,mcheckmexer, mWhere, mSilent)

IS_FONO()
Is_fono(mRef)

IS_STREF()
Is_stref(mRef, mSilent, mWhere)

IS_PENO()
Is_peno(mno)

IS_MASERIE()
Is_maserie(mref, mSilent)

IS_LVSITE()
Is_lvsite(mwhat)

IS_USERNO()
Is_userno(muserno)

BOCLACT()
Boclact(mauto, lsilencio)

FTCLACT()
Ftclact(Mauto, mtabl, lsede, lsilencio, mtabori, meuro, lc2cliente, mtab2)

DBFUSE()
dbfuse(Mbd, mnomebd,mext,mselect,mprikey,mupdcri,mviewindex,P_ctblrelation &47446 - P_ctblrelation = Nome Da Tabela Para Fazer Set Relation)


  • Do dbfuseNomeDaTabela (Não se aplica a tabelas de utilizador)
    Exemplos: Do dbfusest (para a tabela st)
    Do dbfusesz (para a tabela sz)

DBFUSETABUSRNOME() (aplica-se apenas a tabelas de utilizador, e sem o 'u_')
Dbfusetabusrnome(Mnometabela)

U_REQUERY()
u_requery(malias)

Exemplos com dbfuse e u_requery

Imaginemos que pretendemos carregar em memória a tabela BI com os registos de determinado dossier

If !used('bi') && Certifica-se que a área não está carregada ainda
Do dbfusebi && carrega a área BI em memória
Endif

v_bibostamp = '[stamp do dossier bostamp]' && esta variável é formada com a seguinte estrutura: v_[NomeTabela][StampRelação]
u_requery('bi')

BROWLIST()
Browlist(
Nome da Lista (string)
, Cursor/recordsource (string
, [Cursor para guardar definições (string)]
, [Permite alterar registos (Logic .F.) ]
, [Permite inserir novos registos (Logic (.F.)]
, [Permite Excluir Registos (.F.)]
,[Ficheiro de exportação seleccionável (Logic .F.)]
, [Reinicia definições da Grelha (Logic (.f.)])
)

U_STAMP()
u_stamp(mrrec,p_lNoInis)

U_TABUPDATE()
u_tabupdate(P_lallrows, P_lforce, P_calias)

FECHA()
Fecha(mbd)

DOREAD()
Doread(cNomeForm, cNomeObj, cParas, cModal, lExpandParas, lchkMexendo, ldobytimer)

GETNOME()
Getnome(Ctitulo, xdefeito, cnotas, cpicture, nbutao, lpasswordmode, ccombrws, lretlistindex, ccaption, nvalormin, nvalormax, ctypeget, objparametros)

Showsave (comando para apresentar save nos ecrãs)?
Exemplo: sst.showsave

Refrescar (comando para refrescar ecrãs)?
Exemplo: sst.refrescar
 
Última edição:
PHC IS_CLNO - no google returnou 0 resultados, de certeza que isso está bem? o mesmo para várias outras funções.
isso deve ser uma framework MUITO especifica, a unica cena que encontrei no google foi "PHC the PHP compiler", gostava de ajudar mas sem mais informação não ha nada a fazer.

também encontrei resultados referentes a emprego "candidato tem de conhecer a framework PHC", era fixe se conseguisse encontrar mais informação sobre ela lol.

suponho que seja algo de base de dados ou mesmo de gestão? foi o que me deu a entender.
 
PHC IS_CLNO - no google returnou 0 resultados, de certeza que isso está bem? o mesmo para várias outras funções.
isso deve ser uma framework MUITO especifica, a unica cena que encontrei no google foi "PHC the PHP compiler", gostava de ajudar mas sem mais informação não ha nada a fazer.

também encontrei resultados referentes a emprego "candidato tem de conhecer a framework PHC", era fixe se conseguisse encontrar mais informação sobre ela lol.

suponho que seja algo de base de dados ou mesmo de gestão? foi o que me deu a entender.

Exacto...hehehe... é especifica do PHC Enterprise, e no Google pouco ou nada vais encontar, por isso decidi por aqui um tópico sobre isso. Mas obrigado pelo tempo a pesquisar :)

http://www.phc.pt/portal/programs/ewpview.aspx?codigo=terp
 
Eu lembro-me de ter um ficheiro de Help enorme (> 30 megas, acho) com muitos exemplos e descrições de funções.
É nesse que procuraste e não encontraste nada?
As que realmente não encontrava, eram aquelas funções para, por exemplo, actualizar os valores de uma factura... "dantes" era feito à mão, analisando as linhas todas, por código.
 
Não, esse não tenho... o meu ficheiro de ajuda (ajuda.chm tem cerca de 17 Mb) intitulado 'Manual único Enterprise 2008'. É o manual do utilizador.

As unicas funções internas que conheço são as que publiquei no Post inicial, encontrei-as quase todas nessa ajuda, e as restantes foi experimentando... :)
 
Acabei de experimentar a função mostrameisto(), é quase o mesmo que browlist(). Será que me podes arranjar esse tal manual?

P.S. Não usei o feedback por causa disto:

haztik, você não tem permissão para aceder a esta página por uma das seguintes razões:

  1. A sua conta não tem previlégios suficientes. Informe-se junto da Administração do Forum
  2. Esta página está desactivada pelos responsáveis do forum.
 
Última edição:
Infelizmente, não.
Tive contacto com ele numa empresa onde trabalhei 6 meses, mas já não estou lá desde Outubro passado...
Posso tentar arranjar alguns contactos, mas é difícil...
Se alguém aqui tiver acesso a ele, era bom.
 
Tive contacto com o PHC nas versões 7, 2003 e 2004 e realmente a framework é muito específica. Isto porque é criada pela própria PHC e como tal não vem divulgada na net.
Nas versões antigas a base da aplicação era o DBase e e Visual Fox-Pro e muita coisa é parecida com fox-pro.
Eles são extremamente acessíveis e não sei qual o tipo de relação que tu ou a empresa têm com eles mas no "meu tempo" eles davam apoio ao desenvolvimento e se lhes pedires os ficheiros de ajuda e não têm problemas em dar e até auxiliam no dev.
Ainda para mais na versão Enterprise... só pelo preço...
(Isto claro se a coisa não mudou muito...)
 
Olá.

Comecei recentemente a trabalhar/programar com o PHC. A maior dificuldade que encontro é a falta de documentação sobre as funções internas do Framework PHC. De facto, na ajuda, encontram-se algumas referências a funções internas do Framework, mas apenas inseridas em exemplos de código.

Estou a tentar reunir uma "Knowledge base" com as funções internas do Framework, e nesse sentido, gostaria de colocar o pedido a este fórum de partilharem informação que tenham reunido sobre este assunto.

Para já, isto foi o que apurei:

IS_CLNO()
is_clno(mno, mestab,mcheckmexer, mWhere, mSilent)

IS_FONO()
Is_fono(mRef)

IS_STREF()
Is_stref(mRef, mSilent, mWhere)

IS_PENO()
Is_peno(mno)

IS_MASERIE()
Is_maserie(mref, mSilent)

IS_LVSITE()
Is_lvsite(mwhat)

IS_USERNO()
Is_userno(muserno)

BOCLACT()
Boclact(mauto, lsilencio)

FTCLACT()
Ftclact(Mauto, mtabl, lsede, lsilencio, mtabori, meuro, lc2cliente, mtab2)

DBFUSE()
dbfuse(Mbd, mnomebd,mext,mselect,mprikey,mupdcri,mviewindex,P_ctblrelation &47446 - P_ctblrelation = Nome Da Tabela Para Fazer Set Relation)


  • Do dbfuseNomeDaTabela (Não se aplica a tabelas de utilizador)
    Exemplos: Do dbfusest (para a tabela st)
    Do dbfusesz (para a tabela sz)
DBFUSETABUSRNOME() (aplica-se apenas a tabelas de utilizador, e sem o 'u_')
Dbfusetabusrnome(Mnometabela)

U_REQUERY()
u_requery(malias)

Exemplos com dbfuse e u_requery

Imaginemos que pretendemos carregar em memória a tabela BI com os registos de determinado dossier

If !used('bi') && Certifica-se que a área não está carregada ainda
Do dbfusebi && carrega a área BI em memória
Endif

v_bibostamp = '[stamp do dossier bostamp]' && esta variável é formada com a seguinte estrutura: v_[NomeTabela][StampRelação]
u_requery('bi')

BROWLIST()
Browlist(
Nome da Lista (string)
, Cursor/recordsource (string
, [Cursor para guardar definições (string)]
, [Permite alterar registos (Logic .F.) ]
, [Permite inserir novos registos (Logic (.F.)]
, [Permite Excluir Registos (.F.)]
,[Ficheiro de exportação seleccionável (Logic .F.)]
, [Reinicia definições da Grelha (Logic (.f.)])
)

U_STAMP()
u_stamp(mrrec,p_lNoInis)

U_TABUPDATE()
u_tabupdate(P_lallrows, P_lforce, P_calias)

FECHA()
Fecha(mbd)

DOREAD()
Doread(cNomeForm, cNomeObj, cParas, cModal, lExpandParas, lchkMexendo, ldobytimer)

GETNOME()
Getnome(Ctitulo, xdefeito, cnotas, cpicture, nbutao, lpasswordmode, ccombrws, lretlistindex, ccaption, nvalormin, nvalormax, ctypeget, objparametros)

Showsave (comando para apresentar save nos ecrãs)?
Exemplo: sst.showsave

Refrescar (comando para refrescar ecrãs)?
Exemplo: sst.refrescar

Essa informação está disponível na enciclopédia da PHC.
 
Back
Topo