Question : Comment récrire le code using des cordes à Delphes 2010

Svp, j'ai ce code :

Var
 cDestino: PAnsiChar ; cOrigem du
: PAnsiChar ;
iProgBar : Nombre entier ;
sFile : Ansistring ; sPath du
: Ansistring ; sDiaSemana du
: corde [20] ;
and ;

  sFile := « PedItem.db » ;

  cOrigem:(sPath+'\ '+sFile) ; du
 --> types incompatibles de l'erreur E2010 : cDestino du

de
de « char » et de « AnsiChar » : = strtopchar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile) ; du
--> erreur : Types E2010 incompatibles : « Char » et « AnsiChar », ET, avertissant : Est-ce que W1057 la fonte qu'implicite de corde « AnsiString » derrière des lignes de


These deux de « corde » causent ces erreurs et avertissements en compilant avec des changements de Delphes 2010.
What je dois faire ?
Thanks




class= > " clair " de
solutions >Related class= href= " /Programming/Languages/Pascal/Delphi/Q_24998528.html " title= " Delphes 2010 de delphi " qRelatedParent " 2010 : Types incompatibles : « Char » et 'AnsiChar'

Réponse : Comment récrire le code using des cordes à Delphes 2010

Je devine que vous appelez Windows api pour copier des dossiers ou semblable, ainsi vous avez besoin seulement de PChar et ficelez des types, et compilateur de Delphes décidera, selon la version, la version aimable et correcte correcte d'api qu'elle emploiera.

Avec de la corde <2009 :="">= AnsiString de Delphes
(P) Char = (P) AnsiChar
et toutes les fenêtres api appelées sont la version de norme ANSI, ex :
CopyFile = CopyFileA

Avec Delphes >=2009
Corde = WideString
Char = WideChar
et toutes les fenêtres api appelées sont la version large


ainsi, votre code devrait être fait pour compiler avec toutes les versions, sans jouer trop avec d'autres types à moins que quand vous n'avez pas le choix
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
Variété
 cDestino, cOrigem : PChar ;
 sFile, sPath, sDiaSemana : Corde ;
 iProgBar : Nombre entier ;
et ;

  sFile : = « PedItem.db » ;
  cOrigem : = strtopchar (sPath+'\ '+sFile) ;
  cDestino : = strtopchar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile) ; 
  CopyFile (cOrigem, cDestino, faux) ; 


Noter que vous pouvez convertir la corde en PChar avec juste une fonte dans l'aflarin de manière montré pour AnsiString et PAnsiChar. 
Ainsi vous pouvez même appeler votre fonction dans une ligne

  CopyFile (PChar (sPath+'\ '+sFile), PChar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile), faux) ; 
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