begin process at 2010 02 10 09:02:19
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > EXTRAIRE UN MOT À PARTIR DE SA POSITION

EXTRAIRE UN MOT À PARTIR DE SA POSITION


 Information sur la source

Note :
Aucune note
Catégorie :Trucs & Astuces Classé sous :string, position Niveau :Débutant Date de création :30/11/2005 Date de mise à jour :01/12/2005 19:38:56 Vu :3 191

Auteur : Harvester_

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Petite fonction qui retourne à partir d'une position  le mot correspondant...

Source

  • function ExtractWordAtPos ( Const Source : String ; Const Position : Integer ) : String ;
  • Const
  • // On définit les caractères des mots. On prends tous les caractères,
  • // et on en retire les lettres et les caractères accentués.
  • Alpha : Set of Char = ['a'..'z','A'..'Z',
  • 'é','è','ç','à','ù',
  • 'â','ê','î','ô','û','ä','ë','ï','ö','ü',
  • 'Ä','Ë','Ï','Ö','Ü','Â','Ê','Î','Ô','Û','1'..'9'
  • ] ;
  • Var
  • L, S, E : Integer ;
  • Begin
  • Result:=EmptyStr;
  • L:=Length(Source);
  • // Tests initiaux.
  • If (Position<1) Or (Position>L) Then
  • Exit ;
  • If Not (Source[Position] In Alpha) Then
  • Exit ;
  • // Initialisation : on positionne les index à la position de début de recherche.
  • S:=Position ;
  • E:=Position ;
  • // Recherche vers l'avant : début du mot.
  • While (S>1) Do
  • If (Source[S-1] In Alpha) Then Dec(S)
  • Else Break ;
  • // Recherche vers l'arrière : fin du mot.
  • While (E<L) Do
  • If (Source[E+1] In Alpha) Then Inc(E)
  • Else Break ;
  • // Mot trouvé : on l'extrait de la chaîne.
  • Result:=Copy(Source,S,(E-S)+1);
  • End;
function ExtractWordAtPos ( Const Source : String ; Const Position : Integer ) : String ;
Const
     // On définit les caractères des mots. On prends tous les caractères,
     // et on en retire les lettres et les caractères accentués.
     Alpha : Set of Char = ['a'..'z','A'..'Z',
                            'é','è','ç','à','ù',
                            'â','ê','î','ô','û','ä','ë','ï','ö','ü',
                            'Ä','Ë','Ï','Ö','Ü','Â','Ê','Î','Ô','Û','1'..'9'
                           ] ;
Var
   L, S, E : Integer ;
Begin
     Result:=EmptyStr;
     L:=Length(Source);
     // Tests initiaux.
     If (Position<1) Or (Position>L) Then
        Exit ;
     If Not (Source[Position] In Alpha) Then
        Exit ;
     // Initialisation : on positionne les index à la position de début de recherche.
     S:=Position ;
     E:=Position ;
     // Recherche vers l'avant : début du mot.
     While (S>1) Do
           If (Source[S-1] In Alpha) Then Dec(S)
                                     Else Break ;
     // Recherche vers l'arrière : fin du mot.
     While (E<L) Do
           If (Source[E+1] In Alpha) Then Inc(E)
                                     Else Break ;
     // Mot trouvé : on l'extrait de la chaîne.
     Result:=Copy(Source,S,(E-S)+1);
End;

 Conclusion

Cette fonction n'est pas de moi mais m'a été donnée par un membre de developpez.com ( merci à lui ).


 Historique

01 décembre 2005 19:38:56 :
Correction de quelques fautes.

 Sources du même auteur

Source avec Zip COMPOSANT DE SPLIT

 Sources de la même categorie

Source avec Zip Source avec une capture UTILISER UNE DLL INCLUSE EN RESSOURCES par Bacterius
Source avec Zip Source avec une capture IMAGE DANS UN TDBGRID par HAFTARIFOUAD
Source avec Zip Source avec une capture [ASTUCE] COMMENT VOIR UN ITEM, D'UNE LISTBOX, TRONQUÉ DANS U... par cirec
Source avec Zip Source avec une capture MESSAGEDLG PERSONNALISÉ par HAFTARIFOUAD
Source avec Zip Source avec une capture COMMENT DESSINER SUR UN TCANVAS LE TEXTE D'UNE FORMULE CHIMI... par pseudo3

 Sources en rapport avec celle ci

Source avec Zip COMBINAISONS DE STRINGS par askil2000
LIBRAIRIE DE FONCTIONS DE GESTION DE SOUS-CHAINES. par MAURICIO
Source avec Zip MÉMORISE SIMPLEMENT LA POSITION ET LA TAILLE DE VOS FENÊTRES par RURUInc
Source avec Zip Source avec une capture DELPHI : PROCEDURE SPLIT SIMILAIRE A LA FONCTION EPONYME EN ... par FENETRES
Source avec Zip DISTANCE LEVENSHTEIN (DISTANCE ENTRE DEUX CHAINES) par DevNul

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Sous Class [ par delphi ] Salut je voudrais savoir comment passer une sous class avec delphi ??par exemple avec vb ça se fait comme ça :Public Declare Function ShowWindow Lib " lancement d'un fichier au démarrage de l'application [ par Pierre ] Comment est-il possible, en Delphi, de lancer un fichier (.txt par exemple comme je l'indique ci-après) au démarrage sans que la TForm apparaisse ? Av limitation de sendtext ? [ par Xavier ] Bonjour,Comme la fonction sendtext prend en parametre un string et sachant qu'un string peut faire 2 Mo, pensez-vous qu'il est raisonnable d'utiliser Pb avec TListView et TListItem [ par Biose ] Salut à tous, Voilà mon problème, je me sert d'une ListView et à ma premiere action, je rempli ma premiere colonne ://ici "ori" à une valeur String et Prendre les deux derniers caractères d'une string... [ par ELECTRORESiSTiK ] Salut,Pourriez-vous m'expliquer comment prendre les deux dernier caractères d'une string ?Merci d'avance!Bonne Soirée Conserver la position de l'enregistrement dans un DBGrid [ par babylone ] boujour à tous,Y'a t-il une possibilité de conserver la position du curseur d'un DBgrid sur un enregistrement sélectionné. ???En fait une fenêtre appa String déjà existante... [ par finipe ] Bonjour à tous ! J'ai deux problèmes à vous soumettre :- Dans un programme je passe des items d'une combobox à une listbox, d'un simple clique de bout String et Retour chariot [ par lomig ] J'ai une chaine de caractere constituée de deux mots que je veuxséparer par un retour chariot et ensuite insérer cette chaine dans unfichier texte. Si Impression String [ par teamours ] J'aurais voulu savoir si tu connaissais le moyen d'imprimer le contnue de cet editbox Copier un Fichier dans une string [ par lomig ] Question a la con: comment fait-on pour copier un fichier (texte) dans une chaine (string)??


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales