terça-feira, 17 de dezembro de 2013

Queue - ListBox

Queue - ListBox

No clarion8,nao achei o listbox queue entao copio colo e altero o que desejo

              LIST,AT(11,54,561,207),USE(DeletaitensQueue),VSCROLL,FORMAT('12L(2)|M~Ite' & |
                'n~L(1)@n_03@'),FROM(DupQueue),#FIELDS(Dupq:Sequencia,Dupq:Cod,Dupq:EmitDest, |
                Dupq:Titulo,Dupq:Data_Emissao_DATE,Dupq:Data_Vencimento_DATE,Dupq:Data_Pagamento_DATE, |
                Dupq:Valor_Titulo_Receber,Dupq:Valor_Titulo_Pagar,Dupq:DiferencaValor),#ORIG(?List1), |
                #ORDINAL(358)



quarta-feira, 4 de dezembro de 2013

Browse - Filtrar Registros

Browse - Filtrar Registros




BRW1.SetFilter('(mat:FichaTecnica_mat=1)')
thiswindow.reset(true)

sexta-feira, 18 de outubro de 2013

quarta-feira, 9 de outubro de 2013

quinta-feira, 3 de outubro de 2013

Cpf / Cgc Cecar em clarion

Cpf/Cgc Cecar em clarion

CheckCGCCPF  ( Source)



 (STRING PNumero, ), BYTE


Dentro de Processd Code








  IF ~OMITTED(2) THEN
    IF PTipo THEN
      IF LEN(CLIP(PNUMERO)) = 18 THEN
        PNUMERO = DEFORMAT(CLIP(PNUMERO),@P##.###.###/####-##P)
        DO CheckCGC
      ELSIF LEN(CLIP(PNUMERO)) = 14 THEN
        PNUMERO = DEFORMAT(CLIP(PNUMERO),@P###.###.###-##P)
        DO CheckCPF
      .
    ELSE
      IF LEN(CLIP(PNUMERO)) = 14 THEN
        DO CheckCGC
      ELSIF LEN(CLIP(PNUMERO)) = 11 THEN
        DO CheckCPF
      .
    .
  ELSE
    IF LEN(CLIP(PNUMERO)) = 14 THEN
      DO CheckCGC
    ELSIF LEN(CLIP(PNUMERO)) = 11 THEN
      DO CheckCPF
    .
  .
  RETURN(3)

CheckCGC        ROUTINE

  LOC:NumCheck = '543298765432'
  LOC:Cgc = All('0',14 - Len(Clip(PNUMERO))) & PNUMERO

  Loop j# = 1 to 2
    Clear(Soma#)
    Loop i# = 1 to 12
      Soma# += (LOC:Cgc[i#] * LOC:NumCheck[i#])
    .

    If j# = 2 Then
      Soma# += 2 * Digito#
    .

    Digito# = (10 * Soma#) % 11
    If Digito# = 10 Then
      Digito# = 0
    .

    LOC:Controle = Clip(LOC:Controle) & Digito#
    LOC:NumCheck = '654329876543'
  .
  If (LOC:Controle = LOC:Cgc[13:14] Or PNUMERO = 0)
    Return(1)
  Else
    Return(0)
  End


CheckCPF        ROUTINE

  LOC:ParCic = All('0',11 - Len(Clip(PNUMERO))) & PNUMERO
  LOC:Cic = LOC:ParCic[1:3] & LOC:ParCic[4:6] & LOC:ParCic[7:9]
  LOC:Dig = LOC:ParCic[10:11]

  Loop j# = 1 to 2
    Clear(Soma#)
    Loop i# = 1 To (8 + J#)
      Soma# += (((10 + j#) - i#) * LOC:Cic[i#])
    .

    Digito# = (10 * Soma#) % 11
    If Digito# = 10 Then
      Digito# = 0
    .

    LOC:Controle = Clip(LOC:Controle) & Digito#
    LOC:Cic = Clip(LOC:Cic) & LOC:Controle
  End

  If (LOC:Controle = LOC:Dig Or PNUMERO = 0)
    Return(2)
  Else
    Return(0)
  End

Dentro de Data Section






LOC:Controle String(02)
LOC:NumCheck String(12)
LOC:cgc String(14)
LOC:ParCic String(11)
LOC:Cic String(11)
LOC:Dig String(02)

Testar
If CGC THEN
 i# = CheckCGCCPF(CGC, 1)

 if i# = 0 then
   select(?CGC)
   MESSAGE('Número do documento CGC/CPF é inválido.','Aviso!')

 ELSif  i# = 1 then
   select(?CGC)
   MESSAGE('Número do documento CGC esta OK.','Aviso!')

 ELSif  i# = 2 then
   select(?CGC)
   MESSAGE('Número do documento CPF esta OK.','Aviso!')

 elsif  i# = 3 then
   select(?CGC)
   MESSAGE('Impossível distinguir o número do CGC/CPF digitado.|Fomatos válidos: 99.999.999/9999-99 para CGC ou 999.999.999-99 para CPF','Aviso!')
 .
End

Queue

Queue

         sort(RazaoQueue,+RaqQ:Conta,+RaqQ:Descricao,+RaqQ:DtDocumento_DATE,+RaqQ:Sequencia,+RaqQ:Sequencia1)
         loop contador#=1 to records(RazaoQueue)
         get(RazaoQueue,contador#)
end

quarta-feira, 2 de outubro de 2013

quarta-feira, 25 de setembro de 2013

terça-feira, 24 de setembro de 2013

sexta-feira, 20 de setembro de 2013

quarta-feira, 18 de setembro de 2013

Clarion - 001 - Primeiro Programa Inicio Criando Cliente e Duplicata

Clarion - 001 - Primeiro Programa Inicio Criando Cliente e Duplicata



Curso Clarion - Parte 001 - Dct

Curso Clarion - Parte 001 - Dct
Criar Dct