Вопрос : Как перезаписать Кодего using шнуры к Делфи 2010

Пожалуйста, я имею это Кодего:

Var
 cDestino: PAnsiChar; cOrigem
: PAnsiChar;
iProgBar: Интежер;
sFile: Ansistring; sPath
: Ansistring; sDiaSemana
: шнур [20];
and;

  sFile := «PedItem.db»;

  cOrigem:=strtopchar (sPath+'\ '+sFile) ;
 --> типы ошибки E2010 несовместимые: cDestino

«чарса» и «AnsiChar»: = strtopchar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile);
--> ошибка: Несовместимые типы E2010: «Чарс» и «AnsiChar», И, предупреждая: W1057 подразумеваемое бросание шнура, котор от «AnsiString» к линий


These 2 «шнура» причиняет эти ошибки и предупреждения составляя с изменениями Делфи 2010.
What я должен сделать?
Thanks




class= " ясное " >
Related: href= " /Programming/Languages/Pascal/Delphi/Q_24998528.html " title= " delphi 2010 delphi 2010: Несовместимые типы: «Чарс» и 'AnsiChar'

Ответ : Как перезаписать Кодего using шнуры к Делфи 2010

Я угадываю вы вызывает Windows API для того чтобы скопировать архивы или подобно, поэтому вам нужно только PChar и шнуруете типы, и составитель Делфи решит, согласно варианту, правильно добросердечному и правильно варианту API, котор он будет использовать.

С шнуром <2009 :="">= AnsiString Делфи
(P) Чарс = (p) AnsiChar
и все вызванные окна API будут вариантом ANSI, ex:
CopyFile = CopyFileA

С Делфи >=2009
Шнур = WideString
Чарс = WideChar
и все вызванные окна API будут широким вариантом


так, ваше Кодий должно быть сделано для того чтобы составить с всеми вариантами, без играть слишком много с другими типами кроме того что когда вы не имеете выбор
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Var
 cDestino, cOrigem: PChar;
 sFile, sPath, sDiaSemana: Шнур;
 iProgBar: Интежер;
и;

  sFile: = «PedItem.db»;
  cOrigem: = strtopchar (sPath+'\ '+sFile);
  cDestino: = strtopchar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile); 
  CopyFile (cOrigem, cDestino, ложные); 


Заметьте что вы можете преобразовать шнур к PChar с как раз бросанием в aflarin дороги показанном для AnsiString & PAnsiChar. 
Так вы можете даже вызвать вашу функцию в одной линии

  CopyFile (PChar (sPath+'\ '+sFile), PChar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile), ложные); 
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us