|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 29
|
||||||
Функции преобразования типов в MFC20.02.2010, 22:50. Показов 5881. Ответов 14
Метки нет (Все метки)
Здраствуйте, работаю в MFC, есть задание: "Вывести в окно приложения результаты вычислений G (см. миниатюру) Все вычисления производятся внутри метода OnDraw. Входные данные можно задавать константами."
Как я понял, чтобы вывести G, сначала нужно преобразовать его из типа float в CString, как это сделать, вот в чем вопрос. Вот мой незавершенный код метода OnDraw, пока он просто выводит "Добро пожаловать в Visual C++"
0
|
||||||
| 20.02.2010, 22:50 | |
|
Ответы с готовыми решениями:
14
Существуют ли MFC'шные функции для преобразования типов? Преобразования типов Преобразования типов |
|
8 / 8 / 1
Регистрация: 29.09.2009
Сообщений: 28
|
||||||
| 21.02.2010, 16:22 | ||||||
1
|
||||||
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 29
|
||||||
| 21.02.2010, 20:52 [ТС] | ||||||
|
rubic, появляется ошибка error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Fo rmat(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
0
|
||||||
|
8 / 8 / 1
Регистрация: 29.09.2009
Сообщений: 28
|
||||||
| 22.02.2010, 00:34 | ||||||
1
|
||||||
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||
| 22.02.2010, 06:42 | ||
|
А в новых версиях студий - по умолчанию. CString::Format() с UNICODE корректно работать не будет.
1
|
||
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 29
|
|
| 22.02.2010, 09:52 [ТС] | |
|
А что сделать, чтобы она на Visual Studio 2008 заработала?
0
|
|
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|||||||
| 22.02.2010, 10:24 | |||||||
|
Но это не есть хороший вариант. Склероз, склероз... Можно попробовать смухлевать. Напишите
1
|
|||||||
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 29
|
||||||
| 22.02.2010, 10:54 [ТС] | ||||||
|
Patch, спасибо, в таком виде заработала!
0
|
||||||
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 29
|
|||||||||||||||||||||
| 23.02.2010, 15:26 [ТС] | |||||||||||||||||||||
|
Столкнулся с другой проблемой. По заданию (MFC, Visual Studio 2008) нужно доработать предыдущюю программу , чтобы x и A вводились с клавиатуры, используя метод OnChar(), я написал ниже приведенный код, но он выводит огромные рандомные числа, подскажите, где ошибка?
Добавлено через 12 минут Чтобы было понятнее, вот значения других переменных, объявленных в другом месте
0
|
|||||||||||||||||||||
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
| 23.02.2010, 15:53 | |
|
Не вполне ясно, что надо было получить.
Попробую прокомментировать то, что вижу. Как я понимаю, есть некий класс CkeystrokesView, в котором есть объекты класса CString vyvod_x, vyvod_A, vyvod_G и StringData_x. При нажатии любой клавиши, кроме "x", символ записывается в объект StringData_x. При нажатии "x": объект StringData_x обнуляется, vyvod_x = vyvod_A(который непонятно где и чем заполняется), а зачем делается "value_x=pDoc->StringData_x;" я вообще понять не могу, ведь value_x - локальная переменная и стирается при выхода из OnChar(). Загадочная конструкция... При нажатии "a": сначала срабатывает pDoc->StringData_x += char(nChar); (потому, что выполняется условие if(char(nChar)!='x') ), а дальше... A = числовому значению StringData_x, но поскольку там еще и символ "a" в конце - результат не вполне предсказуем x = хрен_знает_чему, а скорее всего 0, потому, что переменная value_x на момент использования ничем не заполнена, G = куче операций над x = 0 и A = числовому значению StringData_x, а value_G вообще получает случайное значение, потому, что модификатор "%f" в методе Format расчитан на использование переменной с плавающей запятой(float), а там стоит G - определенное, как целое(int). Для целых, используется то-ли "%d", то-ли "%i", а может они оба, не помню точно. StringData_x записывается полученное случайное значение. Что-то мне подсказывает, что переменные CString value_x, value_A,value_G; //локальные строковые переменные для хранения x, A, G int x,A,G; надо было объявить, как static.
1
|
|
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 29
|
|||||||||||||||||||||
| 23.02.2010, 17:11 [ТС] | |||||||||||||||||||||
|
Patch, спасибо, вроде исправил все указанные тобой недочеты, а также упростил прогу - удалил кучу ненужных вещей, программа стала работать стабильно - все время выдавать 0, но оно и понятно, так как тип переменных x,A,G int, а результат вычислений стремится к нулю. В следствии этого возникает нужда поменять тип переменых x,A,G на float, но я не знаю чем заменить функцию _ttoi, подскажи пожалуйста.
0
|
|||||||||||||||||||||
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|||||||
| 23.02.2010, 17:39 | |||||||
|
Ты-же все равно целые величины вводишь? Ну и... объявляешь переменные float, и явно преобразуешь числовые значения.
1
|
|||||||
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 29
|
|
| 23.02.2010, 17:47 [ТС] | |
|
Спасибо, все работает!
0
|
|
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 29
|
||||||
| 27.02.2010, 17:30 [ТС] | ||||||
|
Форумчане, снова нужна ваша помощь!
Помогите построить диаграмму последовательности для метода OnChar все той же программы. Опыт в построении таких диаграмм у меня практически равен нулю, с чего начать?...линии жизни каких объектов выбрать?...какие сообщения используются в методе?
0
|
||||||
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||||
| 28.02.2010, 08:20 | ||||
|
никогда не видел ничего более бесполезного, чем диаграммы последовательности действий. ![]() берешь листок, карандашик, и рисуешь... пример здесь: http://www.informicus.ru/defau... visionid=5
0
|
||||
| 28.02.2010, 08:20 | |
|
Помогаю со студенческими работами здесь
15
преобразования типов Преобразования типов Преобразования типов Преобразования типов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|