Accueil > > > TROUVER LA POSITION (LIGNE, ET "COLONNE") D'UN MOT DANS UN TSTRINGS
TROUVER LA POSITION (LIGNE, ET "COLONNE") D'UN MOT DANS UN TSTRINGS
Information sur la source
Description
Le but de cette fonction est de trouver la position (X, Y) d'un mot dans une TStrings (Tmemo, TListBox, TComboBox...) Cette fonction s'utilise comme la fonction delphi "pos", et le résultat renvoyé est un TPoint. Remarques: Les TStrings étant des tableaux de chaînes dont l'indice commence à 0, je renvoie donc 0 si le mot se trouve sur la 1ere ligne, n-1 s'il se trouve sur la ligne n°n, et -1 s'il n'a rien trouvé. Chaque chaine de la TString est un tableau dont l'indice commence à 1. Je renvoie donc 1 si le mot commence en début de chaine... et 0 si rien n'a été trouvé Donc X et Y commencent respectivement à 1 et 0 (rien ne vous empêche de modifier ca, si vous voulez que ce soit plus "cohérent", j'ai personnellement préféré respecter la logique Delphi, surtout que les données sont directement utilisables telles qu'elles si on doit retravailler la TStrings) Je vous propose cette fonction parceque j'en avais besoin et que finalement, j'ai trouvé une facon astucieuse de répondre au problème.
Source
- function PosInStrings(Substr: string; s : TStrings) : TPoint;
- var SLtemp : TStringList;
- p : Integer;
- begin
- p := Pos(Substr, s.Text);
-
- if p>0 then begin
- SLtemp := TStringList.Create;
- try
- SLtemp.Text := Copy(S.Text, 1, p);
- RESULT.Y := SLtemp.Count-1;
- RESULT.X := Pos(Substr, s[RESULT.Y]);
- finally
- SLtemp.Free;
- end;
- end
- else begin
- RESULT.X := -1; // TStrings commencent à 0
- RESULT.Y := 0; // string commence à 1
- end;
- end;
function PosInStrings(Substr: string; s : TStrings) : TPoint;
var SLtemp : TStringList;
p : Integer;
begin
p := Pos(Substr, s.Text);
if p>0 then begin
SLtemp := TStringList.Create;
try
SLtemp.Text := Copy(S.Text, 1, p);
RESULT.Y := SLtemp.Count-1;
RESULT.X := Pos(Substr, s[RESULT.Y]);
finally
SLtemp.Free;
end;
end
else begin
RESULT.X := -1; // TStrings commencent à 0
RESULT.Y := 0; // string commence à 1
end;
end;
Conclusion
Si vous connaissez une autre manière de faire, n'hésitez pas à m'en faire part. Et n'hésitez pas à laisser des commentaires...
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
STRINGGRID [ par selma-elec ]
Comment peut on faire dans un STRINGGRID en mode selection de ligne (gorowselect = true) avec une ligne fixe (fixedrows = 1) pour executer du code lor
Retour a la ligne dans un titre de colonne [ par LolHolde ]
Salut, Je voudrais pouvoir revenir a la ligne dans un titre de colonne d'un TBGrid. J'ai essaye les solutions donnees ici precedement http://
Problème d'index [ par blinkseb ]
Bonjour à tous, Je possède sur une form différent TImage, alignés en lignes et en colonnes. En sachant que les images sont r
TListView et selection ... [ par ptitmanu ]
Bonjour,J'ai une appli qui log des evenements. Pour chaque log je dispose d'informations comme l'heure, la date, le type de message, le contenu... Je
Ajouter une ligne à la fin d'un dbgrid pour afficher les totaux des elements d'une colonne [ par kam81 ]
Bonjour,Est il possible d'ajouter une ligne à la fin d'un dbgrid qui sera semblable à une colonne mais de forme horizontale pour y aff
Récupération valeur de la cellule de la ligne 3 de la colonne 4 d'un ListView [ par Mouchty8585 ]
Bonjour a tous, je réalise un petit fichier Excel dans lequel j'ai une list view composé de 5 colonnes et 10 Ligne. J'aimerai quand j'appuie sur un b
enregistrer les information une fois la ligne de la table acces selectionné [ par pratrick ]
Bonjour J'ai actuellement une table access je localise la ligne dont je recherche la chaine de caractère [code=pas]adotable2.Locate('commune',DBEdit3.
générer ligne de commande d'un signal video [ par broqua52 ]
Bonsoir a tous, voilà j'aurais besoin d'aides j'ai un mot de 6bits (100000) a écrire pour un PIC30F mais je n'ai pas la moindre idée dans la façon de
TListView avec 1ère colonne fixe [ par ch16089 ]
Je recherche un composant dérivé de TListView et permettant d'affichier en permanence la 1ère colonne (l'utlisation de la barre de défilement horizont
Généré un fichier txt [ par zer_you_19 ]
Bonjour J’ai un fichier texte avec un format bien défini en nombre de caractères et d’espace dans chaque ligne, et j’ai besoin de g
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : PAINTBOXRE : PAINTBOX par fodhel
Cliquez pour lire la suite par fodhel
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|