Le découpage d'une chaîne dans une liste de chaînes


Une fonction qui divise une chaîne en parties séparées par une sous-chaîne
et renvoie les parties dans une dynamique de tableau de chaîne
le découpage d'une chaîne dans une liste de chaînes
Les fonctions suivantes découper une chaîne en parties séparées par une sous-chaîne et de retourner les pièces dans une liste de chaînes qui peuvent être transmis en tant que troisième paramètre ou créés par la fonction (et dans ce dernier cas, il doit être libéré par l'appelant):
interface
& nbsp & nbsp utilise des classes
& nbsp & nbsp fonction SplitStrings(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const séparateur: string = ','
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Chaînes: TStrings = nil): TStrings
& nbsp & nbsp fonction AnsiSplitStrings(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const séparateur: string = ','
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Chaînes: TStrings = nil): TStrings
& nbsp & nbsp mise en œuvre
& nbsp & nbsp utilise sysutils
& nbsp & nbsp fonction SplitStrings(const str: string const séparateur: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Chaînes: TStrings): TStrings
& nbsp & nbsp // Remplit une liste de chaînes avec les parties de 'str' séparés par des
& nbsp & nbsp // 'séparateur'. Si le Néant est passé à la place d'une chaîne de la liste,
& nbsp & nbsp // la fonction crée un objet TStringList qui a pour
& nbsp & nbsp // être libéré par l'appelant
& nbsp & nbsp var
& ! & ! & ! & nbsp n: integer
& ! & ! & ! & nbsp p, q, s: PChar
& ! & ! & ! & nbsp article: string
& nbsp & nbsp commencer
& ! & ! & ! & nbsp si les Chaînes = nil then
& ! & ! & ! & ! & ! & nbsp Résultat := TStringList.Créer
& ! & ! & ! & nbsp else
& ! & ! & ! & ! & ! & nbsp Résultat := Chaînes de caractères
& ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & nbsp p := PChar(str)
& ! & ! & ! & ! & ! & nbsp s := PChar(séparateur)
& ! & ! & ! & ! & ! & nbsp n := Longueur(séparateur)
& ! & ! & ! & ! & ! & nbsp repeat
& ! & ! & ! & ! & ! & ! & ! & nbsp q := StrPos(p, s)
& ! & ! & ! & ! & ! & ! & ! & nbsp si q = nil alors q := StrScan(p, #0)
& ! & ! & ! & ! & ! & ! & ! & nbsp SetString(item, p, q - p)
& ! & ! & ! & ! & ! & ! & ! & nbsp Résultat.Add(item)
& ! & ! & ! & ! & ! & ! & ! & nbsp p := q n
& ! & ! & ! & ! & ! & nbsp jusqu'à ce q^ = #0
& ! & ! & ! & nbsp à l'exception de

& ! & ! & ! & ! & ! & nbsp élément := '
& ! & ! & ! & ! & ! & nbsp si les Chaînes = nil alors le Résultat.Gratuit
& ! & ! & ! & ! & ! & nbsp soulever
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin
& nbsp & nbsp fonction AnsiSplitStrings(const str: string const séparateur: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Chaînes: TStrings): TStrings
& nbsp & nbsp // Remplit une liste de chaînes avec les parties de 'str' séparés par des
& nbsp & nbsp // 'séparateur'. Si le Néant est passé à la place d'une chaîne de la liste,
& nbsp & nbsp // la fonction crée un objet TStringList qui a pour
& nbsp & nbsp // être libéré par l'appelant
& nbsp & nbsp // version ANSI
& nbsp & nbsp var
& ! & ! & ! & nbsp n: integer
& ! & ! & ! & nbsp p, q, s: PChar
& ! & ! & ! & nbsp article: string
& nbsp & nbsp commencer
& ! & ! & ! & nbsp si les Chaînes = nil then
& ! & ! & ! & ! & ! & nbsp Résultat := TStringList.Créer
& ! & ! & ! & nbsp else
& ! & ! & ! & ! & ! & nbsp Résultat := Chaînes de caractères
& ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & nbsp p := PChar(str)
& ! & ! & ! & ! & ! & nbsp s := PChar(séparateur)
& ! & ! & ! & ! & ! & nbsp n := Longueur(séparateur)
& ! & ! & ! & ! & ! & nbsp repeat
& ! & ! & ! & ! & ! & ! & ! & nbsp q := AnsiStrPos(p, s)
& ! & ! & ! & ! & ! & ! & ! & nbsp si q = nil alors q := AnsiStrScan(p, #0)
& ! & ! & ! & ! & ! & ! & ! & nbsp SetString(item, p, q - p)
& ! & ! & ! & ! & ! & ! & ! & nbsp Résultat.Add(item)
& ! & ! & ! & ! & ! & ! & ! & nbsp p := q n
& ! & ! & ! & ! & ! & nbsp jusqu'à ce q^ = #0
& ! & ! & ! & nbsp à l'exception de
& ! & ! & ! & ! & ! & nbsp élément := '
& ! & ! & ! & ! & ! & nbsp si les Chaînes = nil alors le Résultat.Gratuit
& ! & ! & ! & ! & ! & nbsp soulever
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin

Exemples:
procedure TForm1.Button1Click(Sender: TObject)
& nbsp & nbsp commencer
& ! & ! & ! & nbsp SplitStrings(Edit1.Texte, ', ', ListBox1.Les éléments)
& nbsp & nbsp fin
& nbsp & nbsp procedure TForm1.Button2Click(Sender: TObject)
& nbsp & nbsp var
& ! & ! & ! & nbsp Parties: TStrings
& nbsp & nbsp commencer
& ! & ! & ! & nbsp Pièces := nil
& ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & nbsp Pièces := SplitStrings(Edit1.Texte, ', ')
& ! & ! & ! & ! & ! & nbsp ShowMessage('la Première partie est' des ' Parties[0] ''')
& ! & ! & ! & nbsp enfin
& ! & ! & ! & ! & ! & nbsp Pièces.Gratuit
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin

Vous pouvez voir un exemple à l'aide d'un tableau dynamique au lieu d'une StringList dans un article séparé.









Le decoupage d'une chaîne dans une liste de chaînes


Le decoupage d'une chaîne dans une liste de chaînes : Plusieurs milliers de conseils pour vous faciliter la vie.


Une fonction qui divise une chaîne en parties separees par une sous-chaîne
et renvoie les parties dans une dynamique de tableau de chaîne
le decoupage d'une chaîne dans une liste de chaînes
Les fonctions suivantes decouper une chaîne en parties separees par une sous-chaîne et de retourner les pieces dans une liste de chaînes qui peuvent etre transmis en tant que troisieme parametre ou crees par la fonction (et dans ce dernier cas, il doit etre libere par l'appelant):
interface
& nbsp & nbsp utilise des classes
& nbsp & nbsp fonction SplitStrings(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const separateur: string = ','
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Chaînes: TStrings = nil): TStrings
& nbsp & nbsp fonction AnsiSplitStrings(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const separateur: string = ','
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Chaînes: TStrings = nil): TStrings
& nbsp & nbsp mise en œuvre
& nbsp & nbsp utilise sysutils
& nbsp & nbsp fonction SplitStrings(const str: string const separateur: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Chaînes: TStrings): TStrings
& nbsp & nbsp // Remplit une liste de chaînes avec les parties de 'str' separes par des
& nbsp & nbsp // 'separateur'. Si le Neant est passe a la place d'une chaîne de la liste,
& nbsp & nbsp // la fonction cree un objet TStringList qui a pour
& nbsp & nbsp // etre libere par l'appelant
& nbsp & nbsp var
& ! & ! & ! & nbsp n: integer
& ! & ! & ! & nbsp p, q, s: PChar
& ! & ! & ! & nbsp article: string
& nbsp & nbsp commencer
& ! & ! & ! & nbsp si les Chaînes = nil then
& ! & ! & ! & ! & ! & nbsp Resultat := TStringList.Creer
& ! & ! & ! & nbsp else
& ! & ! & ! & ! & ! & nbsp Resultat := Chaînes de caracteres
& ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & nbsp p := PChar(str)
& ! & ! & ! & ! & ! & nbsp s := PChar(separateur)
& ! & ! & ! & ! & ! & nbsp n := Longueur(separateur)
& ! & ! & ! & ! & ! & nbsp repeat
& ! & ! & ! & ! & ! & ! & ! & nbsp q := StrPos(p, s)
& ! & ! & ! & ! & ! & ! & ! & nbsp si q = nil alors q := StrScan(p, #0)
& ! & ! & ! & ! & ! & ! & ! & nbsp SetString(item, p, q - p)
& ! & ! & ! & ! & ! & ! & ! & nbsp Resultat.Add(item)
& ! & ! & ! & ! & ! & ! & ! & nbsp p := q n
& ! & ! & ! & ! & ! & nbsp jusqu'a ce q^ = #0
& ! & ! & ! & nbsp a l'exception de

& ! & ! & ! & ! & ! & nbsp element := '
& ! & ! & ! & ! & ! & nbsp si les Chaînes = nil alors le Resultat.Gratuit
& ! & ! & ! & ! & ! & nbsp soulever
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin
& nbsp & nbsp fonction AnsiSplitStrings(const str: string const separateur: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Chaînes: TStrings): TStrings
& nbsp & nbsp // Remplit une liste de chaînes avec les parties de 'str' separes par des
& nbsp & nbsp // 'separateur'. Si le Neant est passe a la place d'une chaîne de la liste,
& nbsp & nbsp // la fonction cree un objet TStringList qui a pour
& nbsp & nbsp // etre libere par l'appelant
& nbsp & nbsp // version ANSI
& nbsp & nbsp var
& ! & ! & ! & nbsp n: integer
& ! & ! & ! & nbsp p, q, s: PChar
& ! & ! & ! & nbsp article: string
& nbsp & nbsp commencer
& ! & ! & ! & nbsp si les Chaînes = nil then
& ! & ! & ! & ! & ! & nbsp Resultat := TStringList.Creer
& ! & ! & ! & nbsp else
& ! & ! & ! & ! & ! & nbsp Resultat := Chaînes de caracteres
& ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & nbsp p := PChar(str)
& ! & ! & ! & ! & ! & nbsp s := PChar(separateur)
& ! & ! & ! & ! & ! & nbsp n := Longueur(separateur)
& ! & ! & ! & ! & ! & nbsp repeat
& ! & ! & ! & ! & ! & ! & ! & nbsp q := AnsiStrPos(p, s)
& ! & ! & ! & ! & ! & ! & ! & nbsp si q = nil alors q := AnsiStrScan(p, #0)
& ! & ! & ! & ! & ! & ! & ! & nbsp SetString(item, p, q - p)
& ! & ! & ! & ! & ! & ! & ! & nbsp Resultat.Add(item)
& ! & ! & ! & ! & ! & ! & ! & nbsp p := q n
& ! & ! & ! & ! & ! & nbsp jusqu'a ce q^ = #0
& ! & ! & ! & nbsp a l'exception de
& ! & ! & ! & ! & ! & nbsp element := '
& ! & ! & ! & ! & ! & nbsp si les Chaînes = nil alors le Resultat.Gratuit
& ! & ! & ! & ! & ! & nbsp soulever
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin

Exemples:
procedure TForm1.Button1Click(Sender: TObject)
& nbsp & nbsp commencer
& ! & ! & ! & nbsp SplitStrings(Edit1.Texte, ', ', ListBox1.Les elements)
& nbsp & nbsp fin
& nbsp & nbsp procedure TForm1.Button2Click(Sender: TObject)
& nbsp & nbsp var
& ! & ! & ! & nbsp Parties: TStrings
& nbsp & nbsp commencer
& ! & ! & ! & nbsp Pieces := nil
& ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & nbsp Pieces := SplitStrings(Edit1.Texte, ', ')
& ! & ! & ! & ! & ! & nbsp ShowMessage('la Premiere partie est' des ' Parties[0] ''')
& ! & ! & ! & nbsp enfin
& ! & ! & ! & ! & ! & nbsp Pieces.Gratuit
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin

Vous pouvez voir un exemple a l'aide d'un tableau dynamique au lieu d'une StringList dans un article separe.


Le découpage d'une chaîne dans une liste de chaînes

Le découpage d'une chaîne dans une liste de chaînes : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation