Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

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