Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите пожалуйста, как правильно перевести Char to STR [D7, XP]


max1991 ©   (2006-09-09 14:05:00) 

при попытке компиляции компилятор выдаёт такое сообщение:
Incompatible types: 'Array' and 'String'
я понимаю, что нужно преобразовать Char В String, но как?

честно говоря, почемуто думал, что свойство Caption уже имеет тип String.
Вот код процедуры:

procedure TForm1.FormCreate(Sender: TObject);
var

 wVerReq: WORD;
 wsaData: TWSAData;
 i: pchar;
 h: PHostEnt;
 c: array[0..128] of char;

 no: TNotifyIconData;
 Hicon1: HIcon;
begin

 wVerReq := MAKEWORD(1, 1);
 WSAStartup(wVerReq, wsaData);
 GetHostName(@c, 128);
 h := GetHostByName(@c);
 i := iNet_ntoa(PInAddr(h^.h_addr_list^)^);
 WSACleanup;

 HIcon1:=ExtractIcon(Handle,'105.ico',0);
 with no do
 begin
   cbSize:=Sizeof(TNotifyIconData);
   Wnd:=Handle;
   uID:=0;
   UFlags:=NIF_MESSAGE+NIF_ICON+NIF_TIP;
   SzTip:='HostName : '+h^.h_Name+#10#13+'IPAddress : '+i;
   HIcon:=HIcon1;
   uCallBackMessage:=WM_USER+2;
 end;
 Shell_NotifyIcon(NIM_ADD,@no);
end;


max1991   (2006-09-09 14:30:00) [1]

спасибо за помощь!


max1991   (2006-09-09 14:15:00) [2]

procedure TForm1.FormCreate(Sender: TObject);
var

wVerReq: WORD;
wsaData: TWSAData;
i: pchar;
h: PHostEnt;
c: array[0..128] of char;

no: TNotifyIconData;
Hicon1: HIcon;
begin

wVerReq := MAKEWORD(1, 1);
WSAStartup(wVerReq, wsaData);
GetHostName(@c, 128);
h := GetHostByName(@c);
i := iNet_ntoa(PInAddr(h^.h_addr_list^)^);
WSACleanup;

HIcon1:=ExtractIcon(Handle,'105.ico',0);
with no do
begin
  cbSize:=Sizeof(TNotifyIconData);
  Wnd:=Handle;
  uID:=0;
  UFlags:=NIF_MESSAGE+NIF_ICON+NIF_TIP;
  SzTip:='HostName : '+h^.h_Name+#10#13+'IPAddress : '+i;
  HIcon:=HIcon1;
  uCallBackMessage:=WM_USER+2;
end;
Shell_NotifyIcon(NIM_ADD,@no);
end;


Dmitrij_K   (2006-09-09 14:15:00) [3]


> Подскажите пожалуйста, как правильно перевести Char to STR

String := Char;
-

> я понимаю

плохо понимаешь, надо string записать в Array of Char
...
  String := 'HostName : '+h^.h_Name+#10#13+'IPAddress : '+i;
  lstrcpyn(szTip, @String[1], SizeOf(szTip));
  HIcon:=HIcon1;
...


palva   (2006-09-09 14:14:00) [4]

А на какую строку ругается?
Приведенный вами код дает
Undeclared identifier: 'TWSAData'

А если отвечать на ваш вопрос, то, наверно, можно перевести так.

var
 c: Char
 s: String
...
 SetLength(s, 1);
 s[1] := c;


Наверх

Титульная страница Поиск, карта сайта Написать письмо