HANTAO官方博客

导航

统计

公告

2011年7月14日 #

SEO图片测试,alt="ddd" title="" 就不显示alt 内容

退货流程,韩涛艾瑞咨询,韩涛

posted @ 2011-07-14 17:25 hantao 阅读(13) 评论(0) 编辑

2010年4月5日 #

C# 断点续传的例子 单线程 ,支持按钮暂停和开始

网上没有一个完整的例子。我把网上的资源整理了一下,可以实现如下功能

1.支持http式下载,可以定义文件名,手工定义

2.实现下载--暂停--继续 功能。演示断点续传

3.实时查看当前下载的文件大小。

4.注释写的不好,几乎没有。

用  C# 2008 写的

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Download
{
    public partial class Form1 : Form
    {
        Boolean fflag = false;

        public Form1()
        {
            InitializeComponent();
        }

 


        private void button1_Click(object sender, EventArgs e)
        {
            fflag = false;
            button1.Enabled = false;
            button2.Enabled = true;

            string strFileName = textBox2.Text;
            long lStartPos = 0;
            System.IO.FileStream fs;
            if (System.IO.File.Exists(strFileName))
            {
                fs = System.IO.File.OpenWrite(strFileName);
                lStartPos = fs.Length;

                fs.Seek(lStartPos, System.IO.SeekOrigin.Current);


            }

            else
            {
                fs = new System.IO.FileStream(strFileName, System.IO.FileMode.Create);
                lStartPos = 0;


            }

            lblFileSize.Text = lStartPos.ToString();
            try
            {
                System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(textBox1.Text.ToString());

                if (lStartPos > 0)

                    request.AddRange((int)lStartPos);

                System.IO.Stream ns = request.GetResponse().GetResponseStream();
                long ConLength = request.GetResponse().ContentLength;
                lblRange.Text = ((int)ConLength + (int)lStartPos).ToString();
              
                progressBar1.Maximum = (int)ConLength+(int)lStartPos ;
                progressBar1.Value = (int)lStartPos;

                byte[] nbytes = new byte[512];

                int nReadSize = 0;


                nReadSize = ns.Read(nbytes, 0, 512);

                lStartPos = lStartPos + nReadSize;

                while (nReadSize > 0)
                {
                    fs.Write(nbytes, 0, nReadSize);
                    nReadSize = ns.Read(nbytes, 0, 512);
                    //  System.EventHandler(button2_Click);
                    Application.DoEvents();
                    if (fflag == true)
                    break;
                    lStartPos = lStartPos + nReadSize;
                    lblFileSize.Text = lStartPos.ToString();
                    lblLeftRange.Text = (progressBar1.Maximum  - lStartPos).ToString();
                    progressBar1.Value = progressBar1.Value + nReadSize;
                   
                }

 

                fs.Close();
                ns.Close();
                if (lblLeftRange.Text == "0")
                { label6.Text = "下载完成"; }
                else
                { label6.Text = "暂停阶段"; }
               

            }

            catch (Exception ex)
            {
                fs.Close();

                label6.Text = ex.ToString();
                
            }

        }

        private void button3_Click(object sender, EventArgs e)
        {
            string strFileName = textBox2.Text;
            long lStartPos = 0;


            System.IO.FileStream fs;
            if (System.IO.File.Exists(strFileName))
            {
                fs = System.IO.File.OpenWrite(strFileName);
                lStartPos = fs.Length;

                fs.Seek(lStartPos, System.IO.SeekOrigin.Current);

                label6.Text = "文件存在!";
            }

            else
            {
                fs = new System.IO.FileStream(strFileName, System.IO.FileMode.Create);
                lStartPos = 0;
                label6.Text = "文件不存在!";

            }

            lblFileSize.Text = lStartPos.ToString();
            try
            {
                System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(textBox1.Text.ToString());

                

                System.IO.Stream ns = request.GetResponse().GetResponseStream();

               
                   lblRange.Text  = request.GetResponse().ContentLength.ToString ();

                fs.Close();
                ns.Close();
               

            }

            catch (Exception ex)
            {
                fs.Close();

                label6.Text = ex.ToString();

            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (this.button2.Text == "Pause")
            {
               
                this.button2.Text = "Continue";
                fflag = true;

            }
            else
            {

                fflag = false ;
                this.button2.Text = "Pause";
                button1_Click(this ,e);
            }
        }

 

        private void button4_Click(object sender, EventArgs e)
        {
            string strFileName = textBox2.Text;
            button1.Enabled = true;
           
            progressBar1.Value = 0;

            if (System.IO.File.Exists(strFileName))
            {
                try
                {
                    System.IO.File.Delete(strFileName);
                    label6.Text = "删除文件成功!";
                }
                catch (System.IO.IOException ex)
                {

                    label6.Text = "删除文件失败!";

                }
            }
            else
            {

                label6.Text = "文件不存在!";
            }
        }

       
   
    }
}

 

posted @ 2010-04-05 16:18 hantao 阅读(503) 评论(2) 编辑

2010年2月4日 #

24小时第八季到第13集

终于知道danna为什么有这插曲,原来他是个二五仔。是放在别人口袋里面的一副麻将。。呵呵。。每季ctu都有卧底,这次不例外。。。

 

posted @ 2010-02-04 22:21 hantao 阅读(12) 评论(0) 编辑

2010年1月28日 #

24小时第八季5

这一集出现了一个黑黢黢的平板电脑用于小强接收数据,剧情发展太慢 。。克洛伊的计算机查询速度(应该是系统问题)太慢。我觉得把Renee干掉可能更精彩。。。

posted @ 2010-01-28 12:35 hantao 阅读(9) 评论(0) 编辑

2010年1月27日 #

海底地震中,中国与美国救援上的差距?(转载)

    只有注册用户登录后才能阅读该文。阅读全文

posted @ 2010-01-27 16:59 hantao 阅读(33) 评论(0) 编辑

2010年1月26日 #

windows search 卸载

摘要: 下载 ntuninstallkb940157.zip文件,解压后执行 systemroot%NtUninstallKB940157$spuninst\spuninst.exe 理论上应该放到 systemroot下面,但是我直接在桌面上解压,后执行 spuninst.exe 。成功。阅读全文

posted @ 2010-01-26 09:04 hantao 阅读(288) 评论(0) 编辑

2010年1月25日 #

24小时第八季3-4

摘要: 第四集结尾 发现Renee居然比小强更加生猛。廉颇老矣。这两集没有什么新科技产品介绍,主要重点描述了门禁系统,一个类似15寸的液晶,可以用来识别掌纹。还有一个大的屏幕可以将办公桌的显示屏同步到大屏幕上。并且提到一个算法,加密算法,搞的那个身材生猛的女人这两集还没破解。我记得克洛伊的老公上一季破解什么加密只需要20秒。。发现一个问题,ctu的主管挂电话的时候明明头上带个耳机,手里拿着一个类似笔装的东...阅读全文

posted @ 2010-01-25 09:27 hantao 阅读(25) 评论(0) 编辑

2010年1月20日 #

24小时第八季

摘要: 非常感谢VERYCD,依然能够有24小时最新的下载。从第四季开始看,一直到现在。昨天晚上看了1,2集,感觉里面对于信息获取的方式还是有新的系统出现。出现了面部跟踪识别,取消了以前的座机(起码这两集没看到,或许看的不够仔细,呵呵),改用蓝牙耳机实现通话,有无人飞机在城里里面巡航,理论上可以实现对火箭弹的拦截,但是没有成功。生物测谎仪。有个不合理的地方。既然ctu得到有身边的人是二五仔,为什么不监听所...阅读全文

posted @ 2010-01-20 09:49 hantao 阅读(53) 评论(0) 编辑

2010年1月19日 #

google chrome 应用程序正常初始化失败 0xc0000005

摘要: 每开一个网页就提示“应用程序正常初始化(0xc0000005)失败,单击确定终止应用程序这是谷歌浏览器和诺顿杀毒软件冲突造成的,安装完毕谷歌浏览器后,在快捷方式点右键—属性,在“目标”一栏中会有"C:\Documents and Settings\user\Local Settings\Application Data\Google\Chrome\A...阅读全文

posted @ 2010-01-19 13:09 hantao 阅读(695) 评论(0) 编辑

2010年1月13日 #

比较喜欢这个想法

posted @ 2010-01-13 10:11 hantao 阅读(3) 评论(0) 编辑

仅列出标题  下一页