Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

можно ли преобразовать String в LPWSTR?   Найти похожие ветки 

 
Delta   (2004-01-16 14:02) [0]

если нетрудно, то пожалуйста дайте пример


 
_hunter_ ©   (2004-01-16 14:09) [1]

var
 l: LPWSTR;
 s: string;
begin
 s:="sss";
 l:=PWideChar(s);
end;


 
BiN ©   (2004-01-16 14:12) [2]

_hunter_ ©   (16.01.04 14:09) [1]
и получится лабуда...

надо
 PWideChar(WideString(S));


 
Игорь Шевченко ©   (2004-01-16 14:54) [3]

StringToWideChar


 
Delta   (2004-01-16 16:23) [4]

извините, что не в той теме, я перепутал нечаяно
функция, к сожалению не принимает PWideChar(WideString(S));
а со StringToWideChar я не разобрался, подскажите пожалуйста


 
BiN ©   (2004-01-16 16:38) [5]

что за функция?
если этот параметр принимает данные, то, конечно, используй StringToWideChar, в противном случае должна подойти [2]


 
Delta   (2004-01-16 16:46) [6]

функция NetUserChangePassword,
параметры я ей передаю (4 параметра, все LPWSTR),
если передаю просто в коде
написанное "password" , к примеру - работает,
если PWideChar(WideString(pswd)) - нет...
что интересно, что имя пользователя передается...
поэтому я и хотел попросить пример StringToWideChar, т.к.
не понял что и куда там писать.


 
BiN ©   (2004-01-16 16:59) [7]

что возвращает функция, какую ошибку.


 
Delta   (2004-01-16 17:08) [8]

function TForm1.ChangePassword(Domain,User,Old,New:String):String;
var c:String;
    Er:Integer;
begin
c:="";
Er:=NetUserChangePassword(StrToPw(Domain),StrToPw(User),StrToPw(Old),StrToPw(New));
case Er of
  0:c:="Successfully";
  ERROR_ACCESS_DENIED:c:="Access denied";
  86:c:="Bad password";
  2221:c:="Unknown username";
  1351:c:="Domain not found";
  else c:="Error "+IntToStr(Er);
end;
Result:=c;
end;

function TForm1.StrToPw(Str:String):PWideChar;
var l,l2:LPWSTR;
begin
Result:=Pwidechar(widestring(Str));
end;

ShowMessage(ChangePassword("MAX",nusers[1],npassword[1],"2")); - Не работает

ShowMessage(IntToStr(NetUserChangePassword("Max","Administrator","1","2"))); - работает


 
BiN ©   (2004-01-16 17:16) [9]

ShowMessage(ChangePassword("MAX",nusers[1],npassword[1],"2")); - Не работает

&*%&^$)P%$^%$^**^%!!!!!

что за nusers[1],npassword[1]
сомневаюсь, что у тебя есть юзер с именем и паролем длиной в один символ


 
Delta   (2004-01-16 17:20) [10]

теоретически есть....
это массив
дело не в этом, если подставить значения без этих переменных,
если параметр строки - String - не работает :(


 
BiN ©   (2004-01-16 17:27) [11]

пока ты не сказал какую выдает ошибку (в твоем случае Er), говорить о чем-то бессмысленно.


 
Delta   (2004-01-16 17:30) [12]

Действительно, не передал,
вроде писал...
функция выдает в первом случае BadPassword, т.е.
сама функция NetUserChangePassowrd возвращает 86,
во втором случае - 0


 
BiN ©   (2004-01-16 17:36) [13]

а попробуй напрямую написать

Er:=NetUserChangePassword(Pwidechar(widestring(Domain)),Pwidechar(widestring(User)),Pwidechar(widestring(Old)),Pwidechar (widestring(New)));

и обязательно отладчиком проверь входные значения. что-то мне не верится, что это все не работает. Пароль-то ты правильный указываешь?


 
Delta   (2004-01-16 17:39) [14]

Да, пробовал... в том то и дело, что имя он читает "вроде" правильно, т.к. если неизвестное имя - другая ошибка,
а пароль нет... пароль и имя, правильные, заведомо, проверял...
ты знаешь как использовать StringToWideChar?
может это быдет работать?


 
BiN ©   (2004-01-16 17:53) [15]

StringToWideChar - в данном случае идеологически неверно.


 
MScorp   (2004-01-16 18:07) [16]

Спасибо, еще раз все проверю, наверное что-то перепутал


 
Игорь Шевченко ©   (2004-01-16 18:07) [17]

BiN ©   (16.01.04 17:53)


> StringToWideChar - в данном случае идеологически неверно.

Можно узнать, почему ?


 
nikkie ©   (2004-01-16 23:59) [18]

грубейшая ошибка в том, что
PWideChar(WideString(S))
вынесено в отдельную функцию.


 
BiN ©   (2004-01-18 18:53) [19]

nikkie ©   (16.01.04 23:59) [18]
абсолютно согласен

Игорь Шевченко ©   (16.01.04 18:07) [17]

для каждого параметра нужно писать код по выделению и освобождению памяти, хотя все можно реализовать с помощью приведения типов - ведь в данную функцию предаются константы.


 
jack128 ©   (2004-01-18 22:11) [20]

Удалено модератором
Примечание: Offtopic


 
Игорь Шевченко ©   (2004-01-19 10:54) [21]

BiN ©   (18.01.04 18:53)


> для каждого параметра нужно писать код по выделению и освобождению
> памяти


????????? Зачем ????????


 
BiN ©   (2004-01-19 11:35) [22]

Игорь Шевченко ©   (19.01.04 10:54) [21]
????????? Зачем ????????


... или же придется заводить массив of widechar, что по моему сугубо личному мнению все же не столь эффективно, как приведение типов - поправьте меня, если я не прав.


 
Игорь Шевченко ©   (2004-01-19 11:44) [23]

BiN ©   (19.01.04 11:35)

я именно массив и имел в виду. Впрочем, это уже частности, разумеется, но говорить об идеологии я бы остерегся :)



Страницы: 1 вся ветка

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.04 c
14-1077640095
}|{yk
2004-02-24 19:28
2004.03.28
Чем лучше?


1-1079011550
эд
2004-03-11 16:25
2004.03.28
Excel


14-1077714585
wasilla
2004-02-25 16:09
2004.03.28
Что произошло со мной прошлым летом... .


3-1077182782
smolin
2004-02-19 12:26
2004.03.28
FoxPro Memo - поля


8-1069686747
NetKnight
2003-11-24 18:12
2004.03.28
Как уменьшить JPEG, как это делает Photoshop без потери качества?