真爱无限的知识驿站

学习积累技术经验,提升自身能力

.Net中模拟上传文件动态显示进度的事件示例

.Net Code:

    public class UploadEventArgs : EventArgs//作为事件的参数,必须派生自EventArgs基类
    {
        public UploadEventArgs(int percent)
        {
            this.Percent = percent;
        }
        public int Percent { get; set; }
    }
    public class Upload
    {
        public event EventHandler<UploadEventArgs> Uploading;//定义事件,上传中实时通知上传进度
        public int Percent{get;private set;}
        public Upload()
        {
            Percent = 0;
        }
        public void DoUpload()
        {
            UploadEventArgs ev=new UploadEventArgs(0);
            while(Percent<100)
            {
//上传文件代码简单,就不写出了
                System.Threading.Thread.Sleep(1000);
                Percent+=15;
                if (Percent > 100) Percent = 100;
                ev.Percent=Percent;
                Uploading(this, ev);
            }
        }
    }
    public class FileToUpload
    {
        private string fileName;
        public FileToUpload(string filename)
        {
            this.fileName = filename;
        }
        public void GetStatus(object sender, UploadEventArgs e)
        {
            Console.WriteLine("file:{0},UploadPercent:{1}", fileName, e.Percent);
        }
    }
    public class EventTest
    {
        public void test()
        {
            var upload = new Upload();
            var file = new FileToUpload("001.dox");
            upload.Uploading += file.GetStatus;
            upload.DoUpload();
        }
    }


给ef6的实体模型 edmx文件加字段注释

code smith 模版(要下载code smith软件使用):

//生成注释部分代码

标C编程笔记day04 预处理、宏定义、条件编译、makefile、结构体使用

预处理:也就是包含需要的头文件,用#include<标准头文件>或#include "自定义的头文件"


宏定义,如:#define PI 3.1415926

查看用宏定义的值替换宏名称,如:gcc -E test.c

带参数的宏:MAX(x,y) (x)>(y)?((x):(y))   //使用方法与函数一样

宏运算:

    #define PRINT(n) printf(#n"=%d",n)   //#n 就是把传入的变量值作为字符串放在那里

标C编程笔记day01~day03 变量、运算符、指针、函数、输入输出

c/c++语法,运算符:

    sizeof()  --参数为变量或类型,计算变量或类型的字节大小

    a==b?c:d  --三目运算符,a==b时,返回c,否则返回d

    算术运算符:+,-,*,/,%

    自加、自减运算:++,--

    位运算:

        ~ --取反,正数取反为 -(n+1) ,负数取反为 n-1 

C++MFC编程笔记day05 文档类-单文档和多文档应用程序

 文档类

   1 相关类

   CDocument类-父类是CCmdTarget类,所以,文档类也可以处理菜单等

              命令消息。作用保存和管理数据。

   注意事项:如何解决断言错误

C++MFC编程笔记day04 运行时类信息和窗口的动态、静态切分

运行时类信息

程序在运行时,获取对象类的信息及类的继承关系

实现:

1、定义类继承自CObject类。

2、类内声明宏DECLARE_DYNAMIC(),类外实现宏IMPLEMENT_DYNAMIC()

3、使用:

BOOL IsKindOf(CRuntimeClass* pClass)//对象是否属于某个类

C++MFC编程笔记day03 MFC工具栏、状态栏、视图窗口

MFC工具栏

相关类:


CToolBarCtrl - 父类是 CWnd  封装了工具栏控件相关操作

CToolBar - 父类是CControlBar  封装了工具栏和框架窗口之间的关系

工具栏使用:

//把工具栏对象定义为 CMyFrameWnd成员:

CToolBar toolbar;

c/c++unix/linux基础学习笔记-常用命令和vi的使用

linux 基本命令的使用-命令在ubuntu下面执行,有些命令通用其他linux,有些不通用。
多条命令间用;号隔开,回车后可以一起执行。
clear-前屏,pwd显示当前目录,cd跳转目录。
sudo [命令]  -ubuntu 下以管理员身份运行命令。
一般情况下,运行当前目录下的程序,要用 ./文件名 执行。
查看当前shell名称:ps
进入另外一个shell,直接输入shell名称:ksh/tcsh/sh/bash,退出一个shell用:exit。
切换shell命令,如:exec bash
要在第二行输入,按:ctrl+c

C++MFC编程笔记day02 MFC消息映射机制、菜单资源使用

机制3:MFC消息映射机制:

类内声明,类外定义宏,绑定消息处理函数

派生自CCmdTarget

类内声明宏:DECLARE_MESSAGE_MAP()

类外添加实现宏:

BEGIN_MESSAGE_MAP(类名,父类名)

END_MESSAGE_MAP()

//数据结构

struct AFX_MSGMAP_ENTRY

C++MFC编程笔记day01 MFC介绍、创建MFC程序和重写消息处理

一、MFC概念和作用

1、全称Microsoft Foundation Class Library,我们称为微软基础类库,封闭了绝大部分的win32 Api函数,C++语法中的数据结构,程序的执行流程

MFC就是一个库(动态库,静态库)

MFC还是一个程序框架

2、为什么使用MFC

基于框架编程,提高工作效率,减少开发周期,节约开发成本。

<< < 7 8 9 10 11 12 13 14 15 16 > >>

Powered By Z-BlogPHP 1.7.3

Copyright 2024-2027 pukuimin Rights Reserved.
粤ICP备17100155号