Glazz, значит либо у тебя лежит кривая либа, либо она почему-то требует каких-то зависимостей (я такого не встречал), либо эта клиентская библиотека не той версии... Где ты её брал? В дистрибутиве mysql?
Да. Меня настораживает то, что он неправильно пишет адрес до библиотеки. Я подключал адрессом до библиотеки, он пишет там адресс до файла без слэша, если пишу -lmysql , он пишет, что не может покдлючить её. linker input file unused because linking not done Если при компиляции ложить библиотеку в другую папку, то он пишет - не могу найти -libmysql.dll . Почему сначала минус идет. О если библиотеку называю "-libmysql.dll" то он её находит.
Здраствуйте. Я новичек в С++, помогите плиз: Как рисовать в C++ (Windows XP, Visual Studio 2008 Express)? Нашел пример Code: #using <system.drawing.dll> using namespace System; using namespace System::Drawing; // ... protected: Void Form1::OnPaint(PaintEventArgs^ pe ) { Graphics^ g = pe->Graphics; g->Clear(Color::AntiqueWhite); Rectangle rect = Form::ClientRectangle; Rectangle smallRect; smallRect.X = rect.X + rect.Width / 4; smallRect.Y = rect.Y + rect.Height / 4; smallRect.Width = rect.Width / 2; smallRect.Height = rect.Height / 2; Pen^ redPen = gcnew Pen(Color::Red); redPen->Width = 4; g->DrawLine(redPen, 0, 0, rect.Width, rect.Height); Pen^ bluePen = gcnew Pen(Color::Blue); bluePen->Width = 10; g->DrawArc( bluePen, smallRect, 90, 270 ); } Но приложение, допустим, Win32, и там нет PaintEventArgs. Подскажите как рисовать просто в окне(как я понял от PaintEventArgs берется только дескриптор окна и RECT (эт я сам смогу)).
agrofyl2 Долго так объяснять. Там очень много функций. Чтобы написать все понадобится штук 20 сообщений. Если хочешь-дай свою почту- я отправлю doc файл, который я сам состовлял изучая windows.h. Там все очень наглядно и полно примеров! Но, в двух словах, это делается так: Создается пустое окно (это шаблон): #include <windows.h> // Объявление функции окна (оконной процедуры) LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); HINSTANCE hInst; // Идентификатор приложения // Указатель на константную строку символов - имя программы и класса окна LPCSTR AppName = "MyProgramm"; // Точка входа в программу - функция WinMain int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { HWND hWnd; // Уникальный идентификатор окна (handle) MSG msg; // Объявление структуры типа MSG, для работы с сообщениями hInst = hInstance; // Сохраняем идентификатор приложения // Заполняем структуру WNDCLASS WNDCLASS wc; // Инициализируем выделенную для структуры память нулями ZeroMemory(&wc, sizeof(wc)); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WndProc; wc.hInstance = hInst; wc.hIcon = LoadIcon(hInst, IDI_APPLICATION); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wc.lpszClassName = AppName; RegisterClass(&wc); // Создаем и регистрируем оконный класс // Создаем окно программы hWnd = CreateWindow( AppName, // Имя класса окна AppName, // Заголовок окна WS_OVERLAPPEDWINDOW, // Стиль окна CW_USEDEFAULT, 0, // Горизонтальная и вертикальная позиции окна 300, 300, // Ширина и высота окна NULL, // Хендл родительского окна NULL, // Хендл меню hInst, // Идентификатор приложения NULL); // Дополнительные данные окна ShowWindow(hWnd, SW_SHOW); // Отображаем окно UpdateWindow(hWnd); // Перерисовываем окно // Стандартный цикл обработки сообщений while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } // Оконная процедура LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, msg, wParam, lParam); } return 0; } Окно создали, теперь как в нем рисовать: Рисуем либо в case WM_PAINT, а именно: HDC hdc; RECT rect; PAINTSTRUCT ps;//-глобальные переменные case WM_PAINT: hdc = BeginPaint(hWnd, &ps); RECT rt; GetClientRect(hWnd, &rect); DrawText(hdc, "Привет вот так", -1, &rect,DT_SINGLELINE ); EndPaint(hWnd, &ps); break; (он должен быть там же, где и case WM_DESTROY: PostQuitMessage(0); break и там где: DrawText(hdc, "Привет", -1, &rect,DT_SINGLELINE ); мы пишем все для рисования, либо мы можем рисовать где угодно, но тогда надо написать строку hDC=GetDC(hWnd);НО! Не забываем удалять все объекты DeleteObject(hDC); А рисуем мы так: PatBlt(hDC,0,0,2000,1000,PATCOPY); -прямоугольник MoveToEx(hDC,10,20,NULL);LineTo(hDC,100 ,100);-линия ExtTextOut(hDC,10,10,NULL,NULL,"привет мир",9,NULL);-текст Ellipse(hDC,int x,int y,int z,int k);-эллипс и тд. Давай все таки отошлю.
Что-то не то с MYSQL библиотекой. Делаю допустим такой код : Code: MYSQL *con; con = mysql_init(NULL); mysql_real_connect(con,"localhost","root","pass","test",3306,NULL,0); for(int i = 0; i < 101; ++i) { mysql_query(con,"..."); cout<<i<<endl; } Цикл работает 3-4 раза , ну вообще примерно так выглядет счет: 1 2 3 465874563 Если я уберу mysql_query(); то счет идет норм. Это мускль запрос кидается на ячейку с памятью под int i ? в запросе обычная вставка в бд.
лучше каждый раз вставляй новую строку и сразу выводи счётчик на экран - так виднее будет в чём беда. а вообще как я понял con - это база данных. а нам нужно ещё таблицу выбрать(или создать) и уже в неё вставлять. а то получается что мы прямо в базу суём
Имеете ввиду делать сразу после вызова MYSQL_RES res = mysql_store_result(con); ? - не помогло Ну если бы я делал выборку, то да. Хотя попробую. Ну int i изменяется после вызова запроса это 99% уверен( ну до вызова норм, после уже хз какое значение). а con , это указатель на дескриптор , для работы с БД. Таблицу я указываю в mysql_real_connect(...'tested'..);
всё равно нужно в запросе указывать имя таблицы. просто если добавляется успешно, то "и" увеличится 100%.
тоолько начал пишу #include <lostream.h> int main() { count << "Hello World!\n"; return 0; } а он отвечает 1.cpp|1|lostream.h: No such file or directory| 1.cpp|3|error: expected initializer before "int"| ||=== Build finished: 2 errors, 0 warnings ===| че за фигня