Konwersja z tablicy stat (byte) na string

0

Cześć mam pytanie jak mogę przekonwertować tablice statyczną "byte" array[0..2048] of byte na Stringa ??

0

Chodzi ci o przepisanie tablicy byte do tablicy string? jesli tak to najprosciej chyba tak:

var
bajt : array[1..2048] of byte; //tablica byte;
tekst : array[1..2048] of string; //tablica string;

procedure konwertowanie;
var i:integer;
begin
for i:=1 to 2048 do tekst[i]:=inttostr(bajt[i]);
end;

0

<font color="green">var
bajt : array[1..2048] of byte; //tablica byte;
tekst : array[1..2048] of string; //tablica string;

procedure konwertowanie;
var i:integer;
begin
for i:=1 to 2048 do tekst[i]:=inttostr(bajt[i]);
end;</span>

Nie - string już jest tablicą typu Char, nie trzeba tworzyć z niego tablicy..

Pisane "od ręki" :-/ :

var
  bajt : array[1..2048] of byte;
  s: string;
  i : Integer;
begin
  s := ''; 
  for i := Low(bajt) to High(bajt) do
  s := s +  String(Chr(Byte(bajt[i])));  // powinno działać :)
end;
0

var
bajt : array[1..2048] of byte;
s: string;

setlength(s,2048);
move(bajt[1],s[1],2048);

tak chyba najprosciej i najszybciej.

//choc nie mam pewnosci o co naprawdę chodzilo Linixowi:)

0

ymm... a czy string i tablica bajtów to nie to samo? [green] - ostatnie rozwiązanie jest chyba jedynym godnym uwagi ze wszystkich zamieszczonych tutaj ...

0

Dokładnie chodzi mi że pisze programik do odczytywania informacji z rejestru windows. Wysztko potrawie odczytać oprócz zapisu binarnego, ktos mi wczesniej zaproponował że odczyd mogę odczytac za pomoca tablicy binarnej
//
var
Reg : Tregister;
Buffor: array[0..2048] of byte;
begin
..
Reg.ReadBinaryData(nazwaklucza,buffor,SizeOf(buffor));
..
//

Iteraz wynik chciałbym przenies w formie stringa to komponentu TListView

0
Linix napisał(a)

Dokładnie chodzi mi że pisze programik do odczytywania informacji z rejestru windows. Wysztko potrawie odczytać oprócz zapisu binarnego, ktos mi wczesniej zaproponował że odczyd mogę odczytac za pomoca tablicy binarnej
//
var
Reg : Tregister;
Buffor: array[0..2048] of byte;
begin
..
Reg.ReadBinaryData(nazwaklucza,buffor,SizeOf(buffor));
..
//

Iteraz wynik chciałbym przenies w formie stringa to komponentu TListView

Dołączam do pytania.... Jak "przetłumaczyć" ReadBinaryData

0
Linix napisał(a)

Dokładnie chodzi mi że pisze programik do odczytywania informacji z rejestru windo...Iteraz wynik chciałbym przenies w formie stringa to komponentu TListView

To zmienai postac rzeczy, takie dane, zawierajace wartosci 0-255 nie przedstawia sie jako string, ktory gdzies tam wyswietlamy bo nie wszystkie wartosci da sie wyswietlic. Musisz to wyswietlic jako kolejne liczby (zwykle robi sie to w hex'e), wiec petla i IntToStr / IntToHex.

1 użytkowników online, w tym zalogowanych: 0, gości: 1