[ 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. St0nX

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

    Joined:
    19 May 2007
    Messages:
    257
    Likes Received:
    46
    Reputations:
    0
    Qt4

    [​IMG]
    Проблема в реализации данной схемы в Qt4
    Вообщем есть класс формы в котором создано несколько экземпляров класса какого то эллемента, а так же класс формы имеет один экземпляр класса который производит вычисления. Так вот вопрос в классе вычислений имеется массив который необходимо изменять в классах эллементов класса формы. Вроде как все просто но че то не катит... может причина что в Qt4 какие то особенности есть...
    Я пробовал передавать просто указатель на массив что не прокатывало. Пробовал объявлять указатель в классе формы и через него это осуществлять что тоже не канало... вообщем вот. :(
     
    #4501 St0nX, 23 Dec 2009
    Last edited: 23 Dec 2009
  2. MiruMir

    MiruMir New Member

    Joined:
    13 Dec 2009
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Ребята у меня такой вопрос - Брут на дэдике - регулярно выскакивает табличка "Удалённый рабочий стол отключен" как её вырубить чтоб она не появлялась , а то на автомат не как не поставить , приходится постоянно кликать ОК , что бы брутить дальше иначе весь процесс тормазиться !
     
  3. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    что значит не прокатывало? яснее опиши проблему, а лучше выложи код.
     
  4. gisTy

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

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    есть программы эмулирующие действия мыши. например AC Tool или UOPilot. вобщем парси гугл на тему эмуляторов мыши и автокликеров.
     
    #4504 gisTy, 24 Dec 2009
    Last edited: 24 Dec 2009
  5. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Пытаюсь скомпилировать сплойт.
    Но выдает какие то не понятные ошибки
    СКРИН
    Помогите разобраться :)

    Сам сплоит
     
  6. POS_troi

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

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    1 #include <asm/page.h> - этого файла нет и соответственно ошибка два
    2 PAGE_SIZE - скорее всего из-за #1
    3 Пытается передать Char* в int

    Код не смотрел ибо лень, кажется там просто на дурака
     
    1 person likes this.
  7. Lee_fx

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

    Joined:
    27 Sep 2008
    Messages:
    90
    Likes Received:
    14
    Reputations:
    0
    В переменной int лежит адрес, как присвоить этот адрес указателю типа char* ? Кастить что-то не выходит(

    int addr = 0x0012FE74;
    char* ptr = ???
     
  8. Irdis

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

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    никак
    нельзя задавать адреса
     
  9. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    int addr = 0x0012FE74;
    char* ptr = (char*)addr;
     
    1 person likes this.
  10. Admin Derek

    Admin Derek New Member

    Joined:
    20 Apr 2008
    Messages:
    9
    Likes Received:
    1
    Reputations:
    -5
    не получаеться...

    объясните что я не так сделал, изучаю сокеты, по книге "Эффективное программирование 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;
        
    }
    :confused:
     
    #4510 Admin Derek, 24 Dec 2009
    Last edited: 24 Dec 2009
  11. Finger2010

    Finger2010 Banned

    Joined:
    8 Dec 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    -5
    Кто может сорцы критора выложить любого , а то ни как понять не могу одну фишку
     
  12. Finger2010

    Finger2010 Banned

    Joined:
    8 Dec 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    -5
    Мошь написать на Wapi простенькую прогу которая будет искать это окно и если найдет закрывать , еси че не знаешь пиши в асю подскажу 411 389 297
     
  13. St0nX

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

    Joined:
    19 May 2007
    Messages:
    257
    Likes Received:
    46
    Reputations:
    0
    Делаю так:
    класс какого то объекта на форме:
    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
     
  14. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    ты хоть читаешь что компилятор пишет?
    Code:
    for(int i = 0; i < 3; i++)
    {
        for(int j = 0; j < 3; j++)
        {
           sc->mas[i][j] = xoii->mas[i][j];
        }
    }
    
    Вообще лучше делать данные поля закрытыми и обращатся к ним через геттеры/сеттеры.
     
  15. St0nX

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

    Joined:
    19 May 2007
    Messages:
    257
    Likes Received:
    46
    Reputations:
    0
    При использовния данной конструкции я тупо копирую массив 1 в другой. А мне как бы надо что бы была одна ссылка на область памяти(массив) и я ее мог изменять во всех классах и так же при изменение в одном классе изменения отражались во всех
     
  16. Aag

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

    Joined:
    26 Jul 2005
    Messages:
    60
    Likes Received:
    19
    Reputations:
    8
    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;
    }
    
     
  17. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    скажите пожалуйста, как грамотно содержимое файла занести в массив строк типа string? размер файл заранее неизвестен.

    на данный момент я могу прочитать все в одну строку.
    как бы сделать универсальную функцию, которая возвращает массив со строками, чтобы этот массив можно было объявлять без указания размера?

    типа

    string []rows = loadFile("rows.txt");
     
  18. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    открываю файл

    ifstream fin("file.txt");

    копирую его в вектор, типа string

    copy(istream_iterator<string>(fin), istream_iterator<string>(), back_inserter(vect));

    получаю вектор в котором файл разбит на элементы по ПРОБЕЛАМ

    как сделать так, чтобы он разбивал по переводам строк?
     
  19. ASQX

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

    Joined:
    21 Jun 2008
    Messages:
    47
    Likes Received:
    16
    Reputations:
    1
    посоветуйте книгИ по С,
    С != С++
     
  20. jawbreaker

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

    Joined:
    7 Jul 2008
    Messages:
    156
    Likes Received:
    76
    Reputations:
    3
Thread Status:
Not open for further replies.