Vraag : Probleem door TFileStream te gebruiken:   Sparen en Gelezen ShortString in Delphi2010

hello hebben allen,

i geprobeerd om „ABCDEFGHIJ“ als ShortString in een dossier te bewaren, toen ik het van het dossier, I get
'ABCDEFGHIJ \ ö 'las. Het schijnt daar meer sysbols komen out.

following zijn mijn codes, hoe zouden moeten ik het veranderen om tot het het werk te maken zijn? de uiteinden

any zijn appreciated.

thanks,

wantime


procedure TForm1.LoadShortStingClick (Afzender: TObject); /> identiteitskaart
varbegin
aStream: = TFileStream.Create (mpath, fmOpenRead);
aStream.Read (identiteitskaart [1], 10);
Edit2.text: = Identiteitskaart;
aStream.Free;
end;

procedure TForm1.SaveShortStingClick (Afzender: TObject);
var
S: Koord [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]: = „I“;
S [10]: = „J“;

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

  aStream.Free;
end;

Antwoord : Probleem door TFileStream te gebruiken:   Sparen en Gelezen ShortString in Delphi2010

In Delphi2009 en nieuwer (zo van u ook), is het koord niet meer 1 byte per klusje, maar veelvoudige bytes.

Zo, terwijl
var
 Identiteitskaart:  Koord [10];

Kijkt als een serie van 10 bytes, is het niet.

Zo als u
  aStream.Read (identiteitskaart [1], 10);

U leest 10 bytes in een serie die langer toen 10 bytes is. Het resultaat is dat u weet wat niet in de rest van de serie is. Er zijn waarschijnlijk daar wat crap in die als koord wordt geïnterpreteerdi wanneer u probeert om het te zetten binnen uitgeeft.
Andere oplossingen  
 
programming4us programming4us