Paramètre substr dans la fonction pos

cs_manudel Messages postés 63 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 7 mars 2005 - 16 mai 2002 à 11:16
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 - 16 mai 2002 à 23:51
Je dispose d'un fichier texte, avec comme lignes des enregistrements.
Les enregistrements sont composés de plusieurs champs, séparés par des séparateurs de
champs qui peuvent être ',' OU ';'.

Je voudrais rendre adaptable le code ci-dessous, mais n'y suis pas arrivé.

iPositionChaine1Fin := pos(';', tsl[i]);

3 réponses

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
16 mai 2002 à 15:06
Que veux-tu faire exactement ?
Qui signifie pour toi 'Adapter' ?
Quel est le type de la variable 'tsl' ?

Il n'est pas très bon que le séparateur ne soit pas toujours le même. Au moment de la lecture du fichier texte, il vaudrait mieux remplacer tous les ',' par des ';'.

Sinon au lieu d'utiliser pos essaye :
iPositionChaine1Fin := LastDelimiter(',;',tsl[i]);

--- :sleepy) Nono du Moulin :sleepy) ---
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
16 mai 2002 à 23:37
Dans LastDelimiter(',;',tsl[i]), le deuxième paramètre doit être une chaîne. Or, tsl[i] permet de penser qu'il s'agit d'un charactère : le ième élément de la chaine tsl ou s'agit-il d'une StringList ?

May Delphi be with you.
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
16 mai 2002 à 23:51
C'est pour ça que j'avais posé la question à manudel.
Je suppose que tsl est de type TStrings ou TStringList, car sinon pos() ne compilerait pas non plus.

Mais il est vrai que si la question était un peu plus précise, la réponse serait aussi plus précise...

--- :sleepy) Nono du Moulin :sleepy) ---
0
Rejoignez-nous