Воскресенье, 05.05.2024, 09:54
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Категории раздела
Форма входа
ДРУЗЬЯ САЙТА

Вызвать мастера в Красноярске

8 983 207 5474

8 902 918 9334

8 933 332 3164

---------------------------------

Запчасти бытткхники

  • Велес т.2935600
  • СЦ Близнецов т.2296595
  • Вираж
  • Красраб 110 т.2589503
  • Комплекстур Щорса30 т.2606797
  • Радиодетали

  • Якорный 9 т.2688317
  • Воронова 16 т.2202990
  • Красраб 125а т.2456544
  • Профи т.2702737
  • Дайте две т.+79237713323
  • Электрика

  • Электро +
  • Планета электрика
  • ЗАКЛАДКИ
    Поиск
    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Главная » Статьи » C++ Builder » Простые примеры

    Как установить Dev c++ на windows 10

    Как установить Dev c++ на windows 10

    Качаем Setup.exe версия Dev c++ 5.11

    До этого пробовал ставить младшии версии программы не компилировались

    в общем заморочки сплошные установил эту и сразу все пошло

    без проблем и шаманства

    Запускаем Setup все по умолчанию ни чего не меняем кроме языка

    Имя проекта "англицкими" буквами сохраняю в каталог на диске С

    имя "англицкое" 

    Попробовал консоль простые учебные проги компилируются с ходу

    после Borlanda как то медленно  

    Создал проект с OpenGl там уже  шаблон стоит Треугольник крутится

    Редактор довольно мощный

    Для изучения С, С++ подходит не плохо 

    Можно писать оконные приложения windows но слишком для начинающих сложно 

    надо хорошо владеть функциями windows API 

    =

    Это пример OpenGl

    Моя прога так баловство открываем файл BMP_24 читаем данные

    цвета в память потом пишем в текстовый файл в HEX формате с пробелами по тройкам и разделяем символом || код ниже

    Долго мучился с функцией read() в борланде все шло без ошибок

    здесь на этой функ. застрял оказалось что приведения типа 

    fin1.read((unsigned char*)&bfh, sizeof(bfh) );//  надо заменить на fin1.read((char*)&bfh, sizeof(bfh) );//  и все заработало похоже 

    компилятор строг к типам а я ломал голову что не так ниже код проги

    и архив проекта

    =

     

    #include <iostream>
    #include <windows.h>
    #include <fstream>

    using namespace std;
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */

    int main(int argc, char** argv) {
        
        BITMAPFILEHEADER bfh; //Заголовок BMP файла
        BITMAPINFOHEADER bih; //Заголовок BMP файла
        
        unsigned char *TxBits,*buf; // массивы для цветов
        int width,height;   // ширина и высота файла

        ifstream fin1( "now3.bmp",  ios::in | ios::binary);
        if ( ! fin1 ){
              MessageBox(NULL,"Файл отсутствует!","Ошибка при открытии",MB_OK | MB_ICONINFORMATION);
            // cout  < "Файл отсутствует! Ошибка при открытии";
            return FALSE;
                     }
                     
        fin1.read((char*)&bfh, sizeof(bfh) );//             
        fin1.read((char*)&bih, sizeof(bih) );//    

        
        width = bih.biWidth;
        height =  bih.biHeight;
        int t=0;
        int size = width*height*3;//
        buf = new unsigned char[size];      // выделяем память для исходного рисунка
        TxBits = new unsigned char[size];   // выделяем память для получаемого рисунка
        fin1.read((char*)buf, size);
        
          // в этом цикле  меняем структуру цвета, т.к. BMP файл имеет структуру BGR, а нам нужен RGB
        for (register int i=0; i < size; i+=3)
        {
            //переписываем массив цветов
            TxBits[i]= buf[i+2];
            TxBits[i+1]= buf[i+1];
            TxBits[i+2]= buf[i];
        
        }
             
        ofstream fout1 ;
        fout1.open("list1.dat", ios::in | ios::out );
          if ( ! fout1 ){
              MessageBox(NULL,"Файл отсутствует!","Ошибка записи",MB_OK | MB_ICONINFORMATION);
            return FALSE;
                     }
        for (register int i=0; i < size; i+=3)
        {
         if(t < width) {
         t++; fout1 << hex << (short int)TxBits[i] <<" ";
         t++; fout1 << hex << (short int)TxBits[i+1] <<" ";
         t++; fout1 << hex << (short int)TxBits[i+2] <<"||";
         }
         
        else { t=0; fout1 <<endl;
        } 
        
        }

        fout1.close();              
        fin1.close();
          // освобождаем памяти
        delete [] TxBits;
        delete [] buf;
        return 0;
    }

    =

    =

    Категория: Простые примеры | Добавил: doka (23.11.2020)
    Просмотров: 582 | Рейтинг: 4.0/1
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]