Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.
  • Index
  •  » Powerscripts
  •  » [SOURCE] Reconvertir en majuscule ou minuscule des mots sans les accents !
  • 1 évaluations, moyenne 5

#1 31-05-2006 16:24:02

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

[SOURCE] Reconvertir en majuscule ou minuscule des mots sans les accents !

Hello,
voici un script qui pourrait interesser certaines personnes.
Il s'agit de reconvertir des mots, adresses, en minuscule ou majuscule sans les accents !
On s'en sert pour les traitements batchs financiers...

Version PB7.

Tout d'abord, importer cette fonction globale.

Code: pb

$PBExportHeader$f_caractereaccentue.srf
global type f_caractereaccentue from function_object
end type

forward prototypes
global function string f_caractereaccentue (string as_mot, string as_type)
end prototypes

global function string f_caractereaccentue (string as_mot, string as_type);/*******************************************************************************/
/* Nom        : Permet de reconvertir en minuscule-majuscule sans les accents  */
/*******************************************************************************/
// SKA 2004

string  ls_mot
string  ls_caractereactuel
string  ls_caracterearemplace
long    ll_len , ll_cpt, ll_cptequivalent
boolean  lb_caractereautre

string  ls_caracterenormale
string   ls_caractere[]
string  ls_equivalent[]

ls_caractere[1]  = 'ÀÁÂÃÄÅÆ'
ls_caractere[2]  = 'Ç'
ls_caractere[3]  = 'ÈÉÊË'
ls_caractere[4]  = 'ÌÍÎÏ'
ls_caractere[5]  = 'Ñ'
ls_caractere[6]  = 'ñ'
ls_caractere[7]  = 'ÒÓÔÕÖ'
ls_caractere[8]  = 'ÙÚÛÜ'
ls_caractere[9]  = 'Ý'
ls_caractere[10]  = 'àáâãäåæ'
ls_caractere[11]  = 'ç'
ls_caractere[12]  = 'èéêë'
ls_caractere[13]  = 'ìíîï'
ls_caractere[14]  = 'ðòóôõö'
ls_caractere[15]  = 'ùúûü'
ls_caractere[16]  = 'ý'


ls_equivalent[1]    = 'A'
ls_equivalent[2]    = 'C'
ls_equivalent[3]    = 'E'
ls_equivalent[4]    = 'I'
ls_equivalent[5]    = 'N'
ls_equivalent[6]    = 'n'
ls_equivalent[7]    = 'O'
ls_equivalent[8]    = 'U'
ls_equivalent[9]    = 'Y'
ls_equivalent[10]    = 'a'
ls_equivalent[11]    = 'c'
ls_equivalent[12]    = 'e'
ls_equivalent[13]    = 'i'
ls_equivalent[14]    = 'o'
ls_equivalent[15]    = 'u'
ls_equivalent[16]    = 'y'


ls_mot     = as_mot
ll_len    = len(ls_mot)

choose case as_type    
  case 'U','UPPER'
    // mode majuscule
    ls_mot = upper(ls_mot)
    ls_caracterenormale = "^[A-Z]$"
  case else
    // mode minuscule
    ls_mot = lower(ls_mot)
    ls_caracterenormale = "^[a-z]$"
end choose

lb_caractereautre  = true

for ll_cpt = 1 to ll_len
  ls_caractereactuel     = mid(ls_mot,ll_cpt,1)
  ls_caracterearemplace   = ''  
  lb_caractereautre = Match(ls_caractereactuel, ls_caracterenormale)
  if lb_caractereautre = false then
    for ll_cptequivalent = 1 to upperbound(ls_caractere[])
      if pos(ls_caractere[ll_cptequivalent],ls_caractereactuel) > 0 then
        ls_caracterearemplace   = ls_equivalent[ll_cptequivalent]
        ls_mot            = Replace(ls_mot, ll_cpt, 1, ls_caracterearemplace)
        exit
      end if
    next
  end if
  
next

return ls_mot
end function

et , tester ce bout de script :

Code: pb

string ls_mot1
string ls_mot2

ls_mot1  = 'tête à pépé!'
ls_mot2  = f_caractereaccentue(ls_mot1,'U')
// U ou UPPER en parametre pour la reconvertion en majuscule

messagebox(ls_mot1,ls_mot2)


ls_mot1  = 'TÊTE À PÉPÉ!'
ls_mot2   = f_caractereaccentue(ls_mot1,'L')
// L ou autres que 'U','UPPER' pour la reconvertion en minuscule

messagebox(ls_mot1,ls_mot2)


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 
  • Index
  •  » Powerscripts
  •  » [SOURCE] Reconvertir en majuscule ou minuscule des mots sans les accents !
  • 1 évaluations, moyenne 5

Pied de page des forums

Propulsé par FluxBB 1.2.22