Pagina 3 di 6 primaprima 1 2 3 4 5 ... ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 52
  1. #21
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    Risposta

    Grazie mille per il codice.

    Grazie al cielo il pc non è schioppato me mi da errore al try e al cacht(...) immagino che ... voglia dire che devo inserire qualcosa ma visto che sto leggendo 1 manuale ci c++ e anke se mi manka poko devo ankora finirlo il try e il cacht non li ho mai visti. Come faccio a risolvere l'errore?

    Ma toglimi 1 curiosità da quanto studi c++?

  2. #22

    Re: Risposta

    Originariamente inviato da kirakira93
    Grazie al cielo il pc non è schioppato me mi da errore al try e al cacht(...)
    Quale errore?
    immagino che ... voglia dire che devo inserire qualcosa
    No, catch(...) è normale C++, e significa che il blocco catch in questione deve catturare eccezioni di qualunque tipo.
    Ma toglimi 1 curiosità da quanto studi c++?
    Circa cinque anni, comunque questo codice ha molto poco di C++, è fondamentalmente C e la sua principale difficoltà è la conoscenza delle API GDI di Windows (che ho studiato bene circa due anni fa).
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #23
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    Forse ho capito

    Io ho visual c++ ma non lo sò usarew quindi utilizzo dev-c++ forse il problema è che ci vuole un include per try e cacth, tu che include usi???

  4. #24
    try ... catch è un costrutto standard del C++, non servono #include; se mi dici quale errore ti dà ti posso dare una mano.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #25
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    Forse ho trovato

    Io ho visual-c++ ma non lo sò usare e uso dev-c++. Potrebbe essere che non ho gli inclufde giusti. Tu che include usi???

    Ecco il messaggio di errore che mi da:

    10 C:\Dev-Cpp\main.cpp expected unqualified-id before "try"
    10 C:\Dev-Cpp\main.cpp expected `,' or `;' before "try"
    79 C:\Dev-Cpp\main.cpp expected unqualified-id before "catch"
    79 C:\Dev-Cpp\main.cpp expected `,' or `;' before "catch"
    C:\Dev-Cpp\Makefile.win [Build Error] [main.o] Error 1

    L'ultimo errore secdondo me è dovuto allla mankata compilazione a causa dei primi 4 errori.

  6. #26
    Ma hai messo quel codice in una funzione?
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #27
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    Risposta

    quello é il messaggio di errore che mi dice la dev c++

  8. #28
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    io ho scritto questo e lo compilato

    #include <stdio.h>
    #include <windows.h>



    // Rappresenta un pixel in una DIB a 24 bpp


    struct DIB24BPPPixel
    {
    BYTE Blue;
    BYTE Green;
    BYTE Red;
    };
    try
    {
    // I device context
    HDC dibDC=NULL, screenDC=NULL;
    // Larghezza e altezza dello schermo (e di conseguenza della DIB)
    LONG width, height;
    // Bitmap selezionata all'inizio in dibDC, DIB Section
    HBITMAP oldBmp=NULL, dibSection=NULL;
    // Puntatore ai dati della DIB
    LPBYTE dibBits=NULL;
    // Struttura utilizzata per inizializzare la DIB
    BITMAPINFO bi={0};
    // Lunghezza di una riga della DIB in byte; ci torna utile averlo pronto visto che le righe devono essere allineate a 32 bit
    size_t bytesPerLine=0;
    // Ottiene le dimensioni dello schermo
    width = (LONG) GetSystemMetrics(SM_CXFULLSCREEN);
    height = (LONG) GetSystemMetrics(SM_CYFULLSCREEN);
    // Calcola la lunghezza di una riga della DIB
    bytesPerLine = ((width * 24 + 31) & (~31)) / 8;
    // Ottiene l'handle al DC dello schermo
    screenDC = GetDC(0)
    if(screenDC == NULL)
    throw std::runtime_error("Impossibile ottenere il DC dello schermo; GetDC ha restituito NULL.");
    // Inizializza i dati della DIB
    bi.bmiHeader.biSize=sizeof(bi.bmiHeader);
    bi.bmiHeader.biWidth=width;
    bi.bmiHeader.biHeight=height;
    bi.bmiHeader.biPlanes=1;
    bi.bmiHeader.biBitCount=24; /* per semplicità usiamo una DIB a 24 bpp qualunque sia la profondità di colore dello schermo */
    bi.bmiHeader.biCompression=BI_RGB;
    // Crea la DIB section
    dibSection=CreateDIBSection(NULL, &bi, DIB_RGB_COLORS, (LPVOID *)&dibBits, NULL, 0);
    if(dibSection == NULL)
    throw std::runtime_error("Impossibile creare la DibSection; CreateDIBSection ha restituito NULL.");
    // Crea il DC
    dibDC = CreateCompatibleDC(NULL);
    if(dibDC == NULL)
    throw std::runtime_error("Impossibile creare il device context; CreateCompatibleDC ha restituito NULL.");
    // Seleziona la DIB section nel DC e salva la bitmap di default attualmente contenuta nel DC
    oldBmp = SelectObject(dibDC, dibSection);
    for(/* bla bla bla */)
    {
    // Ciclo da ripetere per ogni controllo dello schermo
    // Copia il contenuto dello schermo nella DIB section
    BitBlt(dibDC, 0,0, width, height, screenDC, 0, 0, SRCCOPY);
    // Qui controlla i pixel della DIB
    for(int y=0; y<height; y++)
    {
    // Ottiene un puntatore al primo pixel della riga
    DIB24BPPPixel * rowPtr = (DIB24BPPPixel *) (dibBits+(height-1-y)*bytesPerLine);
    for(int x=0; x<width; x++)
    {
    // Verifica il colore del pixel
    // Esempio:
    if(rowPtr[x].Red==255 && rowPtr[x].Green==0 && rowPtr[x].Blue==0)
    {
    //Il pixel è rosso
    }
    }
    }
    Sleep(/* valore che ritieni più opportuno */);
    /* bla bla bla */
    }
    // Cleanup
    ReleaseDC(screenDC);
    SelectObject(dibDC, oldBmp);
    DeleteDC(dibDC);
    DeleteObject(dibSection);
    }
    catch(...)
    {
    // Cleanup in caso di errore
    if(screenDC != NULL)
    ReleaseDC(screenDC);
    if(dibDC != NULL)
    {
    SelectObject(dibDC, oldBmp);
    DeleteDC(dibDC);
    }
    if(dibSection != NULL)
    DeleteObject(dibSection);
    // Propaga l'eccezione
    throw;
    }

  9. #29
    Quel codice (dal try in poi) va inserito in una funzione adattandolo nei punti che ti ho detto, non buttato alla spera in dio in un file.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #30
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    scusa

    ma che include devo mettere?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.