Question : Problème en employant TFileStream :   Sauver et lire ShortString dans Delphi2010

bonjour tous, le

i ont essayé de sauver « ABCDEFGHIJ » comme ShortString dans un dossier, quand je l'ai lu à partir du dossier, get
'ABCDEFGHIJ \ ö '. Il semble que là sont plus de sysbols viennent out.

following sont mes codes, comment devraient je le changer pour lui faire le travail ? les bouts du

any sont appreciated.

thanks, le

wantime
-------------------------------------------------------------
--------------------------------------------------------------
procedure TForm1.LoadShortStingClick (expéditeur : TObject) ; identification du
var
: Corde [10] ;
begin
  aStream := TFileStream.Create (mpath, fmOpenRead) ;
aStream.Read (identification [1], 10) ;
Edit2.text : = IDENTIFICATION ;
aStream.Free ;
end ;

procedure TForm1.SaveShortStingClick (expéditeur : TObject) ;
var
S : Corde [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] : = « je » ;
S [10] : = « J » ;

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

  aStream.Free;
end ;
class= de

Réponse : Problème en employant TFileStream :   Sauver et lire ShortString dans Delphi2010

Dans Delphi2009 et plus nouveau (ainsi vôtre trop), la corde n'est plus de 1 byte par char, mais bytes multiples.

Ainsi, tandis que
variété
 Identification :  Corde [10] ;

Ressemble à un choix de 10 bytes, il n'est pas.

Ainsi si vous faites
  aStream.Read (identification [1], 10) ;

Vous lisez 10 bytes dans une rangée qui est de plus longs puis 10 bytes. Le résultat est que vous ne savez pas ce qui est dans le reste de la rangée. Il y a probablement de la merde dans là qui est interprétée comme corde quand vous essayez de la mettre dans l'édition.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us