O Histórico
A Ferramenta
O Novo Clarion 6
Soluções Web
CD de Avaliação
Acessórios
Tutorial Clarion
 



Artigos e Dicas Técnicas


	  [ Índice ] 
==> Função para manipulação de strings do tipo procura e substitui. Data Publicação: 23/07/2004 ==> Equivalência entre Métodos Classe ABC e Comandos Clarion (Legacy) Data Publicação: 23/07/2004
 
Função TrocaSeq

Autor: Cleber Souza - Clarion Software Brasil - São Paulo-SP
e-mail: cleber.souza@clarion.com.br


! procura strA em str e substitui por strB
Prototype: ( string, string, string ), string
Parameters: ( str, strA, strB )
!data section lenStrA long,auto lenStrB long,auto lenStr long,auto i long,auto
!code section lenStr = len( clip( str ) ) lenStrA = len( clip( strA ) ) lenStrB = len( clip( strB ) ) i = instring( clip( strA ), clip( str ), 1, 1 ) loop until ( i = 0 ) str = str[ 1 : i-1 ] & clip( strB ) & str[ i + lenStrA : lenStr ] i = instring( clip( strA ), clip( str ), 1, i + lenStrB ) end return( str )
!Exemplos de uso s = TrocaSeq( ’ABCDE’, ’A’, ’B’) !s = ’BBCDE’ s = TrocaSeq( ’ABCDE’, ’a’, ’B’) !s = ’ABCDE’ s = TrocaSeq( ’ABCDE’, ’BCD, ’1’) !s = ’A1E’ s = TrocaSeq( ’ABCDE’, ’D’, ’za’) !s = ’ABCzaE’


  • Download do artigo em .PDF

     
    Equivalência entre Métodos ABC e Comandos Clarion (Legacy)

    Autor: Ricardo Fantin - Clarion Software Brasil - Porto Alegre-RS
    e-mail: ricardo.fantin@clarion.com.br


    Comando Clarion (Legacy) (Método ABC) ACCESS (Método ABC) RELATE
    ADD (TRY) INSERT -
    GET (TRY) FETCH -
    DELETE - DELETE
    PUT UPDATE UPDATE
    
    !Exemplos de uso
    
    Quando você utiliza métodos da classe ABC em vez de comandos da Classe Clarion (Legacy) você deve cuidar a sintaxe de uso
    do método.
    
    
    ** Abertura de Arquivo:
    
    Relate:Clientes.Open (abre arquivo de clientes e demais relacionados)
    Relate:Clientes.Close (fecha o arquivo e todos demais relacionados)
    
    Access:Clientes.Open (abre apenas o arquivo de cliente)						
    Access:Clientes.Close (fecha o arquivo)	
    
    ** Equivalente ao Comando ADD do Clarion(Legacy)
    
    IF ACCESS:CLIENTES.INSERT( ) = LEVEL:BENIGN
       MESSAGE('GRAVOU OK')
    END
    
    IF ACCESS:CLIENTES.TRYINSERT( ) <> LEVEL:BENIGN
       MESSAGE('IMPOSSÍVEL A LIBERAÇÃO')
    END
    
    ** O TRYINSERT( ) OU TRYFETCH( ) não retornam a mensagem de erro padrão permitindo que o usuário trate
    o erro podendo até mesmo criar sua própria rotina de tratamento de erros. Outro detalhe que em caso de erro
    o Buffer não é limpo, evitando-se assim muitas vezes a necessidade de se fazer um REGET.
    
    ** ESTRUTURA DE LEITURA SEQUENCIAL DE UM ARQUIVO.
    CHAVE='ZERO'
    COMANDO SET(CHAVE,CHAVE) !Posiciona o ponteiro de leitura na posição indicada pelo campo anteiro (CHAVE)!não mudou.
    
    LOOP
          IF ACCESS:CLIENTES.NEXT( ) <> LEVEL:BENIGN ! OU SEJA FIM DE ARQUIVO=33
             BREAK
          ELSE
             PROCESSAMENTO ( INCLUSÃO,ALTERAÇÃO,EXCLUSÃO)	
          END	
    END
    
    ** Os erros são agora tratados com referência no retorno de Level:Benign.
       se a ação é bem sucedida ela igual a Level:benign se ela for diferente,
       significa que a ação desejada não foi concluída.
    
    

    Voltar para o topo