![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как состыковать pchar и string? {дурдом} [D5, WinXP]
The X © (2006-12-19 21:17:00)Получаю с помощью следующей ф-ции путь к каталогу определенной базы данных (не важно):
function GetPhNameByAlias(sAlias: string): string;
var
Database: TDatabase;
pszDir: PChar;
begin
Database := TDatabase.Create(nil); pszDir := StrAlloc(255);
try
Database.AliasName := sAlias;
Database.DatabaseName := ′TEMP′;
Database.Connected := True; DbiGetDirectory(Database.Handle, True, pszDir);
Database.Connected := False;
Result := StrPas(pszDir);
finally
Database.Free; end;
end;
В итоге получаю из вышеприведенной функции путь SDir в виде string.
Далее передаю этот путь в процедуру копирования одного файла из этой директории в другую:
CopyFile(SDir + 'are.mb', 'C:\are.mb', True); (все аргументы должны быть string)
И ошибка - несовместимость с pchar и string!!!
Это у меня логики нет? Откуда по цепочке берется этот pchar?
Подскажите плиз!
The X (2006-12-20 16:18:00) [1]хех!..))
все равно сенкс!
Anatoly Podgoretsky (2006-12-20 15:38:00) [2]> The X (20.12.2006 15:34:12) [12]
Странно проблемы в файловой системе, а драйвер меняешь в БДЕ.
Anatoly Podgoretsky (2006-12-20 15:37:00) [3]> The X (20.12.2006 15:29:11) [11]
Использование Юникод подразумевает не только использование pwidechar, но и соответствующей Юникод версии функции.
Точно чушь, плюнь на это займись другой работой.
The X (2006-12-20 15:34:00) [4]Пробовал даже менять языковый драйвер на парадоксе в БДЕ - без результата.
The X (2006-12-20 15:29:00) [5]Попробовал использовать юникод через pwidechar - вообще чушь сплошная получается, тогда как при pchar и pansichar искажаются только русские буквы и по-одинаковому!
Чушь это все.
???
Anatoly Podgoretsky (2006-12-20 15:03:00) [6]> The X (20.12.2006 14:53:09) [9]
Не замечено подобного, а может у тебя локализация не верная? Тогда работай с Юникод версией.
The X (2006-12-20 14:53:00) [7]Я имею ввиду, что при передаче в CopyFile через pchar имени папки с кириллицей, то не работает копирование (в CopyFile некорректно прописывается кириллица). И кстати, через PAnsiChar я пробовал с самого начала - никакой положительной реакции.
???
Anatoly Podgoretsky (2006-12-20 12:56:00) [8]> The X (20.12.2006 12:16:06) [6]
Чтобы это значило?
sniknik (2006-12-20 12:23:00) [9]PAnsiChar
The X (2006-12-20 12:16:00) [10]При этом варианте не работают кириллические папки. Как быть?
TStass (2006-12-19 23:28:00) [11]В "статьях" хорошая статья есть, как строчка устроена.
The X (2006-12-19 21:59:00) [12]Сенкс, все получилось!
trubin (2006-12-19 21:40:00) [13]
> CopyFile(PChar(LM[1059] + 'are.mb'), 'C:\are.mb', True);
извините :)))))
CopyFile(PChar(SDir + 'are.mb'), 'C:\are.mb', True);
trubin (2006-12-19 21:38:00) [14]
> CopyFile(SDir + 'are.mb', 'C:\are.mb', True);
CopyFile(PChar(LM[1059] + 'are.mb'), 'C:\are.mb', True);
Anatoly Podgoretsky (2006-12-19 21:20:00) [15]> The X (19.12.2006 21:17:00) [0]
> (все аргументы должны быть string)
(все аргументы должны быть PChar)