Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.173] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Jeno
char a[3] = "30"; это срока! строка состоит из 3-х символов, каждый по байту. первый символ - '3', второй - '0', третий - символ конца строки - '\n'; тебе нужет u_short, что есть unsigned short, что есть 2 байтоное целое число!! хоть строка и есть число, но представлена она в совершенно другом формате! Откуда компьютер знает что те символы которые ты ввел - это число в конце концов? Это должен знать (и проверять) ты!! и затем из этих символов сделать нормальное, понятное компьютеру число! для этого есть ряд средств. из чистого C++ есть строковые потокаи для узких и широких символоа (stringstream, wstringstream) на апи есть atoi, wtoi |
Сообщ.
#17
,
|
|
|
Цитата LuckLess @ третий - символ конца строки - '\n'; хочу не согласится, конец строки это \0! а по делу, у человека помоему в проекте прописано #define UNICODE, если у него компилятор постоянно пытается подсунуть ему Unicode АПИшки... |
Сообщ.
#18
,
|
|
|
Цитата wertyman @ хочу не согласится, конец строки это \0! ну да.. Цитата wertyman @ а по делу, у человека помоему в проекте прописано #define UNICODE, если у него компилятор постоянно пытается подсунуть ему Unicode АПИшки... ну да.. виндовый проект по умолчанию юникодный вродебы.. |
Сообщ.
#19
,
|
|
|
Цитата LuckLess @ ну да.. виндовый проект по умолчанию юникодный вродебы.. Вот блин, это 2005 такие чудеса выдает чтоли ? И зачем оно надо, пусть человек работает нормально со строками... |
Сообщ.
#20
,
|
|
|
Цитата wertyman @ И зачем оно надо, пусть человек работает нормально со строками... а чем тебе широкие строки не нормальные? |
Сообщ.
#21
,
|
|
|
ответ на 1-й вопрос: Рисуй главное окно в редакторе, а показывай его так:
void Main() { DialogBox(GetModuleHandle(NULL),(LPCSTR)IDD_DIALOG1,NULL,DlgProc); } Тупой пример из э-э... статьи... : #include "windows.h" #include "resource.h" char msg[1000]; char buf[100]; char bigb[100]; char minb[100]; INT_PTR CALLBACK DlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: SetClassLong(hwndDlg, GCL_HICON, (LONG)LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON1))); break; case WM_COMMAND: if (HIWORD(wParam)==BN_CLICKED) { switch(LOWORD(wParam)) { case IDOK: GetDlgItemText(hwndDlg,IDC_EDIT1,buf,100); lstrcpy(bigb,buf); lstrcpy(minb,buf); CharUpper(bigb); CharLower(minb); wsprintf(msg,"Пароль: '%s'\nБольшими: '%s'\nМаленькими: '%s'\nЧислобукофф: %i\n\nАминь.", buf,bigb,minb,lstrlen(buf)); MessageBox(hwndDlg,msg ,"Пароль:",MB_ICONINFORMATION); break; case IDCOPUT: SendMessage(hwndDlg,WM_CLOSE,0,0); break; } } break; case WM_CLOSE: if (MessageBox(hwndDlg,"Закрыть?","",MB_YESNO)==IDYES) { EndDialog(hwndDlg,0); } break; } return 0; } void Main() { DialogBox(GetModuleHandle(NULL),(LPCSTR)IDD_DIALOG1,NULL,DlgProc); } |
Сообщ.
#22
,
|
|
|
Цитата mad_avenger @ void Main() { DialogBox(GetModuleHandle(NULL),(LPCSTR)IDD_DIALOG1,NULL,DlgProc); } вот это и т.п. получается не нужно? з.ы.если я не создаю окно, а загружаю его с РС, знач мне не нужно это? ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINAPI)); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = MAKEINTRESOURCE(IDC_WINAPI); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassEx(&wcex); } За пример спасибо огромное з.ы.а где такие статьи можно найти? просто все самому приходится узнать....весь мсдн перерыл пока нашел что мне нужно |
Сообщ.
#23
,
|
|
|
на счет постоянной конвертации из широких символов в простые, зачем усложнять себе жизнь и использовать char веть есть же замечательный тип TCHAR. А на счет главного окна, то его тоже можно сделать диалогом и спокойно редактировать через редактор.
|