Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 112
1

Опять же MFC и ошибка с типами.

19.08.2011, 13:16. Показов 2187. Ответов 8
Метки нет (Все метки)

Программа сканирует число из Edit Box, сохраняет их и должна вывести, но выводит 0.00000.
Возможно это из-за много разных определений типов, вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Try
{
public:
    double x1;
    Try(double x1=0)    {};
    virtual ~Try(){};
    Try (const Try & Try){};
 
 
 
void xx1(double xx1){
x1=xx1;};
 
float XX1()
{ return x1;};
};
 
void CProgram_2View::OnBnClickedButton1()
{
    float h;
    CString f; 
    GetDlgItemText(IDC_EDIT1,f);
    const char *g=CStrToCC(f);
    h=atoi(g);
    T.xx1(h);
};
 
void CProgram_2View::OnBnClickedButton3()
{
    char l[128];
    sprintf(l,"%f",T.x1);
    SetDlgItemText(IDC_EDIT7,(CString)l);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.08.2011, 13:16
Ответы с готовыми решениями:

Опять я с типами данных
При вводе в поле значение выводится в label var Form1: TForm1; a: integer; procedure...

Объясните, пожалуйста в чем разница между типами-значениями и ссылочными типами?
В чем разница между типами-значениями и ссылочными типами. Привести пример типов-значений и...

Как самому установить соответствие между типами API функции в MSDN и типами VB
Как самому установить соответствие между типами данных, приведенных на API функции в MSDN и типами...

Ошибка с типами
объявил функцию вызвал в процедуре выдает ошибку как ее исправить какой тип объявить или что...

8
Заблокирован
Автор FAQ
19.08.2011, 14:58 2
Цитата Сообщение от AndreyZ01 Посмотреть сообщение
OnBnClickedButton1()
{
* * * * float h;
* * * * CString f;
* * * * GetDlgItemText(IDC_EDIT1,f);
* * * * const char *g=CStrToCC(f);
* * * * h=atoi(g);
* * * * T.xx1(h);
};
Введи UpdateData(true); перед GetDlgItemText(IDC_EDIT1,f);
Цитата Сообщение от AndreyZ01 Посмотреть сообщение
void CProgram_2View::OnBnClickedButton3()
{
* * * * char l[128];
* * * * sprintf(l,"%f",T.x1);
* * * * SetDlgItemText(IDC_EDIT7,(CString)l);
}
а также UpdateData(false); после SetDlgItemText(IDC_EDIT7,(CString)l);
Вобще я бы всё делал в MFC а не API
0
1 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 112
19.08.2011, 15:23  [ТС] 3
Сделал то, что вы сказали. К сожелению,не помогло.
0
Заблокирован
Автор FAQ
19.08.2011, 15:41 4
Цитата Сообщение от AndreyZ01 Посмотреть сообщение
Сделал то, что вы сказали. К сожелению,не помогло.
- каково задание - по кнопке баттон1 ввести число а по кнопке 2 вывести?Давай покажу как в MFC это делается 2-мя строчками кода, неужели использование апи так критично?
0
1 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 112
19.08.2011, 15:45  [ТС] 5
Я знаю, как сделать в MFC, но мне нужно чтобы оно ещё в файл сохраняло, а пока и с этим не могу разобратся
0
Заблокирован
Автор FAQ
19.08.2011, 15:54 6
Вот проект, скомпилированный экзешник и скрин работы, кода 6-ть строк и то можно меньше, например сэкономить на переменных и сразу писать
C++
1
m_edit3 = m_edit1 + m_edit2;
но тебе так будет непонятней поэтому по простому сделал
0
Изображения
 
Вложения
Тип файла: rar inout.exe.rar (3.8 Кб, 9 просмотров)
Тип файла: rar inout.rar (9.0 Кб, 21 просмотров)
Заблокирован
Автор FAQ
19.08.2011, 15:55 7
Цитата Сообщение от AndreyZ01 Посмотреть сообщение
Я знаю, как сделать в MFC, но мне нужно чтобы оно ещё в файл сохраняло, а пока и с этим не могу разобратся
- гы сейчас по нажатию 2-й кнопки будет сохраняться в файл, пару минут...
0
1 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 112
19.08.2011, 15:58  [ТС] 8
Лан, спасибо за готовую программу, попробую розобратся)
0
Заблокирован
Автор FAQ
19.08.2011, 16:10 9
Всё проект готов, в коде сохранения сделал пару наворотов (тебе в будющем они пригодятся)
Я ввел диалог сохранения файла, а также вылетающее окшко AfxMessageBox.
Если эти навороты для тебя страшны то просто юзай такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*CFileDialog fDlg(false);//false - сохранить, true - открыть
    fDlg.m_ofn.lpstrTitle      = "SaveAs";
    fDlg.m_ofn.lpstrFilter     = "All files - (*.*)\0*.*\0\0";
    fDlg.m_ofn.lpstrDefExt     = "txt";
    if(fDlg.DoModal()==IDOK)
    {*/
        if(!(f = fopen(/*fDlg.m_ofn.lpstrFile*/"test.txt","wb")))
            AfxMessageBox("Не могу создать " + CString(fDlg.m_ofn.lpstrFile));
        else
        {
            fprintf(f,"%.2f\r\n",m_edit3);//.2 - число знаков после запятой
            fprintf(f,"%.2f\r\n",m_edit4);//\r\n - можно заменить на запятую, пробел и т.д.
            fclose(f);
            AfxMessageBox("Данные записаны в " + CString(fDlg.m_ofn.lpstrFile));
        }
    //}
0
Миниатюры
Опять же MFC и ошибка с типами.   Опять же MFC и ошибка с типами.  
Вложения
Тип файла: rar inout2.exe.rar (4.3 Кб, 19 просмотров)
Тип файла: rar inout2.rar (13.1 Кб, 46 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.08.2011, 16:10

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Ошибка с типами
Вот моя программка a=imread('Moon.jpg','jpeg'); %figure(1); imshow(a);...

Ошибка с типами
Всем привет! Вот есть кусок кода: String stroka, log, pass; TStringList* List1 = new...

Ошибка с типами данных
Ошибка на строке 46, а значить, выскочит и на 47,64,65. При попытке сравнить содержимое ячейки...

Ошибка с типами данных
Давно на бейсике не программировал, нашёл старый код и не могу понять почему не работает (P.s....


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

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

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