bonjour, je me décide à poster car je sais plus quoi faire:marteau:
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:
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.Code:
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;
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
je peut pas découper mon array de byte, obligé après sa conversion en stringCode:
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;
et j'ai essayé avecavec chr(0); sa va pasCode:
1
2
3 LineResult.LineBreak := Chr(10); LineResult.Text := FQueryResult;
Delimiter et DelimitedText idem
merci pour votre aide. Je sais pas si j'ai été bien clair je m'y perd moi même:mur: