I'm guessing you are calling Windows API to copy files or similar, so you need only PChar and string types, and Delphi compiler will decide, according to the version, the correct kind and correct API version it will use.
With Delphi <2009 :
String = AnsiString
(P)Char = (P)AnsiChar
and all windows API called are the ANSI version , ex :
CopyFile = CopyFileA
With Delphi >=2009
String = WideString
Char = WideChar
and all windows API called are the Wide version
so, your code should be made to compile with all versions, without playing too much with other types except when you don't have choice