bonjour, je me décide à poster car je sais plus quoi faire

comment découper une chaine string contenant des caractères #0 (null 0 je sais pas le debogueur delphi affiche #0 en byte c'est le 0

j'interroge des serveurs diffèrent qui me renvoie tous un array de byte que je transforme en string avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Function TranslateByteToString(bMsg: TIdBytes): String;
Var
  I: Integer;
Begin
  Result := '';
  For I := Low(bMsg) To High(bMsg) Do
    //on remplace les caractères 0 par saut de ligne linux sinon le string n'est pas affichable ni decoupable avec un tstringlist
    If bMsg[I] <> 0 Then
      Result := Result + Chr(bMsg[I])
    Else
      Result := Result + Chr(10);
End;
après je parse mon string selon le serveur, sauf qu'un serveur me renvoie en séparateur un caractère 0 que je remplace par des saut de ligne linux lors du passage de l'array de byte en string.

sinon mon tmemo n'affiche pas les string contenant des #0
et impossible d'exploser le string par le caractère zéro tout du moins j'ai pas trouvé d'ou ce post car je voudrai utiliser et renvoyer la réponse sans la modifier si possible...

j'utilise sa qui fonctionne avec les sauts de ligne etc mais pas le caractères #0
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
28
 
Function Explode(Ch: String; Sep: String = ';'): TStringList;
Var
  Pos: Integer;
Begin
  Pos     := AnsiPos(Sep, Ch);
  Result := TStringList.Create;
  While Pos > 0 Do
  Begin
    Result.Add(Copy(Ch, 1, Pos - 1));
    If Pos <= Length(Ch) Then
      Ch := Copy(Ch, Pos + Length(Sep), Length(Ch));
    Pos := AnsiPos(Sep, Ch);
  End;
  If Length(Ch) > 0 Then
    Result.Add(Ch);
End;CODE]
 
...
Var
  Search: TStringList;
Begin
      Search := Explode(FQueryResult, Chr(10));
      Try
...
      Finally
        Search.Free;
      End;
je peut pas découper mon array de byte, obligé après sa conversion en string

et j'ai essayé avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
      LineResult.LineBreak := Chr(10);
      LineResult.Text      := FQueryResult;
avec chr(0); sa va pas

Delimiter et DelimitedText idem

merci pour votre aide. Je sais pas si j'ai été bien clair je m'y perd moi même