Qt4 Проблема в реализации данной схемы в Qt4 Вообщем есть класс формы в котором создано несколько экземпляров класса какого то эллемента, а так же класс формы имеет один экземпляр класса который производит вычисления. Так вот вопрос в классе вычислений имеется массив который необходимо изменять в классах эллементов класса формы. Вроде как все просто но че то не катит... может причина что в Qt4 какие то особенности есть... Я пробовал передавать просто указатель на массив что не прокатывало. Пробовал объявлять указатель в классе формы и через него это осуществлять что тоже не канало... вообщем вот.
Ребята у меня такой вопрос - Брут на дэдике - регулярно выскакивает табличка "Удалённый рабочий стол отключен" как её вырубить чтоб она не появлялась , а то на автомат не как не поставить , приходится постоянно кликать ОК , что бы брутить дальше иначе весь процесс тормазиться !
есть программы эмулирующие действия мыши. например AC Tool или UOPilot. вобщем парси гугл на тему эмуляторов мыши и автокликеров.
Пытаюсь скомпилировать сплойт. Но выдает какие то не понятные ошибки СКРИН Помогите разобраться Сам сплоит
1 #include <asm/page.h> - этого файла нет и соответственно ошибка два 2 PAGE_SIZE - скорее всего из-за #1 3 Пытается передать Char* в int Код не смотрел ибо лень, кажется там просто на дурака
В переменной int лежит адрес, как присвоить этот адрес указателю типа char* ? Кастить что-то не выходит( int addr = 0x0012FE74; char* ptr = ???
не получаеться... объясните что я не так сделал, изучаю сокеты, по книге "Эффективное программирование TCP/IP", но не как не пойму в чём ошибка. процесс останавливаеться на error socket.. код: Code: #include <winsock2.h> #include <iostream> using namespace std; int main(void) { struct sockaddr_in local; int s; int s1; int rc; char buf[1]; local.sin_family = AF_INET; local.sin_port = htons(666); local.sin_addr.s_addr = INADDR_ANY; if((s = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) { cout << "error socket\n"; return 1; } if((rc = bind(s, (sockaddr*)&local, sizeof(local))) == SOCKET_ERROR) { cout << "error bind\n" << errno; return 1; } if((rc = listen(s, 5))) { cout << "error listen\n"; return 1; } if((s1 = accept(s, NULL, NULL)) < 0) { cout << "error accept\n"; return 1; } if((rc = recv(s1, buf, 1, 0)) <= 0) { cout << "error \n"; return 1; } cout << "end: " << buf[0]; return 0; }
Мошь написать на Wapi простенькую прогу которая будет искать это окно и если найдет закрывать , еси че не знаешь пиши в асю подскажу 411 389 297
Делаю так: класс какого то объекта на форме: PHP: #ifndef OBJECT_H #define OBJECT_H #include <QGraphicsScene> class Object : public QGraphicsScene { Q_OBJECT public: Object(QObject *parent = 0); int posit; int * mas[3][3]; protected: virtual void mousePressEvent(QGraphicsSceneMouseEvent * mouseEvent); }; #endif // OBJECT_H Класс в котором проходят некие вычисления: PHP: #ifndef XO_II_H #define XO_II_H struct crd { int x; int y; }; class xo_ii { public: int * mas[3][3]; xo_ii(); crd * CrdOpr(int poss); private: int SummStr(int nStr); int SummDl1(); int SummDl2(); crd * OprNullStr(int nStr); crd * OprNullDl1(); crd * OprNullDl2(); }; Класс самой формы: PHP: #ifndef WIDGET_H #define WIDGET_H #include <QMainWindow> #include "ui_mainwindow.h" class Object; class xo_ii; class MainForm : public QMainWindow, public Ui::XO { Q_OBJECT public: MainForm(); private: Object * sc; xo_ii * xoii; }; #endif // WIDGET_H PHP: #include "widget.h" #include "object.h" #include "xo_ii.h" MainForm::MainForm() { setupUi(this); xoii = new xo_ii; sc = new Object; sc->mas = xoii->mas; sc->posit = 1; graphicsView->setScene(sc); } Данная схема не работает ошибка с троке sc->mas = xoii->mas; /home/kubik/XO/xo_test/XO/widget.cpp:11: error: invalid array assignment
ты хоть читаешь что компилятор пишет? Code: for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { sc->mas[i][j] = xoii->mas[i][j]; } } Вообще лучше делать данные поля закрытыми и обращатся к ним через геттеры/сеттеры.
При использовния данной конструкции я тупо копирую массив 1 в другой. А мне как бы надо что бы была одна ссылка на область памяти(массив) и я ее мог изменять во всех классах и так же при изменение в одном классе изменения отражались во всех
WSAStartup, WSACleanup Сравни свой код с одним из примеров из msdn Code: #include <winsock2.h> #include <stdio.h> #include <windows.h> #pragma comment(lib, "wininet.lib") int main(void) { //---------------------- // Initialize Winsock. WSADATA wsaData; int iResult = WSAStartup(MAKEWORD(2,2), &wsaData); if (iResult != NO_ERROR) { printf("Error at WSAStartup()\n"); return 1; } //---------------------- // Create a SOCKET for listening for // incoming connection requests. SOCKET ListenSocket; ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (ListenSocket == INVALID_SOCKET) { printf("Error at socket(): %ld\n", WSAGetLastError()); WSACleanup(); return 1; } //---------------------- // The sockaddr_in structure specifies the address family, // IP address, and port for the socket that is being bound. sockaddr_in service; service.sin_family = AF_INET; service.sin_addr.s_addr = inet_addr("127.0.0.1"); service.sin_port = htons(27015); if (bind( ListenSocket, (SOCKADDR*) &service, sizeof(service)) == SOCKET_ERROR) { printf("bind() failed.\n"); closesocket(ListenSocket); WSACleanup(); return 1; } //---------------------- // Listen for incoming connection requests. // on the created socket if (listen( ListenSocket, 1 ) == SOCKET_ERROR) { printf("Error listening on socket.\n"); closesocket(ListenSocket); WSACleanup(); return 1; } //---------------------- // Create a SOCKET for accepting incoming requests. SOCKET AcceptSocket; printf("Waiting for client to connect...\n"); //---------------------- // Accept the connection. AcceptSocket = accept( ListenSocket, NULL, NULL ); if (AcceptSocket == INVALID_SOCKET) { printf("accept failed: %d\n", WSAGetLastError()); closesocket(ListenSocket); WSACleanup(); return 1; } else printf("Client connected.\n"); // No longer need server socket closesocket(ListenSocket); WSACleanup(); return 0; }
скажите пожалуйста, как грамотно содержимое файла занести в массив строк типа string? размер файл заранее неизвестен. на данный момент я могу прочитать все в одну строку. как бы сделать универсальную функцию, которая возвращает массив со строками, чтобы этот массив можно было объявлять без указания размера? типа string []rows = loadFile("rows.txt");
открываю файл ifstream fin("file.txt"); копирую его в вектор, типа string copy(istream_iterator<string>(fin), istream_iterator<string>(), back_inserter(vect)); получаю вектор в котором файл разбит на элементы по ПРОБЕЛАМ как сделать так, чтобы он разбивал по переводам строк?