Последние записи
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
31st
Авг
wprintf как напечатать кириллицу
Не хочет выводить русские символы
#define STRICT //строгая проверка типов данных
#define UNICODE //кодировка UTF-8
//операторы препроцессора
#include <conio.h> // подключаем getch
#include <stdio.h> // подключаем printf
#include <locale.h>//заголовочный файл для локализации
using namespace std;//пространство имен - Стандартная Библиотека
//точка входа. Консольное приложение
int main()
{
/*Задает языковой стандарт по умолчанию, т.е. заданную по умолчанию
для пользователя кодовую страницу ANSI, полученную от операционной системы.
*/
setlocale(LC_ALL, "");
//wchar_t ch;
inkey://метка
wprintf(L"Нажмите клавишу\n \"Esc\" - Выход\n");
//иинициализация переменной
int key=getch();//значение клавиши в переменную
//ch=key;
//если нажата Esc - выход
if (key==27)//код Esc
{
return 0;//выход
}
//продолжаем если не Esc
else
{
wprintf(L"Код клавиши Dec=%d Hex=%x\n",key,key);//выводим код
wprintf(L"\n Символ клавишы %lc \n",key);//выводим символ
goto inkey;
}
}
26th
Авг
Сравнение языков на массивах. Часть 1
Сейчас буду сравнивать языки программирования на работе с одномерными массивами в операционной системе Linux. Начну с C++.
Задача, решение которой будет реализовано на нескольких языках, такая: даны два множества целых чисел, в каждом из множеств элементы не повторяются. Множества представляются в виде массивов, где элементы случайно перемешаны. Необходимо проверить, не является ли какое-либо из множеств подмножеством другого.
Проверку будем проводить простым перебором. А что тут сравнивать, подумают некоторые. Цикл в цикле, а в нём проверка a==b[j], и всё. Но доступ к элементам массивов может быть организован по-разному в разных языках. В разных языках по-разному реализована run-time проверка индекса массива. Кроме этого, для хранения массивов можно использовать различные средства: статическая память, динамическая память, тип-контейнер. Это тоже будем сравнивать — с каким массивом работа быстрее. Ещё интересно проверить ускорит ли работу применение SIMD-инструкций (MMX, SSE и т.д.) и применение параллельных функций обработки типов-контейнеров (политика исполнения std::execution:par). Надо ещё учесть, что в операционной системе Linux наиболее часто используются два компилятора С++, это GNU C++ и Clang C++, поэтому надо сравнить их между собой, чей сгенерированный код лучше. И сравнить несколько версий компиляторов.
Для работы программ необходимо сначала подготовить файлы с тестовыми массивами. В первом массиве будет 500 тысяч элементов (целых чисел), а во-втором — 50 тысяч. Формат файла — текстовый, в каждой строке — по одному числу, в первой строке — длина массива, в дальнейших строках идут элементы друг за другом.
19th
Июл
Как передать ссылку на интерфейс при использовании автоматизации OLE
Вопрос по использованию технологии OLE Automation. Есть интерфейс IWFBP, который непосредственно наследуется от IDispatch. Как я могу ссылку на этот интерфейс передать в стороннюю функцию, а в последующем использовать её? Допустим, у меня сейчас есть следующий код этой функции(пытаюсь использовать тип VARIANT):
void Func(VARIANT WFBL) {
WFBL.Func1();
}
Здесь Func1 собственно функция интерфейса, WFBL — ссылка на него. Компилятор ругается, что он не видит Func1() в составе WFBL, причём ещё до компиляции. В чём может быть ошибка?
Пытался заменить VARIANT WFBL на IDispatch* WFBL, с последующим приведением переданного указателя к указателю на IWBP с помощью dynamic_cast. Предварительно импортировав библиотеку типов из нужной DLL. В этом случае компилятор уже видит Func1, но при написании чего-то вроде WFBL->Func1() во время выполнения вылезает ошибка Access violation с указанием на данную строку.
Буду признателен, если кто-то сможет помочь разобраться.
30th
Янв
SQLite сохранить базу в файл (C/C++ Базы данных)
Как можно сохранить базу данных SQLite v3 в формат .sql для дальнейшей загрузки в такую же базу. Нужно для сохранения текущего состояния.
10th
Сен
Как в Си сгенерировать очень большое случайное число
В чистом Си rand() дает случайное число 0..32767, то есть для 70 млн неприменим.
3rd
Сен
Конвертация из utf-8 в windows-1251
Имеется строка string в формате utf-8. Как её перекодировать в windows-1251, желательно без подключения сторонних библиотек (которых нет изначально в Visual C++)?
29th
Июн
Печать содержимого окна инструментами Winapi
Я пытаюсь научится печатать содержимое окна. Из того, что я нашел в интернете, все выглядит очень просто, также как и рисование в окне. Только лишь надо сначала выбрать принтер, да еще добавить функции StartDoc и StartPage в начале и EndDoc и EndPage в конце печати. Только почему-то не получается. Принтер выбрать удается и он начинает работать, но выдает пустую страницу. Если вместо реального принтера выбрать pdf файл, то файл создается. Но при попытке открыть его выдается сообщение о «внутренней ошибке».
Внизу привожу мой пробный код. Этот код просто пытается нарисовать одну линию в качестве пробной печати. Пытался также вместо линии копировать содержимое всего окна через BitBlt, результат тот же самый — пустая страница или pdf файл с «внутренней ошибкой».
15th
Мар
С++. Как напечатать в консоли два столбца?
Моя простая программа, которая печатает числа от 1 до n, которая введена заранее. И вот полученный результат, все вроде бы работает. А как сделать так, чтобы печатались цифры, и получалось бы два столбца? Например, я ввожу 2 и 4. А результат должен быть таким
(читать всё…)
15th
Дек
Метод дихотомического деления — самый простой метод нахождения корней в C++
Необходимо реализовать нахождение корней уравнения методом деления отрезка пополам.
13th
Дек
Интеллект компьютера в игре Pacman
Запрограммировал движение врага в функции EvTimer(UINT). При натыкании на стену враг должен не идти,однако он проходит сквозь стену.
Код на проход врага в функции EvTimer (здесь), вся программа ниже. В функции EvKeyDown осуществляется движение колобка нашего , функция проверяет на стену,если он натыкается на стену, то ничего не происходит.
Облако меток
css реестр ассемблер timer SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid canvas поиск файл Pascal форма Файлы интернет Microsoft Office Excel excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)