Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переложить на С#, c C++ на C# 
:(
    Опции темы
Barabeo
Дата 5.5.2011, 22:02 (ссылка)    | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 2.10.2010

Репутация: нет
Всего: нет



Помогите конвертнуть вот это на C#:

Код

void CARPApplicationDlg::OnBnClickedButton1()
{
    DWORD dwStatus;
    PMIB_IPNETTABLE pIpArpTab=NULL;

    DWORD dwActualSize = 0;
    GetIpNetTable(pIpArpTab, &dwActualSize, true);
    
    pIpArpTab = (PMIB_IPNETTABLE) malloc(dwActualSize);
    if (GetIpNetTable(pIpArpTab, &dwActualSize, true) != NO_ERROR)
    {
        if (pIpArpTab)
            free (pIpArpTab);
        return;
    }

    DWORD i, dwCurrIndex;
    char sPhysAddr[256], sType[256], sAddr[256];
    PMIB_IPADDRTABLE pIpAddrTable = NULL;
    char Str[255];

    dwActualSize = 0;
    GetIpAddrTable(pIpAddrTable, &dwActualSize, true);
    pIpAddrTable = (PMIB_IPADDRTABLE) malloc(dwActualSize);
    GetIpAddrTable(pIpAddrTable, &dwActualSize, true);

    dwCurrIndex = -100;
    
    for (i = 0; i < pIpArpTab->dwNumEntries; ++i)
    {
        if (pIpArpTab->table[i].dwIndex != dwCurrIndex)
        {
            dwCurrIndex = pIpArpTab->table[i].dwIndex;

            
            struct in_addr in_ad;
            sAddr[0] = '\n';
            for (int i = 0; i < pIpAddrTable->dwNumEntries; i++)
            {
                if (dwCurrIndex != pIpAddrTable->table[i].dwIndex)
                    continue;

                in_ad.s_addr = pIpAddrTable->table[i].dwAddr;
                strcpy(sAddr, inet_ntoa(in_ad));
            }

            sprintf(Str,"Interface: %s on Interface 0x%X",
                sAddr, dwCurrIndex);
            lbMessages.AddString(Str);
            lbMessages.AddString(" Internet Address |
                Physical Address | Type");    
        }

        AddrToStr(pIpArpTab->table[i].bPhysAddr,
            pIpArpTab->table[i].dwPhysAddrLen, sPhysAddr);
        
            switch (pIpArpTab->table[i].dwType)
         {
            case 1:
             strcpy(sType,"Other");
                break;
            case 2:
                strcpy(sType,"Invalidated");
                break;
            case 3:
                strcpy(sType,"Dynamic");
                break;
            case 4: 
                strcpy(sType,"Static");
                break;
            default:
                strcpy(sType,"");
            }

        struct in_addr in_ad;
        in_ad.s_addr = pIpArpTab->table[i].dwAddr;
        sprintf(Str, " %-16s | %-17s | %-11s", inet_ntoa(in_ad),
            sPhysAddr, sType);
        lbMessages.AddString(Str);
    }

    free(pIpArpTab);
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0384 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.