Fråga : Problem, genom att använda TFileStream:   Räddning och lästa ShortString i Delphi2010

alla hälsningar,

i har försökt till räddningen ”ABCDEFGHIJ” som ShortString i en spara, då jag läste den från spara, I-get
'ABCDEFGHIJ \ ö '. Det verkar där är mer sysbols kommer out.

following är mitt kodifierar, hur bör mig ändra den för att göra det arbete? spetsar för

any är appreciated.

thanks,

wantime
-------------------------------------------------------------
--------------------------------------------------------------
procedure TForm1.LoadShortStingClick (avsändare: TObject); LEGITIMATION för
var
: Stränga [10];
begin
  aStream := TFileStream.Create (mpath, fmOpenRead);
aStream.Read (LEGITIMATION [1], 10);
Edit2.text: = LEGITIMATION;
aStream.Free;
end;

procedure TForm1.SaveShortStingClick (avsändare: TObject);
var
S: Stränga [10];
begin

S [1]: = ”A”;
S [2]: = ”B”;
S [3]: = ”C”;
S [4]: = ”D”;
S [5]: = ”E”;
S [6]: = ”F”;
S [7]: = ”G”;
S [8]: = ”H”;
S [9]: = ”mig”;
S [10]: = ”J”;

  aStream := TFileStream.Create (mpath, fmCreate);
aStream.Write (S [1], 10);

  aStream.Free;
end;
" klar "

Svar : Problem, genom att använda TFileStream:   Räddning och lästa ShortString i Delphi2010

Stränga är ej längre 1 byte per röding, men multipelbyte i Delphi2009 och nyare (så din för).

Så stunder
var
 LEGITIMATION:  Stränga [10];

Ser något liknande en samling av 10 byte, det är inte.

Så, om du gör
  aStream.Read (LEGITIMATION [1], 10);

Du läser 10 byte in i en samling som är längre därefter 10 byte. Resultatet är att du inte vet vad är i vila av samlingen. Det finns antagligen någon skit i där som tolkas som en stränga när dig försök att sätta det i redigeraen.
Andra lösningar  
 
programming4us programming4us