| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 377 人关注过本帖
标题:写了一个窗口程序,计算器,磁盘信息获取,进制转换的但是结果出现乱码,有什么 ...
只看楼主 加入收藏
nicezhangfan
Rank: 2
等 级:论坛游民
帖 子:23
专家分:10
注 册:2012-9-27
结帖率:40%
收藏
已结贴  问题点数:10 回复次数:2 
写了一个窗口程序,计算器,磁盘信息获取,进制转换的但是结果出现乱码,有什么问题吗?
程序代码:
#include <windows.h>
#include <windowsx.h>
#include <string.h>
#include "main.h"
#include "dialogs.h"
#include "resource.h"
#include "rsrc.inc"

BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch(uMsg)
    {
        //BEGIN MESSAGE CRACK
        HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
        HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
        HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
        //END MESSAGE CRACK
    }

    return FALSE;
}

////////////////////////////////////////////////////////////////////////////////
//  Main_OnInitDialog
BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
    // Set app icons
    HICON hIcon = LoadIcon((HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE) ,MAKEINTRESOURCE(IDI_ICONAPP));
    SendMessage(hwnd, WM_SETICON, TRUE,  (LPARAM)hIcon);
    SendMessage(hwnd, WM_SETICON, FALSE, (LPARAM)hIcon);
    
    //
    // Add initializing code here
    //
    
    return TRUE;
}

////////////////////////////////////////////////////////////////////////////////
//  Main_OnCommand
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
    TCHAR cDriveExists[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    int nLen=0;
    switch(id)
    {
        case IDC_BTNRESULT:        //响应计算圆面积按钮 
            TCHAR cBanjing[256];
            GetDlgItemText(hwnd,IDC_EDTRADIUS,cBanjing,sizeof(cBanjing)/sizeof(TCHAR));
               double fBanjing,fZhouchang;
            fBanjing = atof(cBanjing);
            fZhouchang = 3.1415926*(fBanjing*fBanjing);
            TCHAR cZhouchang[256];
            gcvt(fZhouchang,10,cZhouchang);
            //SetDlgItemText(hwnd,IDC_EDTZHOUCHANG,cZhouchang);
            SetDlgItemText(hwnd,IDC_STC,cZhouchang);
        break;
        case IDC_BTNCALCHELP:    //响应圆面积帮助按钮
            MessageBox(hwnd,TEXT("\n圆形面积计算公式:\n\n圆面积(s)=圆周率π(3.14)*半径(r)的平方。\t"),TEXT("计算公式"),MB_OK|MB_ICONASTERISK); 
        break;
        case IDC_BTNGETDRIVERS:    //获取用户磁盘信息按钮 
            DWORD dwMydrivers;
            dwMydrivers = GetLogicalDrives();
            TCHAR cDrivers[256];
            itoa(dwMydrivers,cDrivers,2);    //转换为字符串 
            strrev(cDrivers);                //反转字符串 
            TCHAR cDriverscn[256];
            //MessageBox(hwnd,cDrivers,TEXT("调试"),MB_OK);
            
            //列出所有存在盘符 
            int i;
            for(i=0;i<strlen(cDrivers);i++)
            {
                if(cDrivers[i]=='1')
                   {
                      cDriverscn[nLen] = cDriveExists[i];
                      nLen++;
                }
            }
            cDriverscn[nLen]='\0';
            SetDlgItemText(hwnd,IDC_EDTMYDRIVERS,cDriverscn);
            
            //判断是否存在D盘 
            if(cDrivers[4]='1')
            {
                SetDlgItemText(hwnd,IDC_EDTYESNOD,TEXT("")); 
            }
            else
            {
                SetDlgItemText(hwnd,IDC_EDTYESNOD,TEXT(""));
            }
            
            //计算存在磁盘总数 
            TCHAR cSUM[256];
            itoa(nLen,cSUM,10);
            SetDlgItemText(hwnd,IDC_EDTDRIVERSNUM,cSUM);
        break;
        
        default:break;
    }

}

////////////////////////////////////////////////////////////////////////////////
//  Main_OnClose
void Main_OnClose(HWND hwnd)
{
    EndDialog(hwnd, 0);
}

这个是程序的源代码!!算法不成熟!!
附上:VC6.0的工程
Calculator_DriveMessage.rar (1.4 MB)
搜索更多相关主题的帖子: color 计算器 
2012-09-28 21:24
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:5 
帮顶

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-09-29 06:24
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:5 
+0x30
串的初始化  \0
逆置的过程自己再看看

[ 本帖最后由 寒风中的细雨 于 2012-9-29 08:24 编辑 ]
2012-09-29 07:47
快速回复:写了一个窗口程序,计算器,磁盘信息获取,进制转换的但是结果出现乱码,有 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022649 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved