Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2009, 17:35   #1
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию StringToPWide не работает Delphi 2009

Нашел в интренете код:

Код:
function StringToPWide( sStr: string; var iNewSize: integer ): PWideChar;
var
 pw : PWideChar;
 iSize : integer;
begin
 iSize := Length( sStr ) + 1;
 iNewSize := iSize * 2;
 pw := AllocMem( iNewSize );
 MultiByteToWideChar( CP_ACP, 0, PChar(sStr), iSize, pw, iNewSize );
 Result := pw;
end;
На дельфи 2009 он не работет пишет:
[DCC Error] (20): E2010 Incompatible types: 'Char' and 'AnsiChar'
что делать?

Последний раз редактировалось Stilet; 30.10.2009 в 08:27.
KoBRaAndrey вне форума Ответить с цитированием
Старый 29.10.2009, 18:05   #2
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Код:
function StringToPWide( sStr: string; var iNewSize: integer ): PWideChar;
var
pw : PWideChar;
iSize : integer;
begin
iSize := Length( sStr ) + 1;
iNewSize := iSize * 2;
pw := AllocMem( iNewSize );
MultiByteToWideChar( CP_ACP, 0, PAnsiChar(sStr), iSize, pw, iNewSize );
Result := pw;
end;
Попробуй так
W0LF вне форума Ответить с цитированием
Старый 29.10.2009, 18:12   #3
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию

В функции ошибок нет, а вот сама функция не работает почемуто:
MoveFile(StringToPWide(dir+'\*.bmp' ,dir+'\Изображения\BMP'));

[DCC Warning] Main.pas(57): W1044 Suspicious typecast of string to PAnsiChar

Последний раз редактировалось KoBRaAndrey; 29.10.2009 в 18:15.
KoBRaAndrey вне форума Ответить с цитированием
Старый 29.10.2009, 18:15   #4
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Или я чего-то не понял или надо так:
Код:
MoveFile(PAnsiChar(dir+'\*.bmp'),PAnsiChar(dir+'\Изображения\BMP'));
Зачем вам функция StringToPWide для использования MoveFile?
W0LF вне форума Ответить с цитированием
Старый 29.10.2009, 18:19   #5
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию

Ошибки нет но теперь файл не перемещяеться о_о
KoBRaAndrey вне форума Ответить с цитированием
Старый 29.10.2009, 18:22   #6
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Может из-за того что вы не задали тут
Код:
MoveFile(PAnsiChar(dir+'\*.bmp'),PAnsiChar(dir+'\Изображения\BMP'));
имена файлов?! Первый файл неимеет имени, а только расширение, а второй вообще просто ведет папку, без имени файла в который и переместиться ваша, по виду расширения, картинка...
W0LF вне форума Ответить с цитированием
Старый 29.10.2009, 18:26   #7
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию

так вобще не собираеться.

я понял помойму почему файлы не перемещяються, дело в том что *.bmp (типа все файлы разрешения bmp не пашут) прийдеться по другому делать.
KoBRaAndrey вне форума Ответить с цитированием
Старый 29.10.2009, 18:28   #8
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Вы хотите перещать все файлы в папке с расширением bmp в другую папку, я так понял?
W0LF вне форума Ответить с цитированием
Старый 29.10.2009, 18:30   #9
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию

Я хочу перемещать все файлы формата BMP в другую папку. Помогите кодиком
KoBRaAndrey вне форума Ответить с цитированием
Старый 12.05.2010, 20:44   #10
__@cmd@__
Пользователь
 
Регистрация: 01.02.2009
Сообщений: 24
По умолчанию

Парни помогите проблема с этой функцией когда хочу ее использовать что писать как второй параметр?
допустим пишу
Код:
g:= ExtractFileName(Application.ExeName);
бла бла бла

CopyFile(StringToPWideп(G а какой второй параметрр? ак его вписсать? и какя длин что как?),'C:\Program Files\prog\launcher.exe',true);

Заранне спасиб
__@cmd@__ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает визуализатор в 3D Max 2009 Yar Свободное общение 0 07.08.2009 23:52
Delphi 2009 Yar Свободное общение 1 22.06.2009 20:15