Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Есть программа на Visual C++, мне бы переделать на Builder 
:(
    Опции темы
Гость_=Женек=
Дата 26.5.2005, 16:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот код на Visual C++. Помогите переделать на Builder

Вот весь архив с программой http://val-rud.narod.ru/net_local_src.rar
И ее bin http://val-rud.narod.ru/net_local_bin.rar


Код


#define UNICODE
#include <windows.h>
#include <commctrl.h>
#include <process.h>
#include "resource.h"
#include <lm.h>
#include <sys/stat.h>

#define NUM_BITMAPS    3
#define BITMAP_WIDTH    16
#define BITMAP_HEIGHT   16
#define ID_TREEVIEW     1000

#define  GO                11011
#define  BACK            11012
#define  ADDR_EDIT        11013
#define  CLR            11014
#define  FND            11015
#define  FND_EDIT        11016
#define MAX_TEXT    64

#define    START            0

HWND But,ProgPath, hWndB_go, hWndB_back,hWndTxt1,hWndTxt2, hwndTab, hwndMain, 
                                        hWndEdit, hWndB_clear, hWndB_fnd, hWndfndEdit, hWndTxt3;
u_short szWndName[] = L"Поиск доступных сетевых ресурсов";

HINSTANCE g_hinst;
u_short *nbName;
BOOL FIND_FILES = FALSE;

int fnd = 0;


typedef struct tagIPINFO
{
    u_char Ttl;
    u_char Tos;
    u_char IPFlags;
    u_char OptSize;
    u_char *Options;
}IPINFO;

typedef IPINFO* PIPINFO;

typedef struct tagICMPECHO
{
    u_long Source;
    u_long Status;
    u_long RTTime;
    u_short DataSize;
    u_short Reserved;
    void FAR *pData;
    IPINFO    ipInfo;
}ICMPECHO;

typedef ICMPECHO* PICMPECHO;

int idxFirstImage, fndbuf_len;

char shablon_buf[24];
u_short shablon_buf_w[12], *fnd_buf = NULL;
void *hThread;

int g_bad, g_find, g_success, g_finish, g_start;

BOOL bValid, g_bIsVisible = FALSE;

char *TextCombo;
HIMAGELIST hIml;
SOCKET    s;
HWND hwndTree;
int l_oct;
static HCURSOR hCurCursor = NULL;
HIMAGELIST himl;

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM,  LPARAM);
VOID PingThreadProc( LPVOID lpvResult );
VOID PingFndThreadProc( LPVOID lpvResult );
BOOL set_address( char *hname, struct sockaddr_in *sap );
HANDLE (WINAPI *pIcmpCreateFile)(VOID);
BOOL (WINAPI *pIcmpCloseHandle)(HANDLE);
DWORD (WINAPI *pIcmpSendEcho)(HANDLE,DWORD,LPVOID,WORD,PIPINFO,LPVOID,DWORD,DWORD);
BOOL Ping(char* strHost);
BOOL InitTreeViewImageLists(HWND hwndTV) ;
HTREEITEM AddItemToTree(HWND hwndTV, u_short *lpszItem, int nLevel, BOOL rezalt);
BOOL InitTreeViewItems(HWND hwndTV, LPSTR lpszFileName) ;
HWND CreateTreeView(HWND hwndParent, PRECT cr);
BOOL DoShare (u_short *srvname);
BOOL DoFndShare (u_short *srvname, u_short *file_name);
u_short * IpToNBName( char *ip_name );
char *NetBiosName( char * nb_name );
HTREEITEM AddItem(HWND, u_short *, int, int);
HWND UpdateTreeView(HWND hwndParent, PRECT rcClient );
int  FindInDir( u_short *dirName, u_short *file_name );

HWND CreateBut(HWND hwnd2, INT x, INT y, INT w, INT h, u_short *name, INT comd)
{
        HWND ww;

        ww = CreateWindowEx(WS_EX_CONTROLPARENT, L"BUTTON", name,
        WS_VISIBLE | WS_CHILD | WS_TABSTOP , x, y, w, h, hwnd2, (HMENU) comd,
        (HINSTANCE) GetWindowLong(hwnd2, GWL_HINSTANCE), NULL);

        HDC hdc = GetDC(ww);

        HFONT font = CreateFont( (GetDeviceCaps(hdc, LOGPIXELSY) * 10) / 72,
                            0, 0, 0, FW_NORMAL, 0, 0, 0, 0, 0, 0, 0, 0, L"MS Sans Serif");

        SendMessage( ww, WM_SETFONT, (WPARAM)font, TRUE );
        
        ReleaseDC(ww, hdc );

        return ww;
}

HWND CreateEdit(HWND hwnd2, INT x, INT y, INT w, INT h, u_short *name, INT comd)
{
        HWND ww;

        ww = CreateWindowEx( WS_EX_CLIENTEDGE, L"EDIT", name,
        WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP |ES_AUTOHSCROLL                             , // styles
        x, y, w, h, hwnd2, (HMENU) comd,
        (HINSTANCE) GetWindowLong(hwnd2, GWL_HINSTANCE),
        NULL);

        HDC hdc = GetDC(ww);

        HFONT font = CreateFont( (GetDeviceCaps(hdc, LOGPIXELSY) * 10) / 72,
                            0, 0, 0, FW_NORMAL, 0, 0, 0, 0, 0, 0, 0, 0, L"MS Sans Serif");

        SendMessage( ww, WM_SETFONT, (WPARAM)font, TRUE );
        SetTextColor(hdc, RGB(255, 0, 0));
        ReleaseDC(ww, hdc );

        return ww;
}

HWND CreateText(HWND hwnd2, INT x, INT y, INT w, INT h, u_short *name )
{
        HWND ww;
         

        ww = CreateWindow( L"STATIC", name, WS_VISIBLE | WS_CHILD | CS_OWNDC,
        x, y, w,  h, hwnd2, (HMENU) 99,
        (HINSTANCE) GetWindowLong(hwnd2, GWL_HINSTANCE),
                NULL);

        HDC hdc = GetDC(ww);

        HFONT font = CreateFont( (GetDeviceCaps(hdc, LOGPIXELSY) * 10) / 72,
                            0, 0, 0, FW_NORMAL, 0, 0, 0, 0, 0, 0, 0, 0, L"MS Sans Serif");
        
        ReleaseDC(ww, hdc );

        SendMessage( ww, WM_SETFONT, (WPARAM)font, TRUE );

        return ww;
}

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, char *szCmdLine, int iCmdShow)
{
     HWND        hwnd ;
     MSG         msg ;
     WNDCLASS    wc;
     static LPCTSTR lpszAppName = L"MAINICO";
     
     wc.style = 0;
     wc.lpfnWndProc = WndProc;
     wc.cbClsExtra = 0;
     wc.cbWndExtra = 0;
     wc.hInstance = hInstance;
     wc.hIcon = LoadIcon(hInstance, lpszAppName);     
     wc.hCursor = LoadCursor (NULL, IDC_ARROW);
     wc.hbrBackground = (HBRUSH) COLOR_WINDOW;
     wc.lpszMenuName = NULL;
     wc.lpszClassName = L"DEMO";

     g_hinst = hInstance;

     RegisterClass(&wc);

    DEVMODE dm;
    ZeroMemory(&dm, sizeof(dm));
    dm.dmSize = sizeof(dm);

    EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm);

    hwnd = CreateWindowEx ( WS_EX_DLGMODALFRAME, L"DEMO", szWndName, WS_OVERLAPPEDWINDOW,
                                            (dm.dmPelsWidth - 580)/2, (dm.dmPelsHeight - 400)/2, 
                                            580, 400, NULL, NULL, hInstance, NULL) ; 

      ShowWindow (hwnd, SW_SHOW) ;
      UpdateWindow (hwnd) ;
      hwndMain = hwnd;

      while (GetMessage (&msg, NULL, 0, 0))
      {
              TranslateMessage (&msg) ;
              DispatchMessage (&msg) ;
      }
      return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
HANDLE    hndlIcmp = NULL;
WORD wVersionRequested;
DWORD dwThreadID;
DWORD lpvResult = 0;
RECT    cr;

        switch (iMsg)
        {

        case WM_CREATE :

                s = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); 

                bValid = FALSE;
                WSADATA wsaData;            
                int nRet;                    

                hndlIcmp = LoadLibrary(L"ICMP.DLL");
                if (hndlIcmp == NULL)
                {
                    MessageBox(NULL, L"Could not load ICMP.DLL", L"Error:", MB_OK);
                    exit(-1);
                }

                pIcmpCreateFile  = (HANDLE (WINAPI *)(void))
                                            GetProcAddress((HMODULE)hndlIcmp,"IcmpCreateFile");

                pIcmpCloseHandle = (BOOL (WINAPI *)(HANDLE))
                                            GetProcAddress((HMODULE)hndlIcmp,"IcmpCloseHandle");

                pIcmpSendEcho = (DWORD (WINAPI *)(HANDLE,DWORD,LPVOID,WORD,PIPINFO,LPVOID,DWORD,DWORD))
                                                GetProcAddress((HMODULE)hndlIcmp,"IcmpSendEcho");

                if (pIcmpCreateFile == NULL    || pIcmpCloseHandle == NULL    || pIcmpSendEcho == NULL)
                {
                    MessageBox(NULL, L"Error loading ICMP.DLL", L"Error:", MB_OK);
                    FreeLibrary((HMODULE)hndlIcmp);
                    exit(-1);
                }

                wVersionRequested = MAKEWORD( 2, 2 );
 
                nRet = WSAStartup( wVersionRequested, &wsaData );
                if ( nRet != 0 )
                {
                    MessageBox(NULL, L"Error WSAStartup", L"Error:", MB_OK);
                    FreeLibrary((HMODULE)hndlIcmp);
                    exit(-1);
                }
                bValid = TRUE;

                
                GetClientRect( hwnd, &cr );

                hWndTxt1 = CreateText(hwnd, cr.left + 5, 5, 60, 20, L"Подсеть -");
                hWndEdit = CreateEdit(hwnd, cr.left + 65, 5, 95, 20, L"192.168.???.", ADDR_EDIT);
                hWndTxt2 = CreateText(hwnd, cr.left + 65, 5, 80, 20, L"");
                ShowWindow( hWndTxt2, SW_HIDE );
                hWndTxt3 = CreateText(hwnd, cr.left + 160, 5, 55, 20, L"Шаблон -");
                ShowWindow( hWndTxt3, SW_HIDE );
                hWndfndEdit = CreateEdit(hwnd, cr.left + 210, 5, 80, 20, L"", FND_EDIT);
                ShowWindow( hWndfndEdit, SW_HIDE );
                hWndB_go = CreateBut(hwnd, cr.left + 300, 5, 50, 20, L"Поиск", GO);
                hWndB_back = CreateBut(hwnd, cr.left + 350, 5, 50, 20, L"Выход", BACK);
                hWndB_clear = CreateBut(hwnd, cr.left + 400, 5, 70, 20, L"Очистить", CLR);
                hWndB_fnd = CreateBut(hwnd, cr.left + 470, 5, 100, 20, L"Искать файл ...", FND);
                hwndTree = CreateTreeView(hwnd, &cr) ;

                break;
                
        case WM_DESTROY :
                WSACleanup();
                if ( hndlIcmp!= INVALID_HANDLE_VALUE )
                    FreeLibrary((HMODULE)hndlIcmp);
                if (hThread != NULL)
                    TerminateThread( hThread, 0 );
                PostQuitMessage (0) ;
                break;

                                
        case WM_COMMAND:
            int shablon_buf_len;
            u_short but_txt[7];
                switch( LOWORD(wParam))
                {
                case GO :
                    shablon_buf_len = SendMessage( hWndEdit, WM_GETTEXTLENGTH, (WPARAM)0, (LPARAM)0 );
                    if (shablon_buf_len > 12)
                    {
                        MessageBox(NULL, L"To many data", L"Error:", MB_OK);
                        break;
                    }
//                    EnableWindow( hWndB_clear, FALSE );

                    SendMessage( hWndEdit, WM_GETTEXT, (WPARAM)14, (LPARAM)shablon_buf_w );
                    SendMessage( hWndB_back, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Отмена" );
                    WideCharToMultiByte( CP_ACP, 0, (u_short*)shablon_buf_w, 12, shablon_buf, 12, NULL, NULL );
                    ShowWindow( hWndEdit, SW_HIDE );
                    ShowWindow( hWndTxt2, SW_SHOW );
                    SendMessage( hWndTxt1, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Пробиваю" );
                    if(FIND_FILES)
                    {
                        fndbuf_len = SendMessage( hWndfndEdit, WM_GETTEXTLENGTH, (WPARAM)0, 
                            (LPARAM)0 );
                        if (fndbuf_len > 64)
                        {
                            MessageBox(NULL, L"To many data", L"Error:", MB_OK);
                            break;
                        }
                        fnd_buf = (u_short*)VirtualAlloc( NULL, fndbuf_len + 2, MEM_COMMIT, 
                                                                                PAGE_READWRITE );
                        SendMessage( hWndfndEdit, WM_GETTEXT, (WPARAM)fndbuf_len + 2, 
                                                                            (LPARAM)fnd_buf );
                        hThread = CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE)PingFndThreadProc, 
                                        (LPVOID)hwnd, (DWORD)hwndTab, (LPDWORD)&dwThreadID);
                        EnableWindow( hWndfndEdit, FALSE );
                    }
                    else
                        hThread = CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE)PingThreadProc, 
                                        (LPVOID)hwnd, (DWORD)hwndTab, (LPDWORD)&dwThreadID);
                    EnableWindow( hWndB_go, FALSE );
                    EnableWindow( hWndB_clear, FALSE );
                    EnableWindow( hWndB_fnd, FALSE );
//                    if (FIND_FILES)
//                        EnableWindow( hWndfndEdit, FALSE );
                    break;

                case WM_CLOSE:
                    WSACleanup();
                    FreeLibrary((HMODULE)hndlIcmp);
                    TerminateThread( hThread, 0 );
                    break;

                case BACK:
                    if (fnd_buf != NULL)
                        VirtualFree( fnd_buf, 0, MEM_RELEASE );
                    SendMessage( hWndB_back, WM_GETTEXT, (WPARAM)12, (LPARAM)but_txt );
                    if ( (lstrcmp(but_txt, L"Выход")) == 0)
                    {
                        WSACleanup();
                        FreeLibrary((HMODULE)hndlIcmp);
                        exit(0);
                    }
                    TerminateThread( hThread, 0 );
//                    AddItem(hwndTree, L"Поиск завершен!!!", 1, 4);
                    SendMessage( hWndB_back, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Выход" );
                    EnableWindow( hWndB_clear, TRUE );
                    SendMessage( hWndTxt1, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Подсеть -" );
                    ShowWindow( hWndTxt2, SW_HIDE );
                    ShowWindow( hWndEdit, SW_SHOW );
                    SendMessage( hWndEdit, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"192.168.???." );
                    EnableWindow( hWndB_fnd, TRUE );
                    EnableWindow( hWndB_clear, TRUE );
                    if (FIND_FILES)
                    {
                        EnableWindow( hWndfndEdit, TRUE );
                        ShowWindow( hWndfndEdit, SW_HIDE );
                        ShowWindow( hWndTxt3, SW_HIDE );
                        FIND_FILES = FALSE;
                    }
                    break;

                case CLR:
                    DestroyWindow(hwndTree);
                    GetClientRect( hwnd, &cr );
                    hwndTree = UpdateTreeView(hwnd, &cr);
                    EnableWindow( hWndB_go, TRUE );
                    SendMessage( hWndTxt1, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Подсеть -" );
                    SendMessage( hWndEdit, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"192.168.???." );
                    ShowWindow( hWndfndEdit, SW_HIDE );
                    ShowWindow( hWndTxt3, SW_HIDE );
                    EnableWindow( hWndB_fnd, TRUE );
                    break;

                case FND:
                    EnableWindow( hWndB_fnd, FALSE );
                    FIND_FILES = TRUE;
                    ShowWindow( hWndfndEdit, SW_SHOW );
                    ShowWindow( hWndTxt3, SW_SHOW );
                    SendMessage( hWndB_back, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Отмена" );
                    

                    break;

                 }
                return 0;

        case WM_SIZE:
                MoveWindow( hwndTree, 0, 30, LOWORD(lParam), HIWORD(lParam) - 30, TRUE );

                break;

        case WM_NOTIFY: 
                 switch (((LPNMHDR) lParam)->code) 
                 {
                    case TVN_SELCHANGED:
                            LPNMTREEVIEW pnmtv;
                            pnmtv = (LPNMTREEVIEW) lParam;
                            TVITEM item;

                            u_short txt[MAX_TEXT];

                            item.mask = TVIF_HANDLE | TVIF_TEXT;
                            item.hItem = pnmtv->itemNew.hItem;
                            item.pszText = txt;
                            item.cchTextMax = MAX_TEXT;

                            if( TreeView_GetItem( hwndTree, &item ) )
                            {
                                if(item.lParam == 1)
                                    break;
                                    HTREEITEM hParent = NULL;
                                    hParent = TreeView_GetParent( hwndTree, item.hItem );
                                    if ( hParent == NULL)
                                        break;
                                    TVITEM pritem;
                                    u_short prtxt[MAX_TEXT];
                                    pritem.mask = TVIF_HANDLE | TVIF_TEXT;
                                    pritem.hItem = hParent;
                                    pritem.pszText = prtxt;
                                    pritem.cchTextMax = MAX_TEXT;
                                    if( TreeView_GetItem( hwndTree, &pritem ) )
                                    {
                                        lstrcat( pritem.pszText, L"\\");
                                        lstrcat( pritem.pszText, item.pszText);
                                        ShellExecute( NULL, L"open", pritem.pszText, NULL, NULL, SW_SHOW );
                                    }

                            }
                        
                            break;

                    default:
                        break;
                 }
            break; 
        }
        

        return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
 
}

int Ping(char* strHost)
{
    DWORD *dwAddress;
    IPINFO ipInfo;
    ICMPECHO icmpEcho;
    HANDLE hndlFile;
    struct sockaddr_in sap;

    if(!bValid)
        return FALSE;

    if ( ! set_address( strHost, &sap ) )
        return FALSE;

    dwAddress = (DWORD *)&sap.sin_addr;

    hndlFile = pIcmpCreateFile();

    ipInfo.Ttl = 255;
    ipInfo.Tos = 0;
    ipInfo.IPFlags = 0;
    ipInfo.OptSize = 0;
    ipInfo.Options = NULL;
    icmpEcho.Status = 0;

    pIcmpSendEcho( hndlFile, *dwAddress, NULL, 0, &ipInfo, &icmpEcho, 
                                                                sizeof(struct tagICMPECHO), 100);

    if (icmpEcho.Status)
        return FALSE;

    pIcmpCloseHandle(hndlFile);


    return TRUE;
}

int inet_aton( char *cp, struct in_addr *pin ) 
{ 
    int re; 
    re = inet_addr( cp ); 
    if ( re == -1 && strcmp( cp, "255.255.255.255" ) ) 
    return 0; 
    pin->s_addr = re; 
    return 1; 
}

BOOL set_address( char *hname, struct sockaddr_in *sap ) 
{ 
    memset( sap, 0, sizeof( sockaddr_in ) ); 
    sap->sin_family = AF_INET; 
    if ( hname != NULL ) 
    { 
        if ( !inet_aton( hname, &sap->sin_addr ) ) 
                return FALSE; 
        return TRUE; 
    }
    return FALSE;
}

VOID PingThreadProc( LPVOID lpvResult )
{
    char shablon[15];
    char four[4];
    memset( shablon, 0, 15 );
    lstrcpyA( &shablon[0], shablon_buf );
    int numItems = 0;
    l_oct = START;
    BOOL share;
    int shablon_len = lstrlenA(shablon);

//    hCurCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));

    AddItem(hwndTree, L"Поиск начат!!!", 1, 5);
    u_short *wch_addr = (u_short*)VirtualAlloc( NULL, 17, MEM_COMMIT, PAGE_READWRITE );
    SendMessage( hWndTxt1, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Пробиваю" );
    while ( 1 )
    {
        l_oct ++;
        if(l_oct == 255)
        {
//            EnableWindow( hWndB_clear, TRUE );

            AddItem(hwndTree, L"Поиск завершен!!!", 1, 4);
            VirtualFree( wch_addr, 0, MEM_RELEASE );
            SendMessage( hWndB_back, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Выход" );
            SendMessage( hWndTxt1, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Подсеть -" );
            
            ShowWindow( hWndTxt2, SW_HIDE );
            ShowWindow( hWndEdit, SW_SHOW );
            break;
        }
        
        memset(shablon + shablon_len, 0, 4);
        memset(four, 0, 4);
        itoa( l_oct, &four[0], 10 );
        lstrcatA( shablon, four );
        MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, shablon, -1, wch_addr, 34 );
        SendMessage( hWndTxt2, WM_SETTEXT, (WPARAM)NULL, (LPARAM)wch_addr );

        if ( Ping(shablon) )
        {
            char *tmp_srv = NetBiosName( shablon );
            if (tmp_srv != NULL)
            {
                char *tmp = (char*)VirtualAlloc( NULL, lstrlenA(tmp_srv) + 5, MEM_COMMIT, PAGE_READWRITE );
                lstrcpyA( tmp, "\\\\");
                lstrcatA( tmp, tmp_srv );
                u_short *wch = (u_short*)VirtualAlloc( NULL, lstrlenA(tmp)*2, MEM_COMMIT, PAGE_READWRITE );

                MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, tmp, -1, wch, lstrlenA(tmp) * 2 );
                VirtualFree( tmp, 0, MEM_RELEASE );
                share = DoShare( wch );
                VirtualFree( wch, 0, MEM_RELEASE );
            }
        }
    }
//    VirtualFree( wch_addr, 0, MEM_RELEASE );
    ExitThread( 0 );
}

VOID PingFndThreadProc( LPVOID lpvResult )
{
    char shablon[15];
    char four[4];
    memset( shablon, 0, 15 );
    lstrcpyA( &shablon[0], shablon_buf );
    int numItems = 0;
    l_oct = START;
    BOOL share;
    int shablon_len = lstrlenA(shablon);

//    hCurCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));

    AddItem(hwndTree, L"Поиск начат!!!", 1, 5);
    u_short *wch_addr = (u_short*)VirtualAlloc( NULL, 17, MEM_COMMIT, PAGE_READWRITE );
    SendMessage( hWndTxt1, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Пробиваю" );
    while ( 1 )
    {
        l_oct ++;
        if(l_oct == 255)
        {
//            EnableWindow( hWndB_clear, TRUE );
            AddItem(hwndTree, L"Поиск завершен!!!", 1, 4);
            VirtualFree( wch_addr, 0, MEM_RELEASE );
            SendMessage( hWndB_back, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Выход" );
            SendMessage( hWndTxt1, WM_SETTEXT, (WPARAM)NULL, (LPARAM)L"Шаблон для поиска -" );
            EnableWindow( hWndB_clear, TRUE );
            ShowWindow( hWndTxt2, SW_HIDE );
           
  Вверх
rsm
Дата 26.5.2005, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

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


 




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


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

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