Fonction de position d'une chaine

Résolu
Dezouille Messages postés 75 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 21 avril 2010 - 20 sept. 2005 à 14:04
Dezouille Messages postés 75 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 21 avril 2010 - 21 sept. 2005 à 08:15
Voila mon soucis.
J'ai un fichier .txt avec plus de 70000 lignes, dont les lignes sont exactement ça:
...
99;17/03/2005;18/03/2005;19/03/2005;GF044301;IM CHATEAUNEUF 2
100;17/03/2005;18/03/2005;19/03/2005;GF046401;IM CHATELLERAULT BIE LS
101;17/03/2005;18/03/2005;19/03/2005;GF051201;IM TOURS RASPAIL
3101;04/04/2005;05/04/2005;09/04/2005;GF016400;NETTO ST BARTHELEMY ANJOU
26569;17/05/2005;17/05/2005;21/05/2005;99;CLIENT ECHANTILLON ITM

...
Je voudrais extraire le numéro en gras sans le point virgule, mais mon probleme c'est qu'ils n'ont pas le meme nombre de caracteres. Je ne trouve pas la solution.

3 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
20 sept. 2005 à 16:07
Plus simplement, sans utiliser de fonction supplémentaire :

MonChiffre := Copy(Line, 1, Pos(';' , Line)-1 );

@+

Nico { http://www.ni69.new.fr }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
3
padsou Messages postés 121 Date d'inscription jeudi 24 janvier 2002 Statut Membre Dernière intervention 13 avril 2010
20 sept. 2005 à 14:29
Fais ça :

function StrToken(var sLine: string; cToken: char): string;
var
iPos: Integer;
begin
iPos := Pos(cToken, sLine);
if iPos = 0 then
begin
Result := sLine; {No more tokens - return rest of string}
sLine := '';
end
else
begin
Result := Copy(sLine, 1, iPos - 1); {Get first field without the token}
Delete(sLine, 1, iPos); {Del 1st field w/token from orig. string}
end;
end;

ensuite dans ton code tu fais :
monchiffre := strToken(maligne, ';');
0
Dezouille Messages postés 75 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 21 avril 2010
21 sept. 2005 à 08:15
Ouais, c'est exactement ce que j'ai fais, et ça marche impecable
0
Rejoignez-nous