我住包子山

this->blog.MoveTo("blog.baozishan.in")

#

浏览文件夹对话框,演示SHBrowseForFolder用法

image
/********************************************************************
  created:  2008/04/24
  created:  24:4:2008   12:47
  author:    Gohan
                http://feed.feedsky.com/gohan
  purpose:  演示SHBrowseForFolder用法
*********************************************************************/
#include <Windows.h>
#include <ShlObj.h>
int main()
{
   
BROWSEINFO bi;
   
ZeroMemory(&bi,sizeof(BROWSEINFO));
   
LPMALLOC pMalloc;
   
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
   
TCHAR * path = new TCHAR[MAX_PATH];
   
if(pidl != NULL)
    {
       
SHGetPathFromIDList(pidl,path);
       
MessageBox(NULL,path,TEXT("Choose"),MB_OK);
       
if(SUCCEEDED(SHGetMalloc(&pMalloc)))//pidl指向的对象用完应该释放,之前忽略了
        {
           
pMalloc->Free(pidl);
           
pMalloc->Release();
        }
    }
   
else
    {
       
MessageBox(NULL,TEXT("选择为空"),TEXT("Choose"),MB_OK);
    }
   
delete path;//谢谢true的提醒,以后我一定会更加慎重
}

posted @ 2008-04-24 13:15 Gohan 阅读(11220) | 评论 (16)编辑 收藏

GWeekly[12] = 都有一颗红亮的心

图片来自7号斋    这周看了点书,写了一些代码,MFC的mergesortDemo,C#与regex相关的应用。今天凌晨发现一个类似Mop的猫游记的WebMUD叫刀剑江湖,花了几个小时玩了一下,用.net2.0做的,我也很想做类似的mud服务端,可是学的东西太少,只是简单的翻看过MUD Game Programming,感觉做一个庞大的系统很麻烦,不过有机会我会去慢慢尝试。同学中有些人喜欢玩WebGame,类似travian这样的游戏,现在好像xiaonei也推出了一款,我打算研究一下C#的webbrowser控件等的应用,以及HTTP抓包来了解下这类游戏的运作,那个刀剑江湖的游戏在执行命令时对于一个Send.aspx会传一个特定算法生成的0-1的实型参数,每次都不同,所以像MUD中的机器人就很难做了。CodeProject: The most complete C# Webbrowser wrapper control.这篇文章讲了一个功能强大的包装了C# webbrowser的控件,我只是随便看看,好像许多内部功能使用的是ATL搞得,这个项目的地址点这里。本周很乱有点忙,法国很多人民不了解我们,只能觉得很遗憾,如果中国更强点,他们估计想不了解都难了。我爱中国的地大物博,人才济济。你身边的爱国主义 [枣报特评],好好学习,好好工作。

本周收藏:

   本周就是这样,匆忙回顾。

posted @ 2008-04-21 07:36 Gohan 阅读(341) | 评论 (2)编辑 收藏

让cout打印出16色字符

image

Win32命令行应用程序是可以加颜色的,使用SetConsoleTextAttribute就可以实现了,记得前年小学期做的程序作业就用了它。

这篇文章很简单,你可以当作是一个cout <<运算符重载的一个简单例子。本文章来源与这里,我只是做一个很不专业解释。

本文章提供的库可以如下使用,上面是显示效果,想起小时候玩的Mud了吧。

#include "ConsoleColor.h"
std::cout << green << "This text is written in green" << white << std::endl;
std::cout << color(FOREGROUND_RED|FOREGROUND_GREEN)
<< "This text has a really exiting color !"
<< white << std::endl;

ConsoleColor.h的内容

#pragma once
#include <iostream>
#include <windows.h>

inline std::ostream& blue(std::ostream &s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE
        |FOREGROUND_GREEN|FOREGROUND_INTENSITY);
    return s;
} 

inline std::ostream& red(std::ostream &s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
        FOREGROUND_RED|FOREGROUND_INTENSITY);
    return s;
} 

inline std::ostream& green(std::ostream &s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
        FOREGROUND_GREEN|FOREGROUND_INTENSITY);
    return s;
}

inline std::ostream& yellow(std::ostream &s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
        FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
    return s;
}

inline std::ostream& white(std::ostream &s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
        FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
    return s;
}//以上这些函数定义本身就是cout的<<操作符的一种参数重载形式,即:
//basic_ostream& operator<<( basic_ostream& (*_Pfn)(basic_ostream&) );

struct color {
    color(WORD attribute):m_color(attribute){};
    WORD m_color;
}; 

template <class _Elem, class _Traits>
std
::basic_ostream<_Elem,_Traits>&
operator
<<(std::basic_ostream<_Elem,_Traits>& i, color& c)
{
    HANDLE hStdout=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,c.m_color);
    return i;
}

 

最后这个是对于<<操作符的重载,形式类似于如下

template<class _Tr>
   basic_ostream<char, _Tr>& operator<<(
      basic_ostream<char, _Tr>& _Ostr,
      const unsigned char *_Str);
OK,发挥你的想象力,让c++变得更有趣吧。

参考链接:

Win32 Console Applications - Part 4. 这个就是最初我使用命令行色彩的参考,有兴趣可以看看。今天做了一个归并排序演示程序,还要继续完善,我MFC很烂,完了放出烂烂的代码。image

posted @ 2008-04-19 04:24 Gohan 阅读(1362) | 评论 (0)编辑 收藏

GWeekly[11] = 准备下一步计划

最近在看的动画,感谢picasa强大的搜索   关于GPCT的程序做了个大概,并于昨天提交,能够解决1-5级的难度,第6级更麻烦一些,第7级就超出我的能力范围了。这周几个老师出差上的课程就少了几节,微机原理与接口技术只有一部分侧重8086 assembly,还在慢慢看罗云彬的Win32汇编,另外Effective C#看了一半,李建忠翻译的非常认真。于是之后的计划也就草草定下,用win32汇编改写几个简单的SDK程序,C#的正则表达式匹配以及IFormatable接口的方法重载,用MFC或SDK写几个算法演示工具之类,有空应该就会完成这些计划,并在这里附上心得。

   这周几乎没完游戏,只是“本学期再不打dota”的这个打算以失败告终,还是太容易原谅自己。最近的放松方式,是看鸟山明的漫画,以及阅微堂博主推荐的小说《新宋》。同学推荐了一部平淡而温情的电影我们俩,不错。

本周收藏:

   本周就是这些,之后我会陆续写一些技术小心得,也许会有点儿用,呵呵。

posted @ 2008-04-13 22:41 Gohan 阅读(343) | 评论 (2)编辑 收藏

GWeekly[10] = 宅了3天的一周。

images    这周玩的挺好,工作做的也不错。这周终于装上了Portal,装下来有6G,19关一共花了几个小时玩完,真是一个不错的游戏,可惜意犹未尽,于是发现了Portal Maps这个地方,可以下载许多好玩地图。关于那个参加gpct比赛的程序我用4叉树记录加上枚举解决了只有传送难度的问题,对于机关的想法下周再去实施,周末做的这项工作,搞到凌晨4、5点,感觉晚上状态很好。周二有幸去了兵马俑,挺震撼的,比那个马王堆汉墓还强一些,古人的有些聪明才智真的值得我们感到自豪,不过可惜的是很多古人留下的东西没能继续传承。这周动漫看了很多,看完School Days,重看了一回天书奇谭,还在看妄想代理人

   令人高兴的是维基百科终于可以访问了,速度还不错。
   Google Talk推出实验版本,暂时适用了一下,登陆没有过去的快了,功能倒有点进步,界面跟在线版一样。
   声明:北京维权人士胡佳因言入罪被判刑三年半,等待壹报的详细报道。

   本周收藏

  这周就先到这里了。

posted @ 2008-04-07 08:02 Gohan 阅读(854) | 评论 (1)编辑 收藏

GWeekly[9] = 本周有点低迷

12065077570

     本周在学习方面几乎没任何进步,重新读了windows核心编程的Dll部分,作者很强,他写的这本CLR via C#也在我的读书堆栈中,这周玩的时间占得有点儿多。上微机原理接口技术学习8086汇编基础,对于汇编产生了一点小小兴趣,于是周五去市区看完10000bc后,花了快70多元买了罗云彬的win32汇编程序设计,目前就看了几十页,觉得看这个会对SDK学习带来不少补充,慢慢翻吧。

    这周主要玩了好几个小游戏,Portal flash,还玩了一个叫Chalk的游戏,玩过去两遍,每关都得B,没得过A,真遗憾。异尘行者这周也发了个关于小游戏的博文:四個鍛鍊反應與腦力的耐玩Flash小遊戲@电脑玩物。游戏总是很有吸引力。

   这周没开QQ,好像有的朋友去玩了百度HI,我觉得那个还没有QQ有用,自然就不用了。爱枣报看到的链接:mao片网后面还有有个秘密下载长江7号 官方桌面小游戏 (刚好这周重看了遍CJ7)。文化部教育部的老爷们,文盲张纪中要翻拍西游记,你们管不管?这个拍出来估计很囧,和邪社首发史上最强NPC造就网游中的战斗机-盛大《龙神传说》,一样很囧,愚人节渐近,左岸读书愚人节专辑可以参考一下。

本周收藏的几个地址:

   周末重新看了CJ7,幽灵公主,感觉还是一样的好,看完10000BC觉得没有别人说的那么差劲,意淫也好狗屎运也好我都是很喜欢的。看了头5卷IQ博士的漫画,看了两集School days的动画。本次回顾的图片为龙珠电影的一张剧照,这电影大概要等到明年初了。ending...

posted @ 2008-03-30 21:49 Gohan 阅读(269) | 评论 (0)编辑 收藏

推荐一个小游戏 Portal Flash版

image   Portal 是我非常想玩的一个游戏,可惜目前机器连hl2都带不动,只能等暑假换了机器再玩了。昨晚上做完回顾后发现了一个PMOGMission,里面介绍了不少有趣的物理小游戏,Portal flash就是其中之一,一共只有40关,于是迫不及待打通关了,2D版应该比3D要简单的多了,不过还是推荐一下 。

   点击打开游戏地址。

posted @ 2008-03-24 14:54 Gohan 阅读(1045) | 评论 (2)编辑 收藏

GWeekly[8] = 周末,我在忙

4n    本周周末有点忙碌,忙碌中学到不少,之后几周应该都会忙碌一些。这周学业没什么进一步突破,终于正式开始接触8086的汇编语言。周末对于C#实践了小小一部分,今天找到了本.net IL汇编的电子书,Apress的《Expert.dot.NET.2.0.IL.Assembler》,有机会的话胡乱看一些。现在还不知道C#里的函数如何返回左值C#的线程函数能否传递参数,继续慢慢学习。

   soff的案子判了,三年有期徒刑,罚没收入118万。最后是腾讯胜了,很早就用珊瑚虫的插件了,不知道珊瑚虫捆绑了那些所说的流氓软件。腾讯现在是很壮大了,为soff觉得不平。。现在qq几乎不用,实际行动抵制腾讯。。

   前几天有人问什么是云计算,我只知道是种分布式运算,Google及其云智慧这篇文章可以看看。还是Google,Google淘汰的产品,不少有趣的东西。BTW:我最近淘汰了谷歌拼音,改用搜狗了,搜狗自定义的颜色还是感觉更好(如图)。

image

    本周阅读很少,只是收藏了一些网站网页:

   看完了日剧liar game,还有一部岁数比我大的动画片风之谷
   本周回顾结束。

posted @ 2008-03-23 21:37 Gohan 阅读(423) | 评论 (0)编辑 收藏

今天的工作时间接近了8个小时

web    针对GPCT的比赛说明用C#进行了一些编程活动,期间了解到C#动态装载Assembly的强大,获得程序集自定义属性等等的一些知识碎片。C#很不习惯的一点就是New出来很多很多对象却都不用delete,真的是比较别扭,其它的倒是真方便。今天看.net的IL代码,真的产生了不少的兴趣,过些日子去找本书看。TortoiseSVN的版本控制软件这次也有幸使用了一下,因为是同宿舍两位同学合作coding,希望我们都能逐渐成长。于是乎今天work时间到达了近8小时,平时估计每天有一个小时就不错了,呵呵。work work,平时太荒废,以后还是养成惯性的好。

   OK,that's all,明天的周回顾等明天再写了。

posted @ 2008-03-22 22:14 Gohan 阅读(205) | 评论 (0)编辑 收藏

GWeekly[7]

jump_ultimate_stars_bonusw

   这周在学习方面稍稍有点儿状态了。微机原理与接口技术这门硬件基础课程估计要多学一下,编译原理我在看那本《程序设计语言-实践之路》,算法导论也要再学一学。买了本thinking in java 4th,慢慢的看。我们这门WDM编程的课程不会指望老师讲多深,老师现在还在解释dll跟静态库,跟太平洋电脑网的教程讲的一样,配图都打着pconline的水印,老师夸口说有能力写本比MFC深入浅出还牛13的多的书(囧),侯捷的mfc深入浅出我主要看了原理部分,的确深入浅出,文笔也很好,这本书大概在海外也是影响不错的,侯捷多牛啊,翻译的深度探索c++对象模型也不是盖的,俺们的老师口气还是不小的,期待他的大作。
   李开复前几天来我们学校做演讲,他做宣传大概有好几年了吧,教育大学生人生道理很不错,不过我倒不怎么哈他,从微软离开而投靠Google是他的选择,我觉得这两个公司在中国的本土化都做得不尽人意。现在希望开复大哥能给解决一下,好好教育一下百度同学。这个谷歌的搜索提示不知道算不算是Bug,谷歌拼音还是没有搜狗有竞争力。最后看一下Google外国的工作环境,真的有些向往。

   这周终于知道了一个很好的NDS模拟器,no$gba 2.6a版本,终于可以顺畅的玩Jump明星大乱斗了,这位作者真是很强,很惭愧我没能捐助他$,不过以后一定会补上的。
   玩了一个有趣的游戏“下流的蛋蛋”,英文名CONTOUR,挑战你的智力更加挑战你的耐心,我心智不怎么样,目前只打过去14关,以后有闲再继续。
   昨天看了The Mist,让我很震撼的一部电影,有些味道让我想起了大逃杀,如果你身在这个迷雾中,你会做什么选择?
   西藏最近有点儿乱,我觉得我们应该坚定不移维护祖国统一,希望死伤越少越好,少点人被那些自私而别有用心的人忽悠。
   这周就到这里了。

posted @ 2008-03-16 21:00 Gohan 阅读(369) | 评论 (2)编辑 收藏

仅列出标题
共16页: First 5 6 7 8 9 10 11 12 13 Last