Fråga : Hur man skrivar om kodifiera using stränger till Delphi 2010

Behaga mig har detta att kodifiera:

Var
 cDestino: PAnsiChar; cOrigem för
: PAnsiChar; iProgBar
: Heltal; sFile
: Ansistring; sPath för
: Ansistring; sDiaSemana för
: stränga [20];
and;

  sFile := ”PedItem.db”;

  cOrigem:=strtopchar (sPath+'\ '+sFile) ; för
 --> okompatibla typer för fel E2010: ”Bränna till kol” och ”AnsiChar” cDestinoen för <-/b>

: = strtopchar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile); för
--> fel: Okompatibla typer E2010: ”Röding” och ”AnsiChar”, OCH som varnar: Implicit W1057 stränger casten från ”AnsiString” ”stränger”


These två fodrar orsakar dessa fel och varningar, när de sammanställer med Delphi 2010.
What ändringar, mig måste att göra?
Thanks




Related lösningar för class= ": delphi 2010: Okompatibla typer: ”Röding” och 'AnsiChar'

Svar : Hur man skrivar om kodifiera using stränger till Delphi 2010

Förmiddag som I gissar dig, kallar Windows API för att kopiera sparar eller liknande, så du behöver endast PChar och stränger typer, och den ska Delphi kompilatorn avgör, enligt versionen, den korrekta sorten och korrekt API-version som den ska bruk.

Med Delphi <2009 :="">stränga = AnsiString
(P) Röding = (P) AnsiChar
och alla kallade fönster API är ANSI-versionen, före detta:
CopyFile = CopyFileA

Med Delphi >=2009
Stränga = WideString
Röding = WideChar
och alla kallade fönster API är den breda versionen


så ditt kodifiera bör göras för att sammanställa med alla versioner, utan att leka för mycket med andra typer, undantar, när du inte har primat
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Var
 cDestino cOrigem: PChar;
 sFile sPath, sDiaSemana: Stränga;
 iProgBar: Heltal;
och;

  sFile: = ”PedItem.db”;
  cOrigem: = strtopchar (sPath+'\ '+sFile);
  cDestino: = strtopchar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile); 
  CopyFile (cOrigem, cDestino som, är falska); 


Notera att du kan konvertera stränger till PChar med precis en cast i långt aflarinen som visas för AnsiString & PAnsiChar. 
Så du kan även den din appellen fungera i en fodrar

  CopyFile (PChar (sPath+'\ '+sFile), PChar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile) som, är falska); 
Andra lösningar  
 
programming4us programming4us