回 帖 发 新 帖 刷新版面

主题:请教一个问题

我每天都要新建一个文件夹

文件夹的名字都是以年月日命名比如:2006.08.25

每天手动建一个
能不能帮我编一个小程序

最好能用DOS下的命令
越小越好

回复列表 (共2个回复)

沙发

本人也在边学边练,好多都没有系统了解过。目前还不知道怎么判断给出的字符串是否为路径,当然如果能得到电脑的盘符状况的那是更好,继续研究继续改进。
void CExample06Dlg::OnOK() 
{
    // TODO: Add extra validation here
    int ret;
    CTime time;
    CHAR year[6];
    CHAR month[4];
    CHAR day[3];
    CHAR path[200];
    CHAR name[11];
    CString str;

    time = CTime::GetCurrentTime();
    memset(path, 0x00, sizeof(path));
    memset(name, 0x00, sizeof(name));
    memset(year, 0x00, sizeof(year));
    memset(month, 0x00, sizeof(month));
    memset(day, 0x00, sizeof(day));
    sprintf(year, "%d.", time.GetYear());
    if(time.GetMonth() < 10)
    {
        sprintf(month, "0%d.", time.GetMonth());
    }
    else
    {
        sprintf(month, "%d.", time.GetMonth());
    }
    if(time.GetDay() < 10)
    {
        sprintf(day, "0%d", time.GetDay());
    }
    else
    {
        sprintf(day, "%d", time.GetDay());
    }
    strcpy(name, year);
    strcat(name, month);
    strcat(name, day);
    m_ControlEdit.GetWindowText(str);
    if(strlen(str) >= 100)
    {
        MessageBox("路径过长", "路径过长", MB_OK);    
    }
    else
    {
        strcpy(path, str);//这里应该对此判断是否为合法路径,尚不清楚函数接口
        strcat(path, name);
        ret = CreateDirectory(path, 0);
        if(ret != 1)
        {
            if(ret == 0)//这里不清楚返回值的意义,还没时间查
            {
                MessageBox("文件夹已存在", "文件夹已存在", MB_OK);
            }
            else
            {
                MessageBox("创建失败", "创建失败", MB_OK);
            }
        }
        else
        {
            CDialog::OnOK();
        }
    }
}

板凳

不用路径了,暂时不会解决,还是添加一个日历控件这样更方便
void CExample06Dlg::OnOK() 
{
    // TODO: Add extra validation here
    int ret;
    SYSTEMTIME sysTime;
    CHAR year[6];
    CHAR month[4];
    CHAR day[3];
    CHAR path[11];
    CHAR buffer[200];

    UpdateData();
    m_ControlCalendar.GetCurSel(&sysTime);
    memset(path, 0x00, sizeof(path));
    memset(buffer, 0x00, sizeof(buffer));
    memset(year, 0x00, sizeof(year));
    memset(month, 0x00, sizeof(month));
    memset(day, 0x00, sizeof(day));
    sprintf(year, "%d.", sysTime.wYear);
    if(sysTime.wMonth < 10)
    {
        sprintf(month, "0%d.", sysTime.wMonth);
    }
    else
    {
        sprintf(month, "%d.", sysTime.wMonth);
    }
    if(sysTime.wDay < 10)
    {
        sprintf(day, "0%d", sysTime.wDay);
    }
    else
    {
        sprintf(day, "%d", sysTime.wDay);
    }
    strcpy(path, year);
    strcat(path, month);
    strcat(path, day);
    ret = CreateDirectory(path, 0);
    if(ret != 1)
    {
        if(ret == 0)
        {
            MessageBox("文件夹已存在", "文件夹已存在", MB_OK);
        }
        else
        {
            MessageBox("创建失败", "创建失败", MB_OK);
        }
    }
    else
    {
        sprintf(buffer, "%s%s", path, "文件夹创建成功");
        MessageBox(buffer, buffer, MB_OK);
    }
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册