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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2008, 06:57   #1
eks-s
Пользователь
 
Регистрация: 15.01.2008
Сообщений: 64
Вопрос PWideChar To String и обратно

Здравствуйте! Вопрос может глупый. Есть переменная user типа TWideChar, хочу её содержимое вывести в Label.Caption. Как это сделать?
Пробовал
Label.Caption := TCaption(user)
Label.Caption := String(user)
выводит закорючки.

Последний раз редактировалось eks-s; 31.01.2008 в 14:40. Причина: неточность
eks-s вне форума Ответить с цитированием
Старый 31.01.2008, 07:23   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

TWideChar? Что-то не припомню такого типа. Может все-таки PWideChar?

В этом случае
s: PWideChar;
....
s := 'Превед, медвед';
Label1.Caption := s;

Все прекрасно работает
Баламут вне форума Ответить с цитированием
Старый 31.01.2008, 07:55   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

+1
function WideCharToString(Source: PWideChar): string;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.01.2008, 09:12   #4
eks-s
Пользователь
 
Регистрация: 15.01.2008
Сообщений: 64
По умолчанию

Не получается чё то у меня. Проблема в строчках 14,15.
Код:
type
  TMyRegKey = record
    user  : PWideChar;
    passw : PWideChar;
  end;

...
procedure TForm1.Button1Click(Sender: TObject);
var
  reg : TRegIniFile;
  MyRegKey : TMyRegKey;
begin
  MyRegKey.user := PWideChar(Edit1.Text);
  MyRegKey.passw := PWideChar(Edit2.Text);
  label1.Caption := WideCharToString(MyRegKey.user);
end;
Пробую вот так,
Код:
MyRegKey.user := ' ';
StringToWideChar(Edit1.Text,MyRegKey.user,SizeOf(MyRegKey.user));
выдаёт исключение.
Подскажите где не правильно делаю
eks-s вне форума Ответить с цитированием
Старый 31.01.2008, 09:40   #5
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

PWideChar(Edit2.Text); так нельзя... вы просто говорите что по указателю Edit2.Text: String находится PWideChar хотя там всего PAnsiChar ! Надо конвертировать StringToWideChar ! И вообще если не сильно понимаите используйте типа WideString = String; И дельфи все сделает за Вас ( p.s. я так редко делаю )
BOBAH13 вне форума Ответить с цитированием
Старый 31.01.2008, 14:38   #6
eks-s
Пользователь
 
Регистрация: 15.01.2008
Сообщений: 64
По умолчанию

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
PWideChar(Edit2.Text); так нельзя... вы просто говорите что по указателю Edit2.Text: String находится PWideChar хотя там всего PAnsiChar ! Надо конвертировать StringToWideChar ! И вообще если не сильно понимаите используйте типа WideString = String; И дельфи все сделает за Вас ( p.s. я так редко делаю )
Спасибо! Почитал справку про совмещение типов String-PChar и WideString-PWideChar.
То что хотел сделать получилось.

Но как работать с StringToWideChar всё равно не понятно, справка не помогает

Последний раз редактировалось eks-s; 31.01.2008 в 14:43.
eks-s вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из string в integer MAKEDON Помощь студентам 9 29.07.2008 15:38
Проблема со String ilya_cska Общие вопросы C/C++ 2 09.03.2008 13:39
Case из STRING. HELP! Altera Компоненты Delphi 12 24.02.2008 12:17
string medik Помощь студентам 12 29.10.2007 17:33
Как укоротить string UnD)eaD)Snake Общие вопросы Delphi 6 04.09.2007 17:18