Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++ и WinAPI

Войти
Регистрация
Восстановить пароль
 
eagl69
4 / 9 / 1
Регистрация: 12.10.2011
Сообщений: 498
#1

Вывод значений в листбокс - C++ WinAPI

05.01.2017, 18:55. Просмотров 210. Ответов 5
Метки нет (Все метки)

Нужно вывести значения в листбокс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define RAZMER_TAR 7
struct Tarif
{
    TCHAR naim_region[20];
    double tarif_1;
    double tarif_2;
    double tarif_3;
    double tarif_4;
}str_tarif;
//--------------------------------------------------
char tarif_11[RAZMER_TAR],tarif_22[RAZMER_TAR], str_Lbox[300];
str_tarif.tarif_1 = 44,44;
str_tarif.tarif_2 = 55,55;
_gcvt(str_tarif.tarif_1, RAZMER_TAR, tarif_11);
_gcvt(str_tarif.tarif_2, RAZMER_TAR, tarif_22);
wsprintf(str_Lbox,("%10s %s %s"), str_tarif.naim_region, tarif_11, tarif_22);
SendDlgItemMessage(hDlg_tarif,ID_SPISOK_TARIF,LB_ADDSTRING,0,(LPARAM)str_Lbox);
При этом такой вывод: текст 0 55.55
если уберу строчку _gcvt(str_tarif.tarif_2, RAZMER_TAR, tarif_22); то тогда вывод такой: текст 44.44
Почему не выводит всю строчку? а вместо 44,44 появляется 0?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2017, 18:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод значений в листбокс (C++ WinAPI):

Листбокс из 2 столбцов на WinAPI - C++ WinAPI
Нужно сделать список из двух столбцов (в первом имя процесса, во втором id). У меня на примете 2 варианта: 1) один листбокс с двумя...

По нажатию на кнопку добавить текст в листбокс - C++ WinAPI
case WM_COMMAND: switch(wParam) { case ID_BUTTON1: SendMessage(listbox, LB_ADDSTRING, 0, (LPARAM)"текст"); break; ...

Текст из файла .txt занести в листбокс, в WinAPI - C++ WinAPI
Нужно: Текст из файла .txt занести в лист бокс, в WinAPI Моя программа: #define STRICT #include <windows.h> #include <windowsx.h> ...

Сделать листбокс в главном окне программы средствами WinAPI - C++ WinAPI
Возможно глупый вопрос поскольку я только только начал изучать с++. Во общем мне поставлена задача сделать листбокс в главном окне...

Добавление случайных значений в листбокс - Delphi
Подскажите как сделать чтобы сначало рандомно добавление в листбокс шло

Табулированный вывод в ЛистБокс - Delphi
Привет, помогите сделать правильное форматирование строки. Допусти у меня есть ЛистБокс мне нужно нечто такое: 1. Hello - world 3:21...

5
nd2
2384 / 1973 / 691
Регистрация: 29.01.2016
Сообщений: 6,421
05.01.2017, 19:47 #2
Цитата Сообщение от eagl69 Посмотреть сообщение
44,44
Почему запятая, а не точка?
0
eagl69
4 / 9 / 1
Регистрация: 12.10.2011
Сообщений: 498
05.01.2017, 20:01  [ТС] #3
Наверное я опечатался, но вот почему выводит 0 когда преобразовывается 2 значения?

Добавлено через 8 минут
Вообще, мне надо вывести структуру в листбокс, может есть ещё способ?
0
Alex5
1086 / 747 / 116
Регистрация: 12.04.2010
Сообщений: 1,907
05.01.2017, 21:11 #4
Цитата Сообщение от eagl69 Посмотреть сообщение
При этом такой вывод: текст 0 55.55
eagl69, установим breakpoint в строке "wsprintf( ... ". Что показывает отладчик? Чему равны в этом случае переменные str_tarif.naim_region, tarif_11, tarif_22 ?
0
eagl69
4 / 9 / 1
Регистрация: 12.10.2011
Сообщений: 498
06.01.2017, 10:15  [ТС] #5
Цитата Сообщение от eagl69 Посмотреть сообщение
C++
1
2
3
_gcvt(str_tarif.tarif_1, RAZMER_TAR, tarif_11);
_gcvt(str_tarif.tarif_2, RAZMER_TAR, tarif_22);
wsprintf(str_Lbox,("%10s %s %s"), str_tarif.naim_region, tarif_11, tarif_22);
В этом случае tarif_11 показывает 0
а в этом:
Цитата Сообщение от eagl69 Посмотреть сообщение
C++
1
2
3
_gcvt(str_tarif.tarif_1, RAZMER_TAR, tarif_11);
//_gcvt(str_tarif.tarif_2, RAZMER_TAR, tarif_22);
wsprintf(str_Lbox,("%10s %s %s"), str_tarif.naim_region, tarif_11, tarif_22);
tarif_11 показывает 44.44
0
Alex5
1086 / 747 / 116
Регистрация: 12.04.2010
Сообщений: 1,907
06.01.2017, 20:01 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
eagl69, можно, выполнив программу по шагам, посмотреть, когда tarif_11 становится равным "0".

В окне "память" видно, что _gcvt изменяет 9 байт. Массива из 7 элементов char[7] недостаточно для _gcvt(str_tarif.tarif_2, 7, tarif_22);
0
Миниатюры
Вывод значений в листбокс  
06.01.2017, 20:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2017, 20:01
Привет! Вот еще темы с ответами:

2 Списка в листбокс и вывод их в лейбл - Delphi
Вечер добрый. Существует маленькая проблемка. У меня есть 2 лейбла, которые при нажатии заполняют двумя разными списками 1 лист бокс. ...

Вывод названия и количества в листбокс из класса - C#
Нужно чтобы в листбоксе Пришедшие товары были название и количество, как сделать чтобы выводило и название и количество... Класс...

Вывод работы программы в листбокс по нажатию кнопки - Visual C++
люди помогите написал готовую программку генератор (одну из своих первых) теперь хотел бы сделать так что результат будет выводиться в...

Операции с матрицами (+,-,*) через классы и вывод в листбокс - C#
нужно чтобы в создавалась только одна матрица в классе и далее было сложение summa = m1+m2; (где m1 и m2 - объекты класса Matriz). прошу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru