Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 1 / 2
Регистрация: 21.07.2014
Сообщений: 33

Перевести функцию IPAddrToName с Дельфи

23.07.2014, 14:40. Показов 1027. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравия всем. Есть на делфи такая функция -

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function IPAddrToName(IPAddr: string): string;
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  WSAData: TWSAData;
begin
  WSAStartup($101, WSAData);
  SockAddrIn.sin_addr.s_addr := inet_addr(pansichar(ansistring(unicodestring(pchar(IPAddr)))));
  HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
  if HostEnt <> nil then
    Result := StrPas(Hostent^.h_name)
  else
    Result := '';
end;
Как это сделать на с++ embarcadero xe6? Сильно не пинайте, я только начинаю пробоваться в c++ сах.
Вот моя попытка. Этот код вызывает access violation
C++
1
2
3
4
5
6
7
8
9
10
UnicodeString IPAddrToName(UnicodeString IPAddr)
{
TSockAddrIn SockAddrIn;
   PHostEnt HostEnt;
   TWsaData* WSAData;
   WSAStartup(101, WSAData);
   SockAddrIn.sin_addr.s_addr=inet_addr((char*)(AnsiString(IPAddr).c_str()));
   HostEnt = gethostbyaddr((char*)&SockAddrIn.sin_addr.s_addr, 4, AF_INET);
   return String(HostEnt->h_name);
}
Добавлено через 36 минут
Все, разобрался, код таков
C++
1
2
3
4
5
6
7
8
9
10
11
UnicodeString IPAddrToName(UnicodeString IPAddr)
{
TSockAddrIn SockAddrIn;
   hostent *HostEnt;
   WORD wVersionRequested =MAKEWORD( 1,1);
WSADATA wsaData;
   WSAStartup(101, &wsaData);
   SockAddrIn.sin_addr.s_addr=inet_addr((char*)(AnsiString(IPAddr).c_str()));
   HostEnt = gethostbyaddr((const char FAR *)&SockAddrIn.sin_addr.s_addr, 4, AF_INET);
   return HostEnt->h_name;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.07.2014, 14:40
Ответы с готовыми решениями:

перевести програмку из дельфи в си
Добрый вечер! Мой научный руководитель в срочном порядке сказал перевести мою расчетную программу из Дельфи в Си/Си++, а я, увы, знаю...

Перевести исходник игры с дельфи на с++
Всем привет! Помогите пожалуйста перевести исходник программы с дельфи на с++ я не могу разобраться сама. Программа небольшая две-три...

Перевести класс с Дельфи на Билдер
Пол дня промучился, ничего не получается. Позарез нужно на Билдере этот код привернуть, ни фига не получается, помогите кому не в лом. ...

3
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.07.2014, 15:11
http://msdn.microsoft.com/en-u... 85%29.aspx
0
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
25.07.2014, 18:37
Цитата Сообщение от Мерсер Посмотреть сообщение
Delphi
1
WSAStartup($101, WSAData);
C++
1
WSAStartup(101, &wsaData);
$101 <> 101
$101 == 0x101
ну это так, заметка по поводу
0
2 / 1 / 2
Регистрация: 21.07.2014
Сообщений: 33
28.07.2014, 19:44  [ТС]
krv, принято

Добавлено через 3 минуты
C++
1
wVersionRequested
нужно вставить вместо 101
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.07.2014, 19:44
Помогаю со студенческими работами здесь

Форма с кнопками из потока. Перевести с Дельфи
Может кто-нибудь помочь с кодом? много не прошу, только понять синтаксис верно на дельфи я делал dll в которой создавал поток и в потоке...

перевести с дельфи на с++ билдер чтение из файла в переменную
var //это знаю s: string; // на си будет String s; кажется f: TextFile; // на си будет FILE *F; procedure...

Перевести с Дельфи на Паскаль
program Project1; //Возвращает заглавную версию буквы для кодовой страницы CP866. function UpCase866(const aChar : Char) : Char; ...

Перевести из паскаля в Дельфи
преведите дайте код на кнопку и тд var n,i,a,sp,so:integer; begin write('n='); readln(n); writeln('Vvedite ',n,' chisel'); ...

Перевести код на Дельфи
Кто может перенести это в Delphi??? type // конфета TCandy = record Name: string; // название Price: double; // цена ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru