Войти

Показать полную графическую версию : PChar


khvalera
21-06-2003, 21:26
Help!!!
Подскажите, что нужно, чтобы в Delphi код заработал?

var
 Data,: string;
 w:BOOL;
 Data1:PChar;  

Data:=Edit1.Text;
Data1:=PChar(Data);         <- ???
CopyFile('c:\WClient\Rep\'+Data1,'c:\Readln\',w);

Ругается Incompatible types: '<String>' and '<PChar>'

Как перевести String в PChar и наоборот?

Galosh
22-06-2003, 00:39
Попробуй StrToInt или atoi
Тобиш это для перевода в Int:
Data := Edit1.Text;
Data1:= StrToInt(Data);

А это в char:

Data := Edit1.Text;
Data1:= atoi(Data);

Вобщето это сишное. Но а вдруг?  
А вообще советую в справке порыться

shurikan
22-06-2003, 03:53
khvalera
Тип PChar в Delphi аналогичен строкам в C. В Pascal-е все литеральные строки по умолчанию имеют тип string, этот же тип имеет и свойство Text компонента TEdit.
var
Data,: string; <- запятая лишняя (опечатка?)
w:BOOL;
Data1:PChar; * <- выкинь

Data:=Edit1.Text;
Data1:=PChar(Data); * * * * <- ??? <- выкинь
CopyFile(PChar('c:\WClient\Rep\'+Data),PChar('c:\Readln\'),w);<- исправь

И не забудь проинициализировать логическую переменную w
:biggrin: :biggrin: :biggrin:

vasketsov
22-06-2003, 13:58
khvalera
Проверил на Delphi 5, 6, 7

S: String;
p: PChar;

p := PChar(s);

ошибок нет.

Вывод - необходимо обновить версию Delphi.

;)

Добавлено:

Переаод наоборот начиная с D5 корректен просто приведением типов

s := String(p);

khvalera
22-06-2003, 18:12
Благодарю за помощь, буду должен !!!




© OSzone.net 2001-2012