bonjour,
j'ai trouvé sur le net la procedure suivante: elle sert a séparer les mots d'une chaine CSV
ce que je ne comprends pas c'est la variable de type TSysCharSet.
je pense comprendre qu'elle sert à définir les possibles séparateurs. Mais j'ai essayé d'appeler la procédure avec [';'] comme paramètre et ca fonctionne ?
Elle me sépare bien les chaines avec le ";" comme séparateur alors que ce n'est pas défini dans la fonction ?
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 procedure Tform1.extraireMots(s : string; into : TStrings; viderListe : boolean = false; sep : TSysCharSet = [' ', ',']); var i, n : integer; currentWord : string; begin if viderListe then into.Clear; n := length(s); i := 1; while (i <= n) do begin currentWord := ''; { on saute les séparateurs } while (i <= n) and (s[i] in sep) do inc(i); { récupération du mot courant } while (i <= n) and not (s[i] in sep) do begin currentWord := currentWord + s[i]; inc(i); end; if (currentWord <> '') then into.Add(currentWord); end; end;
Partager