[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. NetSter

    NetSter Moderator

    Joined:
    30 Jul 2007
    Messages:
    810
    Likes Received:
    414
    Reputations:
    62
    мм.. не нашел инфо о том как привентить spin control в Visual Studio 2008 к едитбоксу..
    вот что сделал уже сделал:
    1) на одном форуме нашел как привязать спин контролл к едит боксу:
    2) есть диалог с едитом, его инициализция и чтение даных с него.. вообщем все работает.
    Code:
     class CMyDialog : public CDialog
    {
    public:
    	afx_msg BOOL OnSetCursor( CWnd* pWnd, UINT nHitTest, UINT message );
    	CMyDialog(CWnd* pParent = NULL);  
    		enum { IDD = IDD_MATRIXDIALOG };
    	CListBox m_sizex;
    	CEdit    m_matrix;
    	CEdit    m_a;
    	CEdit    m_b;
    	CEdit    m_c;
    protected:
    	virtual void DoDataExchange(CDataExchange* pDX);    
    protected:
    	virtual void OnOK();
    	virtual void OnCancel();
    	virtual BOOL OnInitDialog();
    	afx_msg void OnPaint();
    	DECLARE_MESSAGE_MAP()
    public:
    	afx_msg void OnLbnSelchangeListx();
    	afx_msg void OnStnClickedBitmap1();
     };
    CMyDialog::CMyDialog(CWnd* pParent)
    	: CDialog(CMyDialog::IDD, pParent)
    {
    }
    void CMyDialog::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	DDX_Control(pDX, IDC_LISTX, m_sizex);
    	DDX_Control(pDX, IDC_METRIXEDIT, m_matrix);
    	DDX_Control(pDX, IDC_EDITA, m_a);
    	DDX_Control(pDX, IDC_EDITB, m_b);
    	DDX_Control(pDX, IDC_EDITC, m_c);
    }
    
    Code:
    void CMyDialog::OnOK() 
    {
    	char str[80]; 
    	char str1[80];
    	char strA[5];
    	char strB[5];
    	char strC[5];
    	Number=m_sizex.GetCurSel();
    	m_sizex.GetText(Number,str);
    	m_matrix.GetWindowText(str1,80);
    	m_a.GetWindowText(strA,5);
    	m_b.GetWindowText(strB,5);
    	m_c.GetWindowText(strC,5);
    ----------------------
    ----------------------
    	am = atoi(strA);
    	bm = atoi(strB);
    	cm = atoi(strC);
    	fclose(matrix);
    	BE_DIALOG=1;
    	CDialog::OnOK();
    }
    
    Code:
    BOOL CMyDialog::OnInitDialog() 
    {
    	CDialog::OnInitDialog();
    	-----
            -----
    	m_a.SetWindowText(CString("A"));
    	m_b.SetWindowText(CString("B"));
    	m_c.SetWindowText(CString("C"));
    	return TRUE;
    	}
    
    Помогите привентить спин - контролл ну к примеру для (pDX, IDC_EDITA, m_a), и т.д.
    Помогите ценным советом или толковым линком по сабжу..
    Спасибо.
     
    _________________________
  2. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Нет ли у кого примера кода простенького классического вируса на С ?
     
  3. Dian

    Dian Elder - Старейшина

    Joined:
    2 Sep 2008
    Messages:
    57
    Likes Received:
    11
    Reputations:
    4
    Смотри http://vx.netlux.org
     
  4. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    там только для ms-dos и linux :(
     
  5. ntldr

    ntldr Elder - Старейшина

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    Ошибка при линке
    1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup

    Code:
    #include <windows.h>
    
    int main()
    {
    
    	return 0;
    }
     
  6. St0nX

    St0nX Elder - Старейшина

    Joined:
    19 May 2007
    Messages:
    257
    Likes Received:
    46
    Reputations:
    0
    Проект консольный создай или сделай так
    Code:
    #include <windows.h>
    #pragma comment(linker,"/ENTRY:main")
    int main()
    {
    
    	return 0;
    }
     
  7. 0verbreaK

    0verbreaK Elder - Старейшина

    Joined:
    30 Apr 2008
    Messages:
    318
    Likes Received:
    42
    Reputations:
    -3
    _nic
    Сайт группы Hell Knights Crew
    http://hellknights.void.ru/

    Конкретно
    http://hellknights.void.ru/releases/0x48k-wmfvirus.rar
    http://hellknights.void.ru/releases/0x48k-epolikeinfect.rar
     
    1 person likes this.
  8. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    как преобразовать TCHAR в LPCSTR :confused: :confused: :confused:
     
  9. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    #define TCHAR LPCSTR ;(

    а вообще зачем? используй или юникод или аски, юникод+аски = не айс.
     
  10. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    нет, просто переопределить TCHAR в LPCSTR нельзя, они не совместимые ибо оба определины в винде, требуеться отправить переменную типа TCHAR в функцию которая требует в виде параметра LPCSTR
     
  11. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    каст типа (LPCSTR) и компилятор всё схавает, за работоспособность не отвечаю..
     
  12. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    Code:
    #include "stdafx.h"
    #include "windows.h"
    #define BUFSIZE 80
    #include <tchar.h>
    #define TCHAR LPCSTR
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    
        HKEY hKey;
    	LPCSTR text;
    	DWORD dwBufLen=BUFSIZE;
    	TCHAR szProductType[BUFSIZE];
         
    	LONG lRet=RegOpenKeyEx( HKEY_LOCAL_MACHINE,TEXT("SYSTEM\\ControlSet001\\Services\\Tcpip\\Parameters\\Interfaces\\{2B69BB5-EB8E-48CE-8D1F-FA2CCF27B6EE}"), 0, KEY_QUERY_VALUE, &hKey );
        if( lRet != ERROR_SUCCESS ) MessageBoxA(NULL, "НЕТ", "",MB_OK);
        lRet = RegQueryValueEx( hKey, TEXT("DhcpIPAddress"), NULL, NULL, (LPBYTE) szProductType, &dwBufLen);
             RegCloseKey( hKey );
    
    	text=(LPCSTR(szProductType));
    	MessageBoxA(NULL,text,"",MB_OK);
    	return 0;
    }
    
    выводит первый символ из всей строки
    в DhcpIPAddress есть мой ИП в отладчике он есть
    но мессаге бокс выводит только первый символ моего ИП
     
  13. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    в переменной szProductType мой ип есть, смотрел под отладчиком, но выводиться тока первый байт
     
  14. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    омг
    используй MessageBoxEx

    пс: и юникод (везде)
    ппс: и вместо int _tmain(int argc, _TCHAR* argv[]) достаточно int main(void)
     
    1 person likes this.
  15. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    iv.
    'MessageBoxEx' : function does not take 4 arguments
     
  16. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    to iv.
    всё равно выводит тока первый символ
     
  17. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    Либо там каким-то образом на второе место затисался символ конца строки, либо формат строки неверный. Код в студию.
     
  18. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    всё заработало
    "Configuration Properties -> General
    Character Set поставил "Use Multi-Byte Character Set"
    стало выводить окошко с моим айпишником))
    но как же всётаки преобразовать тип LPCSTR который возвращает функция RegQueryValueEx в обычный текстовый массив char
     
  19. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    Если ты побайтово посмотришь данные которые записаны в Unicode, то обнаружишь что старший байт там = 0 (если не используются символы которых нет в аски), это сделано как раз для совместимости. Мысль думаю понятна. А вообще не отрицаю возможности наличия функции, которая делает это автоматически..
    Так и не понял зачем тебе это..работай в юникоде, это нормально =) Повсеместно сейчас он используется.
     
  20. jawbreaker

    jawbreaker Elder - Старейшина

    Joined:
    7 Jul 2008
    Messages:
    156
    Likes Received:
    76
    Reputations:
    3
    Попробуй так:
    char str[200];
    LPCSTR lpsz = (LPCSTR) str;

    или

    char str[200];
    LPCSTR lpsz = static_cast(str);
     
Thread Status:
Not open for further replies.