- Procedure Split(Var retour : Array Of String; Chaine : String; Car : Char);
- Var
- Compteur : Integer;
- PosUne : Integer;
- PosDeux : Integer;
- Temp : String;
-
- Begin
- PosUne := 1;
- PosDeux := Pos(Car,Chaine);
-
- Compteur := 0;
-
- While ((PosDeux <> 0) and (Compteur <> Length(Retour))) Do
- Begin
- Retour[Compteur] := Copy(Chaine, PosUne, (PosDeux - PosUne));
- If Length(Retour[Compteur]) = 0 then Retour[Compteur] := ' ';
- Temp := Copy(Chaine, PosDeux + 1, (Length(Chaine) - PosDeux));
- Chaine := Temp;
- PosDeux := Pos(Car,Chaine);
- Compteur := Compteur + 1;
- End;
-
- If Compteur <> Length(Retour) Then
- Begin
- Retour[Compteur] := Copy(Chaine, PosUne, (Length(Chaine) - (PosUne - 1 )));
- If Length(Retour[Compteur]) = 0 then Retour[Compteur] := ' ';
- End;
-
- End;
-
-
-
- Procedure TForm1.Button1Click(Sender: TObject);
- Var
- Mon_Tableau : array[1..10] of string;
- Ma_Chaine : String;
- Mon_Delimiteur : Char;
- i : Integer;
-
- Begin
- // On peut remarquer que Ma_Chaine comporte des chaines vides entre le délimiteur //
- Ma_Chaine := 'test1;;test3;test4;test5;test6;test7;;test9;';
- Mon_Delimiteur := ';';
-
- Split(Mon_Tableau, Ma_Chaine, Mon_Delimiteur);
-
- For i:= 1 to 10 Do ShowMessage(Mon_Tableau[i]);
- End;
Procedure Split(Var retour : Array Of String; Chaine : String; Car : Char);
Var
Compteur : Integer;
PosUne : Integer;
PosDeux : Integer;
Temp : String;
Begin
PosUne := 1;
PosDeux := Pos(Car,Chaine);
Compteur := 0;
While ((PosDeux <> 0) and (Compteur <> Length(Retour))) Do
Begin
Retour[Compteur] := Copy(Chaine, PosUne, (PosDeux - PosUne));
If Length(Retour[Compteur]) = 0 then Retour[Compteur] := ' ';
Temp := Copy(Chaine, PosDeux + 1, (Length(Chaine) - PosDeux));
Chaine := Temp;
PosDeux := Pos(Car,Chaine);
Compteur := Compteur + 1;
End;
If Compteur <> Length(Retour) Then
Begin
Retour[Compteur] := Copy(Chaine, PosUne, (Length(Chaine) - (PosUne - 1 )));
If Length(Retour[Compteur]) = 0 then Retour[Compteur] := ' ';
End;
End;
Procedure TForm1.Button1Click(Sender: TObject);
Var
Mon_Tableau : array[1..10] of string;
Ma_Chaine : String;
Mon_Delimiteur : Char;
i : Integer;
Begin
// On peut remarquer que Ma_Chaine comporte des chaines vides entre le délimiteur //
Ma_Chaine := 'test1;;test3;test4;test5;test6;test7;;test9;';
Mon_Delimiteur := ';';
Split(Mon_Tableau, Ma_Chaine, Mon_Delimiteur);
For i:= 1 to 10 Do ShowMessage(Mon_Tableau[i]);
End;