日历

« 2008-08-29  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

RSS订阅

php,java,设计,都是相通有趣的哦!
  • 转帖【在线中文输入法】

    2007-11-10 21:07:51

    http://hi.baidu.com/skychen1900/blog/item/9b021ff4fc9b336dddc4740f.html


    在线中文输入法
    名称 输入法 汉字编码 离线使用
    InputKing 拼音,双拼(6种),五笔(2种),注音,仓颉(2种) GB,Big5
    七把叉 全拼,双拼(2种),五笔(2种) GBK
    网上中文输入法 拼音,仓颉,英中 GBK
    JustInput 拼音,双拼,五笔,注音,仓颉 GB2312 不可

    这 些输入法都是基于浏览器的Web应用,对于Internet Explorer和Firefox的支持都很好,可以跨平台使用。比较而言,InputKing的功能最多,除了中文输入之外有英汉、汉英词典查询,还提 供了基于“捐款”的贵宾服务,可以使用个人词库、保存草稿、收藏书签等。界面最简洁、启动速度最快的是JustInput,选择了输入法几乎立即就能使 用,而其他几种都要先下载几百KB的词库,然而也正是如此它们实现了离线输入的功能。“网上中文输入法”是马来西亚的中文用户开发的,不太适合中国大陆用 户的口味。

    相对于本地的中文输入法来说,在线输入法的智能性较差,没有根据用户实际需要动态调整字频、词频的功能,热键也不能自由定义。

    总体上说,在线的中文输入法能够暂时解决在非中文系统的机器上输入汉字的问题,只要浏览器能够显示中文就能进行中文输入。对于一些新的Linux用户,假如一时半会儿搞不定fcitxscim等中文输入法,可以用这些在线的输入法到BBS提问,避免使用词不达意的蹩脚英文和让人头晕目眩的一长串拼音,避免了在windows和linux之间倒来倒去,可谓善莫大焉。


  • 【分享】RealProducerPlus-v11转换经验

    2007-05-26 06:27:12

        RealProducerPlus-v11.0一直都在使用它,这次上传一张图片,说明一些经验,就是只要选择750k Download就可以了。其他的当然可以,甚至5%的压缩率的可以达到,但是效果,像素,音质就不用说了。很烂,只有dat转成rmvb或者vob转成rmvb,或者其他格式为了保存数据在硬盘中,都可以转成rvmb,就用750k就ok了。
    450k是另外的出于硬盘空间紧张的考虑才去选择。否则还是750k Download。


  • 听说是PHP编辑器中最强的----SciTE [转帖]

    2007-05-10 11:22:51


    听说是PHP编辑器中最强的----SciTE   [转帖]

    http://www.phpchina.com/index.php?uid/30501/action/viewspace/itemid/8794/php/1


    最好用的编辑器SciTE(上)

        学习PHP有一段日子了,最开始用DW,嫌太大,我的破电脑承受不了,可视化设计是很好,但是代码编辑部分的功能不是很顺手,尤其是编写PHP代码。后来用一冲动改用Notepad,事实证明它就是编辑器中的废物,除了能编辑,什么都不能,放弃!用Notepad写代码的人估计不是神就是疯子。于是去google,baidu搜啊搜,EditPlus,UltraEdit,Notepad2(这也是一款不错的编辑器,完全可以替代Notepad),Notepad++,Zend(又大又慢),PHPDesigner,PHPCoder,DZ,PHPxxx,...,甚至VIM(据说很强大),寻寻觅觅,终于有一天让我找到了SciTE,它免费,它开源,它小巧,它强大,一个字:趁手!
        不过对于一个从来没用过它的人来说,很难发现它的过人之处,修改和定制它的配置不亚于编写程序(全部是直接改配置文件,没有配置向导)!所以也许有人下载下来写了三行代码就Delete了,“什么玩意儿,太难用了!”。所以很少人用它来编写和调试代码。
        实在不忍心让这么好的编辑器埋没了,于是有了这篇文字,让大家了解它,配置它,使用它,最后爱上它。
        废话不多说,先来看一下SciTE的屏幕截图:
        1,无需安装,下载后解压缩即可运行,纯绿色,所有文件加起来大小不超过2M。完全可以放到U盘里。

        2,运行时截图。多文档打开,标签页,行号,书签,语法高亮,代码折叠,右侧的输出窗口,标签上的未保存提示,代码缩进线,括号匹配,智能缩进。这些都是作为一个代码编辑器必须有的功能,SciTE当然有。现在你可能还没有感觉到它有什么过人之处,不要着急,接着往下看。

        3,是的,自动完成和函数提示。



        有点儿意思了吧,远不止这些。SciTE另外一个比较有意思的功能就是自定义缩略语,是什么呢?比如每次都输入<?PHP ?>是不是很烦,你可以把这段代码定义成缩略语,就叫php把,格式呢就像这样:
    php=<?PHP\n\t//comment\n\t|\n?>
    现在再输入php,再按ctrl+B,就会出现下面的内容:
    <?PHP
        //comment
       
    ?>
    光标会停在定义中"|"符号所在的位置。
        还有一个比较贴心的设计,就是之前输入过的单词(不一定是英文单词,应该是连续的字符),再次输入这个单词的前几个字符,就会出现如代码自动完成一样的一个列表,你可以选择想要的单词。对我这样打字比较慢的人来说简直太有用了!
        SciTE最大的有点就是超强的定制性,几乎所有的功能都可以用户自定义,下面就来说说它的一些配置。
        怎么图片都显示不出来?
        建议下载压缩包,不要下载安装包。包括主程序一个,动态库一个(没有这个DLL也可以正常运行),配置文件和语法文件(*.properties)N个,API文件(*.api)好像没有。
        本人英文不怎么样,先说说汉化的方法:
        下载简体中文的语言文件,改名为locale.properties,复制到SciTE文件目录中覆盖原来的文件,再运行程序就变成了中文界面,连提示也变了。
        然后开始真正配置你自己风格的SciTE:
        运行SciTE,选择菜单“选项-->打开Global Options文件”,打开的就是SciTE的全局配置文件,建议不要改动这个文件,以后再改动配置的时候以这个文件作为参考和对照。然后同样打开 “User Options文件”,空文件对不对,把Global Options文件中所有内容复制过来,意思是所有的全局配置都在User Options文件中改,User文件的配置会覆盖Global的配置。
    下面的这段作用是运行时窗口大小位置以及一些外观,以#开头的是注释,很好理解吧。只说WIN平台下的配置,其他的平台同样,很多配置项是注释掉的,把行首的#去掉才可以起作用。
    # Window sizes and visibility
    if PLAT_WIN(windows平台)
        position.left=0(运行时窗口在桌面的坐标,最大化时不起作用)
        position.top=0(同上)
    if PLAT_GTK
        position.left=5
        position.top=22
    position.width=-1(窗口初始宽度,-1表示最大化)
    position.height=-1(同上)
    #position.tile=1
    #full.screen.hides.menu=1(全屏时隐藏菜单栏,1=true,0=false)
    #minimize.to.tray=1(最小化到托盘区,1=true,0=false)
    split.vertical=1(窗口垂直分割,和输出窗口的分割)
    #output.horizontal.size=200(水平模式
    输出窗口大小
    #output.vertical.size=60(垂直模式输出窗口大小)
    #output.initial.hide=1(输出窗口默认隐藏)
    #horizontal.scrollbar=0(水平滚动条不可见)
    #horizontal.scroll.width=10000(水平滚动条最大滚动范围)
    #output.horizontal.scrollbar=0(参考上面)
    #output.horizontal.scroll.width=10000(参考上面)
    #output.scroll=0(参考上面)
    #error.select.line=1(编译错误定位到源代码)
    #end.at.last.line=0
    tabbar.visible=1(多文档标签栏可见)
    #tabbar.hide.one=1(只有一个文档是隐藏标签栏)
    #tabbar.multiline=1(多行显示标签栏)
    toolbar.visible=1(工具栏可见)
    #toolbar.detachable=1(可分割工具栏)
    #toolbar.usestockicons=1(显示用户定制工具栏)
    #menubar.detachable=1(可分割菜单栏)
    #undo.redo.lazy=1(撤销,重做选项,具体效果不知道)
    #statusbar.visible=1(状态栏可见)
    #fileselector.width=800(打开文件对话框大小)
    #fileselector.height=600(同上)
    #magnification=-1(字体放大倍数)
    #output.magnification=-1(同上)
        以下是编辑区外观设置:
    # Sizes and visibility in edit pane
    line.margin.visible=1(行号区的缩进)
    line.margin.width=3+(行号显示的位数,3+表示默认3位数,不够再加)
    margin.width=0(行号缩进的宽度,最好不缩进)
    #fold.margin.width=16(代码折叠区的宽度)
    #fold.margin.colour=#FF0000(折叠区颜色)
    #fold.margin.highlight.colour=#0000FF(折叠符号颜色)
    #blank.margin.left=4(编辑区左边空白宽度)
    #blank.margin.right=4(同上)
    buffered.draw=1(缓存载入和高亮,建议打开,可以提高速度,但是内存会占用多一点,这应该不是什么问题)
    #two.phase.draw=0(作用同上)
    use.palette=0(不清楚什么作用)
        接着看:
    # Element styles
    #view.eol=1(载入时定位到文档尾)
    #control.char.symbol=.(???)
    caret.period=500(光标闪烁频率,单位毫秒)
    view.whitespace=0(显示空白符号)
    view.indentation.whitespace=1(以空格和退格表示缩进)
    view.indentation.guides=1(显示缩进线,写代码会很有用)
    highlight.indentation.guides=1(高亮时同时高亮缩进线)
    #caret.fore=#FF0000(光标颜色)
    #caret.width=2(光标宽度)
    #caret.line.back=#FFFED8(当前行背景色)
    #caret.line.back.alpha=63(当前行背景透明度)
    edge.column=200(列模式下列数)
    edge.mode=0(列模式开关)
    edge.colour=#C0DCC0(列模式颜色)
    braces.check=1(???)
    braces.sloppy=1(???)
    #selection.fore=#006000(选中文字的晚色)
    # DADADA used as background because it yields standard silver C0C0C0
    # on low colour displays and a reasonable light grey on higher bit depths
    selection.alpha=70(选中文字背景的透明度)
    selection.back=#0000FF(选中部分的背景色)
    #whitespace.fore=#FF0000(空格颜色)
    #whitespace.back=#FFF0F0(空格背景色)
    #error.marker.fore=#0000A0(错误处的颜色)
    #error.marker.back=#DADAFF(错误处的背景色)
    #bookmark.fore=#808000(书签颜色)
    #bookmark.back=#FFFFA0(书签处背景色)
    bookmark.alpha=70(书签背景色透明度)
    find.mark=#FF0000(查找时,找到文本的颜色)
        是不是发现SciTE的定制性实在是太强了,它有好多很好的用户选项,比如单文档时不显示标签栏,全屏时隐藏菜单,更好的是你可以更改这些选项,这是其他 编辑器无法比的,大部分的选项都可以从字面的意思推断出来作用,所以一些不是很重要的配置就不再解释了,你也可以把蓝色的文字复制到User Options文件中,不过记得把括号中的字去掉。好了,接着看:
    # Checking
    are.you.sure=1(关闭时提示保存)
    #are.you.sure.for.build=1(编译和运行时提示保存)
    #save.all.for.build=1(编译时自动保存所有)
    #quit.on.close.last=1(关闭最后一个文档是退出程序)
    #load.on.activate=1(???)
    #save.on.deactivate=1(???)
    #are.you.sure.on.reload=1(重新载入文档时提示)
    #reload.preserves.undo=1(重新载入时保护撤消列表)
    #check.if.already.open=1(检查文档是否已经被打开)
    default.file.ext=.cxx
    #source.default.extensions=.h|.cxx|.bat
    title.full.path=1(窗口标题显示文档的完整路径)
    #title.show.buffers=1
    #save.recent=1
    #save.session=1
    #open.dialog.in.file.directory=1
    #strip.trailing.spaces=1(去掉行尾空格)
    #ensure.final.line.end=1(去掉文档尾空行)
    #ensure.consistent.line.ends=1
    #save.deletes.first=1
    buffers=10(最多打开的文档数,越多占内存越大)
    #buffers.zorder.switching=1
    #win95.death.delay=1000
    #translation.missing=***
    #read.only=1(只读方式打开)
    #max.file.size=1(文档最大限制)
        缩进,换行,代码折叠:
    # Indentation
    tabsize=4(tab键缩进的字符数)
    indent.size=4(缩进字符数)
    use.tabs=1(使用tab键)
    #indent.auto=1(自动缩进,就是自动保持前一行的缩进)
    indent.automatic=1(智能缩进,和上面的区别就是有反缩进)
    indent.opening=1(代码缩进,比如大括号回车自动缩进)
    indent.closing=1(代码反缩进,同上)
    #tab.indents=0(tab键缩进)
    #backspace.unindents=0(退格键反缩进)

    # Wrapping of long lines
    #wrap=1(自动换行开关,写代码一般不要打开自动换行)
    #wrap.style=2(换行的风格,没用过)
    #cache.layout=3
    #output.wrap=1(输出窗口自动换行)
    #output.cache.layout=3
    #wrap.visual.flags=3(自动换行处的标记符)
    #wrap.visual.flags.location=3
    #wrap.visual.startindent=4

    # Folding
    # enable folding, and show lines below when collapsed.
    fold=1(代码折叠开关,建议打开)
    fold.compact=1(折叠指示,建议打开)
    fold.flags=16(折叠指示区宽度)
    fold.symbols=3(折叠符号,1,2,3分别是+-,圆圈+-,正方形+-)
    #fold.on.open=1(打开文档后默认全部折叠)
    fold.comment=1(代码注释折叠)
    fold.preprocessor=1(折叠预处理)
        好了,继续,这么多的配置项不要害怕,其实不用每一项都改的,好多让它保持注释或者默认值就可以了,下面是外部查找替换,这段要解释一下,所谓的外部查找和替换是指在不打开文件的情况下对文件进行全文查找和替换,是非常有用的一项功能,对于WIN平台的查找命令
    find.command表示的意思是:在$(find.files)中包含的文件类型中查找findstr。可以自定义$(find.files)的文件类型,对于PHP程序来说,一般包括(*.php *.inc *.phtml *.php5 *.html *.js *.css)等。
    # Find and Replace
    # Internal search always available with recursive capability so use in preference to external tool
    find.command=
    # findstr is available on recent versions of Windows including 2000
    #if PLAT_WIN
    #    find.command=findstr /n /s $(find.what) $(find.files)
    #find.input=$(find.what)
    #if PLAT_GTK
    #    find.command=grep --line-number "$(find.what)" $(find.files)
    find.files=*.c *.cxx *.h
    #find.in.files.close.on.find=0
    #find.in.dot=1
    #find.in.binary=1
    #find.replace.matchcase=1
    #find.replace.escapes=1
    #find.replace.regexp=1
    #find.replace.regexp.posix=1
    #find.replace.wrap=0
    #find.replacewith.focus=0
    #find.replace.advanced=1
        编辑时的一些选项:
    # Behaviour
    #eol.mode=LF(回车换行的符号,WIN为CR/LF,linux/unix为LF)
    eol.auto=1(自动添加回车换行符号)
    clear.before.execute=0(执行代码前清空换行符号,不要打开这项,否则代码编译器会把多行认为成一行)
    #vc.home.key=1(VC++风格的home键功能)
    #wrap.aware.home.end.keys=1(自动换行状态下的home,end键)
    autocompleteword.automatic=1(这项很有用,就是自动完成之前输入过的单词)
    #autocomplete.choose.single=1(有无自动完成选择框,默认是有的)
    caret.policy.xslop=1(---自动完成提示框---)
    caret.policy.width=20
    caret.policy.xstrict=0
    caret.policy.xeven=0
    caret.policy.xjumps=0
    caret.policy.yslop=1
    caret.policy.lines=1
    caret.policy.ystrict=1
    caret.policy.yeven=1
    caret.policy.yjumps=0
    #visible.policy.strict=1
    #visible.policy.slop=1
    #visible.policy.lines=4(--------------)
    #time.commands=1(自动完成延迟,毫秒)
    #caret.sticky=1(光标延时)
    #properties.directory.enable=1(这一定不要改,是语法支持文件中重要常量的可用性)
        状态栏配置选项:
    # Status Bar
    statusbar.number=4(状态栏的分栏数,下面的.1.2.3.4就是每个分栏的内容,没什么可说的,看自己的喜好了。)
    statusbar.text.1=\
    li=$(LineNumber) co=$(ColumnNumber) $(OverType) ($(EOLMode)) $(FileAttr)
    statusbar.text.2=\
    $(BufferLength) chars in $(NbOfLines) lines. Sel: $(SelLength) chars.
    statusbar.text.3=\
    Now is: Date=$(CurrentDate) Time=$(CurrentTime)
    statusbar.text.4=\
    $(FileNameExt) : $(FileDate) - $(FileTime) | $(FileAttr)

    if PLAT_WIN(下面是帮助文档的路径,有个常量说明一下:
    $(SciteDefaultHome)代表SciTE主程序的存放路径
        command.scite.help="file://$(SciteDefaultHome)\SciTEDoc.html"
        command.scite.help.subsystem=2
    if PLAT_GTK
        command.print.*=a2ps "$(FileNameExt)"
        command.scite.help=netscape "file://$(SciteDefaultHome)/SciTEDoc.html"
        国际化,让SciTE支持中文,需要在这里更改几个默认的配置,就是code.page和output.code.page都需要改成936,让编辑器支持中文编码。这样输入汉字的时候就不会有问题了。
    # Internationalisation
    # Japanese input code page 932 and ShiftJIS character set 128
    #code.page=932
    #character.set=137
    # Unicode
    #code.page=65001
    code.page=936
    #character.set=204
    # Required for Unicode to work on GTK+:
    #LC_CTYPE=en_US.UTF-8
    output.code.page=936
        外部的扩展,打印和导出文档的时候有用:
    # Export
    #export.keep.ext=1(构建可执行程序支持)
    export.html.wysiwyg=1(所见即所得支持,可以实时预览)
    #export.html.tabs=1(HTML tab键支持)
    #export.html.folding=1(HTML折叠支持)
    export.html.styleused=1(HTML旧风格支持)
    #export.html.title.fullpath=1(HTML文件显示完整路径)
    #export.rtf.tabs=1(多文档RTF支持)
    #export.rtf.font.face=Arial(RTF文档的默认字体)
    #export.rtf.font.size=9(同上)
    #export.rtf.tabsize=8(同上)
    # Magnification (added to default screen font size)
    export.pdf.magnification=0(PDF文档放大倍数)
    # Font: Courier, Helvetica or Times (Courier line-wraps)
    export.pdf.font=Helvetica(PDF默认字体)
    # Page size (in points): width, height
    # E.g. Letter 612,792; A4 595,842; maximum 14400,14400
    export.pdf.pagesize=595,842(PDF页面默认大小)
    # Margins (in points): left, right, top, bottom
    export.pdf.margins=72,72,72,72(PDF默认页边距)
    export.xml.collapse.spaces=1
    export.xml.collapse.lines=1(XML支持)
        常用字符列表,留下英文和数字就行了,汉字的感觉用不上。
    # Define values for use in the imported properties files
    chars.alpha=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
    chars.numeric=0123456789
        打开文件对话框的文件过滤配置,默认的文件类型是在source.files中定义的文件类型,你应该把自己最常编辑的文件类型写到source.files中,如*.php;*.html;等等。
    # The open.filter setting is only used on Windows where the file selector has a menu of filters to apply
    # to the types of files seen when opening.
    # There is a limit (possibly 256 characters) to the length of a filter,
    # so not all source extensions can be in this setting.
    source.files=*.asm;*.c;*.cc;*.cpp;*.cxx;*.cs;*.h;*.hh;*.hxx;*.hpp;\
    *.idl;*.odl;*.rc;*.rc2;*.dlg;*.def;\
    *.vb;*.vbs;*.bas;*.frm;*.cls;*.ctl;\
    *.java;*.js;*.php;*.py;*.pl;*.rb;*.cgi;*.lua;*.conf;\
    make*;*.mak;\
    *.properties;*.html;*.xml;*.iface;*.bat;*.e

    if PLAT_WIN
        all.files=All Files (*.*)|*.*|
    if PLAT_GTK
        all.files=All Files (*)|*|Hidden Files (.*)|.*|
    open.filter=\
    All Source|$(source.files)|\
    $(all.files)\
    $(filter.ada)\
    $(filter.conf)\
    $(filter.asm)\
    $(filter.asn1)\
    $(filter.ave)\
    $(filter.baan)\
    $(filter.bash)\
    $(filter.caml)\
    $(filter.cmake)\
    $(filter.cpp)\
    #$(filter.ch)\
    $(filter.css)\
    $(filter.d)\
    $(filter.eiffel)\
    $(filter.erlang)\
    $(filter.fortran)\
    $(filter.idl)\
    $(filter.inno)\
    $(filter.java)\
    $(filter.js)\
    $(filter.kix)\
    $(filter.lout)\
    $(filter.lua)\
    $(filter.matlab)\
    $(filter.metapost)\
    $(filter.mmixal)\
    $(filter.nncrontab)\
    $(filter.nsis)\
    $(filter.opal)\
    $(filter.pascal)\
    $(filter.perl)\
    $(filter.php)\
    $(filter.pov)\
    $(filter.prg)\
    $(filter.properties)\
    $(filter.ps)\
    $(filter.python)\
    $(filter.ruby)\
    $(filter.sql)\
    $(filter.specman)\
    $(filter.tcl)\
    $(filter.tex)\
    $(filter.text)\
    $(filter.vb)\
    $(filter.web)\
    $(filter.yaml)\
    $(filter.verilog)\
    $(filter.vhdl)
        比 较重要的一段,下面是有关语法高亮的字体和颜色的全局配置,以后基本上所有的语法文件都要用到这里定义的字体和颜色,所以你要一定要了解每一项配置的作用 范围。适当的选择你喜欢的颜色和字体,不仅可以浏览代码的时候清晰明了,而且在编写代码的时候可以对不正确的语法进行提示,SciTE的默认字体配置我个 人感觉十分别扭,下面是我修改过的配置,以等宽代码字体(
    font:Courier New,size:10)为主。另外我只修改了WIN平台的配置,GTK的没有改过。所有的字体配置都可以见名知意,就不一一说明了,不过有一句font.js=$(font.base)需要注意,这是javascrīpt的基本字体,而font.base=font: Verdana,size:10,在字体定义之后是颜色定义,也是一些全局的配置,比如括号匹配的颜色,当前行的颜色,数字的颜色,字符串的颜色,等等。 都还没有涉及到具体的语言的配置。不过具体语言文件要引用这里定义的字体和颜色,引用方法就像上面说的javascrīpt的引用方法。
    # Give symbolic names to the set of fonts used in the standard styles.
    if PLAT_WIN
        font.base=font:Verdana,size:10
        font.small=font:Verdana,size:8
        font.comment=font:Comic Sans MS,size:9
        font.code.comment.box=$(font.comment)
        font.code.comment.line=$(font.comment)
        font.code.comment.doc=$(font.comment)
        font.code.comment.nested=$(font.comment)
        font.text=font:Times New Roman,size:11
        font.text.comment=font:Verdana,size:9
        font.embedded.base=font:Verdana,size:9
        font.embedded.comment=font:Comic Sans MS,size:8
        font.monospace=font:Courier New,size:10
        font.vbs=font:Lucida Sans Unicode,size:10
    if PLAT_GTK
        font.base=font:!Bitstream Vera Sans,size:9
        font.small=font:!Bitstream Vera Sans,size:8
        font.comment=font:!Bitstream Vera Serif,size:9
        font.code.comment.box=$(font.comment)
        font.code.comment.line=$(font.comment)
        font.code.comment.doc=$(font.comment)
        font.code.comment.nested=$(font.comment)
        font.text=font:!Bitstream Charter,size:10
        font.text.comment=font:!Serif,size:9
        font.embedded.base=font:!Serif,size:9
        font.embedded.comment=font:!Serif,size:9
        font.monospace=font:!Bitstream Vera Sans Mono,size:9
        font.vbs=font:!Bitstream Vera Sans Mono,size:9
    font.js=$(font.base)

    # Old GTK+ font settings are faster but not antialiased
        #~ font.base=font:lucidatypewriter,size:12
        #~ font.small=font:lucidatypewriter,size:10
        #~ font.comment=font:new century schoolbook,size:12
        #~ font.code.comment.box=$(font.comment)
        #~ font.code.comment.line=$(font.comment)
        #~ font.code.comment.doc=$(font.comment)
        #~ font.text=font:times,size:14
        #~ font.text.comment=font:lucidatypewriter,size:10
        #~ font.embedded.base=font:lucidatypewriter,size:12
        #~ font.embedded.comment=font:lucidatypewriter,size:12
        #~ font.monospace=font:courier,size:12
        #~ font.vbs=font:new century schoolbook,size:12

    # Give symbolic names to the set of colours used in the standard styles.
    colour.code.comment.box=fore:#007F00
    colour.code.comment.line=fore:#007F00
    colour.code.comment.doc=fore:#3F703F
    colour.code.comment.nested=fore:#A0C0A0
    colour.text.comment=fore:#0000FF,back:#D0F0D0
    colour.other.comment=fore:#007F00
    colour.embedded.comment=back:#E0EEFF
    colour.embedded.js=back:#F0F0FF
    colour.notused=back:#FF0000

    colour.number=fore:#0000FF
    colour.keyword=fore:#00007F
    colour.string=fore:#0000FF
    colour.char=fore:#0000FF
    colour.operator=fore:#000000
    colour.preproc=fore:#7F7F00
    colour.error=fore:#FFFF00,back:#FF0000

    # Global default styles for all languages
    # Default
    style.*.32=$(font.base)
    # Line number
    style.*.33=back:#C0C0C0,$(font.base)
    # Brace highlight
    style.*.34=bold,back:#9999CC
    # Brace incomplete highlight
    style.*.35=bold,back:#FF9933
    # Control characters
    style.*.36=
    # Indentation guides
    style.*.37=fore:#C0C0C0,back:#FFFFFF
        打印配置:
    # Printing - only works on Windows
    if PLAT_WIN
        #print.colour.mode=1
        print.magnification=-1
        # Setup: left, right, top, bottom margins, in local units:
        # hundredths of millimeters or thousandths of inches
        print.margins=1500,1000,1000,1500
        # Header/footer:
        # && = &; &p = current page
        # &f = file name; &F = full path
        # &d = file date; &D = current date
        # &t = file time; &T = full time
        print.header.format=$(FileNameExt) ?Printed on $(CurrentDate), $(CurrentTime) ?Page $(CurrentPage)
        print.footer.format=$(FilePath) ?File date: $(FileDate) ?File time: $(FileTime)
        # Header/footer style
        print.header.style=font:Arial,size:12,bold
        print.footer.style=font:Arial Narrow,size:10,italics
        警告提示音配置:
    # Warnings - only works on Windows and needs to be pointed at files on machine
    #if PLAT_WIN
    #    warning.findwrapped=100,E:\Windows\Media\SFX\Boing.wav
    #    warning.notfound=0,Effect.wav
    #    warning.wrongfile=0,Glass.wav
    #    warning.executeok=0,Fanfare.wav
    #    warning.executeko=100,GlassBreak.wav
    #    warning.nootherbookmark=100,Boing2.wav
        语言菜单的配置,不希望在语言菜单的下拉菜单列表中出现语言就在这里把它注释掉(行首加#号),新加入的语言同样可以在这里添加。
    # Define the Lexer menu,
    # Each item contains three parts: menu string | file extension | key
    # The only keys allowed currently are based on F-keys and alphabetic keys and look like
    # [Ctrl+][Shift+][Fn|a] such as F12 or Ctrl+Shift+D.
    # A '&' may be placed before a letter to be used as an accelerator. This does not work on GTK+.
    menu.language=\
    #FreeBasic|bas||\
    Text|txt|Shift+F11|\
    Ada|ads||\
    #Apache Confi&g|conf||\
    Assembler|asm||\
    #ASN.1|asn1||\
    #Avenue|ave||\
    #Baan|bc||\
    &Batch|bat||\
    #Bullant|ant||\
    &C / C++|c||\
    #CMake|cmake||\
    C&#|cs||\
    #Csound|orc||\
    CSS|css||\
    D|d||\
    &Difference|diff||\
    #&Eiffel|e||\
    #Erlang|erl||\
    &Errorlist|err||\
    #FlagShip|prg||\
    &Fortran|f90||\
    H&ypertext|html|F12|\
    #&InnoSetup|iss||\
    &Java|java||\
    Java&scrīpt|js||\
    #&Kix|kix||\
    TeX|tex||\
    Lisp|lisp||\
    #Lot|lot||\
    #Lout|lt||\
    Lu&a|lua||\
    Matlab|m.matlab||\
    &Makefile|mak|Ctrl+Shift+F11|\
    #MetaPost|mp||\
    #MMIXAL|mms||\
    #&nnCron crontab|tab||\
    #NSIS|nsis||\
    #Objective Caml|ml||\
    #Octave|m.octave||\
    #Opal|impl||\
    Pascal|pas||\
    Pe&rl|pl||\
    P&HP|php||\
    #P&LSQL|spec||\
    &Properties|properties||\
    #P&ostscrīpt|ps||\
    #P&OV-Ray SDL|pov||\
    Pytho&n|py||\
    #Reso&urce|rc||\
    Ruby|rb||\
    Shell|sh||\
    S&QL|sql||\
    #Specman|e||\
    &TCL|tcl||\
    &VB|vb||\
    VBScr&ipt|vbs||\
    #Verilog|v||\
    #VHDL|vhd||\
    &XML|xml|Shift+F12|\
    YAML|yaml||
        SciTE 支持的语言,下面的配置只有更改Global.properties文件才会生效,改user.properties文件是不起作用的,每种语言都对应 SciTE文件目录中的*.properties文件,新加入的语言必须先把properties文件复制到SciTE目录中,然后在Global中更改 下面的语言支持配置,比如目录中有php.properties文件,那么就在下面加上一句:import php,需要注意的是必须和语法文件同名。
    # Import all the language specific properties files
    import ada
    import asm
    #import asn1
    #import au3
    import ave
    import baan
    #import freebasic
    #import blitzbasic
    #import bullant
    import caml
    import conf
    import cpp
    #import cmake
    import d
    #import csound
    import css
    import eiffel
    import erlang
    import escrīpt
    #import flagship
    #import forth
    import fortran
    import html
    #import inno
    #import kix
    import lisp
    import lot
    #import lout
    import lua
    import matlab
    import metapost
    import mmixal
    #import nncrontab
    #import nsis
    #import opal
    import others
    import pascal
    import perl
    import pov
    import ps
    #import purebasic
    import python
    #import rebol
    import ruby
    #import scrīptol
    #import smalltalk
    #import spice
    import sql
    #import specman
    import tcl
    import tex
    import vb
    import yaml
    #import verilog
    #import vhdl

    哦,好了,现在你已经会对SciTE进行基本的配置了,就是说你可以开始使用它了,现在用起来还会说“什么玩意儿”吗?文 章太长了,还是分成两篇来写,(上)就写到这里,最后还是要提醒大家不要直接改Global文件,而要改Users文件,把Global文件的内容全部复 制到Users文件里。写本文的时候,SciTE的最新版本是1.73,本文也是以1.73版来讲的。(下)篇主要讲语法高亮文件的配置,缩略语的定义与 使用,代码自动完成的配置及使用技巧。当然了,SciTE支持的语言实在是太多了,我的重点放在HTML,CSS,JS,PHP,以及它们的混合语法配 置。等(下)写完了会在这里给出链接地址,也可以直接来我的空间里找到,敬请关注。谢谢大家的支持。——你的舒服是我的幸福!
       
    http://www.scintilla.org/
        语言文件(有中文):
       
    http://scintilla.sourceforge.net/SciTETranslation.html
        语法文件和API文件:
       
    http://scintilla.sourceforge.net/SciTEExtras.html
  • 关于JAVA的一个初级问题

    2007-05-10 02:32:36

    在问题之前,我只能谢谢上面一篇的网友的回复,实在不敢当什么“高手”,惭愧中,java也是初学者而已啦。
      因为这次发现很小小的问题,所以就顺便提一下,希望有知道的朋友能告诉下啦,集思广益。请各位多多执教!

    我已经配置好了java的xp系统下的环境,还有环境变量,就是无法在自己的系统里面的E盘根目录下面运行javac还有java程序,其他还有在桌面的位置也不能运行,其他位置就可以运行了。我用的是EditPlus来编写的很小的java程序做出来的试验的,这也是无意中发现的。
    不过,在cmd的窗口里却是什么地方都运行成功了哦。

    在自己的E盘里,有时无法编译javac成功,更别提java了。有时能编译成功javac,class文件也出来了,却还是无法运行java,报错:
    java.lang.NoClassDefFoundError: helloworld
    Exception in thread "main"
       有没有知道的朋友帮忙解释下原因。

    我的配置xp 1800+,512MB,64mb显存,250GB硬盘。
    参考http://www.chinaunix.net/jh/26/348676.html 这个来配置了EditPlus的。

     我编写的小程序是 helloworld.java     :


    class helloworld
    {
        public static void main(String[] args)
        {
            System.out.println("Hello World!");
        }
    }



    //
    我的QQ:35830757
    E-mail:jinbu2002cn@yahoo.com.cn

  • [转帖]Unix体验中心──免费的Unix/Linux服务器体验和测试平台

    2007-05-09 21:26:32

    [转帖] Unix体验中心──免费的Unix/Linux服务器体验和测试平台

       http://blog.s135.com/read.php/238.htm
        在该网站上注册一个帐号,就可以拥有该站提供的多台Solaris、Fedora等Unix/Linux服务器的登录帐号。对于想学习Unix/Linux系统,却又苦于没有合适的环境和条件的教师、学生和工程人员来说,这是一份不错的免费资源。

      Unix体验中心:http://www.unix-center.net/
      可以上传、下载文件的SSH客户端软件--SecureCRT:http://blog.s135.com/read.php/207.htm

      以下简介信息摘自Unix体验中心:

      Unix体验中心(Unix-Center.Net)的目标是为研究、学习和使用各种版本的Unix和类Unix操作系统的教师、学生和工程技术人员提供一个体验和测试各种版本的Unix和类Unix系统的软硬件平台。该平台能够为所有注册用户免费提供如下服务:

      -- SSH登录
      -- C/C++,Fortran,Java,Ruby,Python,Perl,Common Lisp等多种语言开发工具

       本站的注册用户可以远程登录进入多个不同的系统,享受该系统上普通用户的所有权限,学习和使用各种版本的Unix和类Unix操作系统的常用命令和功 能。开发人员更可以将自己正在开发的应用程序上载到Unix体验中心的服务器,在不同的软硬件平台上编译和运行,充分体验多处理器、多核、多线程的高性能 计算的乐趣。

      到目前为止,本站已经有五个系统正式投入使用,如下:

      T1000/Solaris系统:
      硬件环境:1 颗UltraSPARC T1芯片,CPU 主频为1.0 GHz,八核四线程配置8 GB内存
      软件环境:Solaris 10 Update 3 for SPARC
      机器域名:t1000.unix-center.net(公网),t1000-edu.unix-center.net(教育网)

      X4100/Solaris系统:
      硬件环境:2 颗双核单线程的AMD Opteron 280芯片,CPU 主频为2.4 GHz,配置4 GB内存
      软件环境:Solaris 10 Update 3 for x86/x64
      机器域名:x4100.unix-center.net(公网),x4100-edu.unix-center.net(教育网)

      PE860/Solaris系统:
      硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置1 GB内存
      软件环境:Solaris 10 Update 3 for x86/x64
      机器域名:solaris.unix-center.net(公网),solaris-edu.unix-center.net(教育网)

      PE860/Fedora系统:
      硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置1 GB内存
      软件环境:Fedora Core 6
      机器域名:fedora.unix-center.net(公网),fedora-edu.unix-center.net(教育网)

      龙芯福珑系统:
      硬件环境: 3 台配置龙芯2E处理器的龙芯福珑计算机,CPU 主频为666 MHz,配置256 MB内存
      软件环境:Debian Linux for MIPS
      机器域名:仅限内网连接

      在2007年6 月底之前,本站还将增加一批新的服务器,届时将可以为网友提供FreeBSD和Ubuntu等多个版本的Unix和类Unix操作系统。

  • [转贴]本人欣赏这个“钢笔手写体生成”功能

    2007-05-05 23:18:38

    这个网友的功能实现很好玩,虽然这样的钢笔字我不喜欢,但是功能的想法效果还是很值得学习借鉴的。报着学习的态度转贴别人的blog。张先生更象个全才,很实在的技术。羡慕中!真是自愧不如啊。。。。。
     http://blog.s135.com/read.php/237.htm
    用PHP程序+GD库+TTF字体编写的一款Web版《钢笔手写体生成工具 V1.0》。源代码公开。

      演示网址(可在该网址在线生成钢笔手写体文章PNG图片):

      http://www.s135.com/font/

      源代码及字体完整压缩包下载:
      http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=1574974
      //但是不知道为什么我无法下载,我用的是linux下的ubuntu操作系统,firefox来下的。只能下到一半就突然完成可是却失败无法打开了。各位网友有没有谁下得到了,记得加我QQ35830757或者发一份给我,我的邮箱:jinbu2002cn@yahoo.com.cn。心存感激中!!
     
      主体PHP程序源代码(index.php):
    1. <?php  
    2. /* 
    3. * 文件名称:index.php 
    4. * 摘    要:钢笔手写体生成工具 
    5. * 作    者:回忆未来[张宴] 
    6. * 博    客:blog.s135.com 
    7. * 演    示:s135.com/font/ 
    8. * 版    本:1.0 
    9. * 时    间:2007-05-05 
    10. */  
    11. $text = $_POST["text"];  
    12. if ($text != "")  
    13. {  
    14.     $text = explode("\r\n"$text);  
    15.     $text_temp = "";  
    16.     $t = 0;  
    17.     foreach ($text as $key => $value)  
    18.     {  
    19.         $text_split = str_split($value, 50);  
    20.         foreach ($text_split as $key_split => $value_split)  
    21.         {  
    22.             $text_temp[$t] = $value_split;  
    23.             $t++;  
    24.         }  
    25.     }  
    26.     $text = $text_temp;  
    27.   
    28.     $text_count = count($text);  
    29.   
    30.     $fontname = "FZJLJT.FON";  
    31.     $im = imagecreate(600, $text_count * 29);  
    32.     $white = ImageColorAllocate($im, 255, 255, 255);  
    33.     $black = ImageColorAllocate($im, 0, 0, 0);  
    34.     $red = ImageColorAllocate($im, 255, 0, 0);  
    35.   
    36.     for ($n = 0; $n < $text_count$n++)  
    37.     {  
    38.         $value = $text[$n];  
    39.         $value_length = strlen($value);  
    40.         $value_count = 0;  
    41.         for ($i = 0; $i < $value_length$i++)  
    42.         {  
    43.             if (ord($value{$i}) > 127)  
    44.             {  
    45.                 $value_count++;  
    46.             }  
    47.         }  
    48.         if ($value_count % 2 != 0)  
    49.         {  
    50.             //$text[$n] = substr($value, 0, $value_length - 1);  
    51.             //$text[$n + 1] = substr($value, -1, 1) . $text[$n + 1];  
    52.             $text[$n] = $value . substr($text[$n + 1], 0, 1);  
    53.             $text[$n + 1] = substr($text[$n + 1], 1, strlen($text[$n + 1]) - 1);  
    54.         }  
    55.     }  
    56.     $text = implode("\r\n"$text);  
    57.     for ($n = 0; $n <= 1; $n++)  
    58.     {  
    59.         ImageTTFText($im, 18, 0, 2, 30, $black$fontname, iconv("GBK""UTF-8"$text));  
    60.     }  
    61.     $dir = "images/";  
    62.     if (is_dir($dir))  
    63.     {  
    64.         if ($dh = opendir($dir))  
    65.         {  
    66.             while (($file = readdir($dh)) !== false)  
    67.             {  
    68.                 if (filetype($dir . $file) == "file")  
    69.                 {  
    70.                     unlink($dir . $file);//删除文件  
    71.                 }  
    72.             }  
    73.             closedir($dh);  
    74.         }  
    75.     }  
    76.     $file_name = $dir . md5($text) . ".png";  
    77.     ImagePng($im$file_name);  
    78.     ImageDestroy($im);  
    79. }  
    80. else  
    81. {  
    82.     $file_name = "welcome.png";  
    83. }  
    84. ?>  
    85. <html>  
    86. <head>  
    87. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
    88. <title>钢笔手写体生成工具 V1.0</title>  
    89. </head>  
    90. <body bgcolor="#000000">  
    91. <center>  
    92. <form id="form1" name="form1" method="post" action="">  
    93. <label>  
    94. <font color="#FFFFFF">钢笔手写体生成工具 V1.0 by 回忆未来[张宴]</font><BR />  
    95. </label>  
    96. <label>  
    97. <textarea name="text" cols="82" rows="15" id="text"></textarea>  
    98. <BR />  
    99. </label>  
    100. <label>  
    101. <input name="提交" type="submit" value="生成钢笔手写体" /><BR />  
    102. </label>   
    103. </form>  
    104. <font color="#FFFFFF" size="2">请在下图上点击鼠标右键,选择“图片另存为”将生成的钢笔手写体PNG图片保存到本地。本站不作保存。</font><br>  
    105. <img src="<?= $file_name ?>" border="0">  
    106. </center>  
    107. </body>  
    108. </html> 

  • [转帖]有关XP与ubuntu双系统及grub引导

    2007-05-03 22:20:22

    有关XP与ubuntu双系统及grub引导

    分类:linux
    我N次的看到如我一样的新手们发些关于XP与ubuntu共存后的grub引导的求助帖子,其实各大论坛 林林散散的都有介绍,可系统一点的帖子却很少见到,也许高手们不屑为之吧。我在这里也只是结合自己的实践经验谈谈我的心得体会,希望能给挣扎在XP与 linux之间的朋友一些帮助。[高手们可以闭着眼睛闪先:)]

    1、原先有XP系统,后装ubuntu[当然要成功安装的,不成功安装,你说该怎么办呢?:)],但grub却未成功安装,导致一个系统也进不了。其中可分两种情况:

    A \\grub缺少menu.lst,但可直接进入命令行,这是我第一次安装redhat时遇到的情况。
    解决方法:

    引导XP系统
    grub>
    代码:
    rootnoverify (hd0,0)  //一般情况,XP被安装在C盘;也可按tab键查看各分区,以获得系统盘系数。
    makeactive
    chainloader +1
    boot


    引导ubuntu系统
    grub>
    代码:
    root (hdX,Y)  //这里的x为硬盘序列,若你的linux安装在第一块硬盘上,X=0;在第二块硬盘上,X=1;在第三块硬盘上[我先晕一下。。。],依次类推。Y是那块硬盘上的分区序列,也可通过tab查看;以获得linux的安装分区序列;
    kernel /boot/vmlinuz-*** root=/dev/sdaZ ro  //这里的Z=Y+1; ***为ubuntu版本号,可同样按tab键补全。
    initrd /boot/initrd.img-***[同上]
    boot


    注:如若是这种情况的,成功进入ubuntu之后,需要自己建立并编写menu.lst文件,形如:
    代码:
    default 0  //表示默认启动为第一个title,要想设为默认启动为第二个,你说是default X?这也不知道的话,还是去使用XP吧:(
    timeout 10  //不用注释了吧?[楼主废话可真多。。。不要骂我]

    title   Ubuntu, kernel 2.6.15-26-386
    root   (hd0,7)
    kernel   /boot/vmlinuz-2.6.15-26-386 root=/dev/sda8 ro quiet splash
    initrd   /boot/initrd.img-2.6.15-26-386
    savedefault
    boot

    title   Ubuntu, kernel 2.6.15-26-386 (recovery mode)
    root   (hd0,7)
    kernel   /boot/vmlinuz-2.6.15-26-386 root=/dev/sda8 ro single
    initrd   /boot/initrd.img-2.6.15-26-386
    boot

    title   Other operating systems:
    root

    title   Microsoft Windows XP Professional
    root   (hd0,0)
    savedefault
    makeactive
    chainloader   +1

    里面的具体参数自己确定了,什么?不懂?倒。。。我还以为像我这样垃圾的linuxer会很多的,别看不起自己:)

    B \\启动后说grub错误的,grub完全没法正常工作!这种情况很多见,做起来也有些麻烦。
    解决方法:

    第一步:修复传说中的mbr。
    有XP安装盘吧?有!很好,从XP安装盘启动先,进入修复控制台[这个没有问题吧?其中可能会提示输入所安装的XP系统序列,输入一个非零值即 可;随后就是管理员密码],执行fixmbr,以修复主引导区;附带说明一句:若在控制台中根本无法访问XP系统盘的,可先执行fixroot,但前提是 XP系统盘无严重问题,有问题的不在本帖讨论范围之内。提示成功修复引导区之后,restart重启,或使用dos界面下通用三键组合“ctrl+alt +del”重启也行滴说:)

    第二步:XP下利用wingrub引导ubuntu。
    wingrub在souceforge中有下载,而且有关它的使用,也是傻瓜式的,有linuxsir上的北南南北前辈--“老年人”略显罗嗦的帖子为证:http://www.linuxsir.org/bbs/showthread.php?t=214551
    提示:最好安装到c盘下的boot.ini[XP隐藏的系统文件]中,以后清除也方便;前辈的话当然要听,但我们只要学到上面的帖子的一点,这个问题也就解决了,那帖子大概是完备教程吧。

    第三步:在ubuntu下安装grub。
    进入ubuntu下,执行sudo nautilus之后,删除/boot/grub整个文件夹,当然要备份先!再安装grub:
    代码:
    sudo grub-install /dev/sda  //将grub安装到mbr主引导区上。

    安装确实得费些时间,请耐心等待。此时安装的grub也没有menu.lst,需要自己建立并编写menu.lst文件,方法goto本帖1-A-注。

    第四步:删除XP下的wingrub启动项。
    ubuntu下安装的grub的menu.lst保存后重启系统,可顺利进入XP,删除c:\boot.ini中刚才生成的最后一行,形如: boot="c:\***"[你自己在wingrub程序生成启动文件时起的名];再清除c根目录下一个wingrub生成的引导文件,具体名我现在也忘 了。:( 但可以肯定它不是隐藏文件!

    OK,有关先安装XP后安装ubuntu的,还有什么问题?一起来讨论一下吧。

    2、ubuntu安装成功后,又重装XP的情况的;由于XP不为人知的“古怪的习性”,mbr主引导区是肯定要被覆盖的。重启之后原先的grub引导不会出现了,直接进入XP登陆界面,XP对linux完全视而不见。这时可goto本帖1-B-第二步,顺利解决问题。

    由于wingrub确实没有linux下的grub好用,不能随linux下的系统更新而相应动作,所以强烈建议使用linux下的grub去引导双系统,甚或多系统!
  • C#实现类似qq的屏幕截图程序 转

    2007-05-03 13:39:00

    C#实现类似qq的屏幕截图程序 转

    因为近来想写个类似于远程桌面监控的程序,该程序中要用到屏幕捕捉.为实现该程序的一部分功能,做了个小DEMO.程序很简单,用到的技术也不多,只能实现类似qq的截图功能(方法虽然很笨)
    程序流程如下:

    1.截取整个屏幕并保存
    2.新开一个全屏窗口,将保存的屏幕作为背景
    3.鼠标拖动改变截取范围,右键取消
    4.双击截取,保存在粘贴板,全屏窗口关闭

    好了,下面的是代码部分

    首先新建一个项目ScreenCutter(VS2005),将窗体名改为MainForm,再新建一个窗体ScreenBody.
    添加一个按钮btnCutter到ScreenCutter并添加按钮事件:
            private void btnCutter_Click(object sender, EventArgs e)
            {
                Image img 
    = new Bitmap(Screen.AllScreens[0].Bounds.Width, Screen.AllScreens[0].Bounds.Height);
                Graphics g 
    = Graphics.FromImage(img);
                g.CopyFromScreen(
    new Point(00), new Point(00), Screen.AllScreens[0].Bounds.Size);
                ScreenBody body 
    = new ScreenBody();
                body.BackgroundImage 
    = img;
                body.Show();
            }
    Screen.AllScreens[0]是获取当前所有设备窗口的第一个,我这里只有一个显示器,当然我就是第一个.
    利用Graphics的CopyFromScreen函数获取当前屏幕.

    好了,现在按下按钮全屏窗口就会出来了.

    下面讲全屏窗口ScreenBody,首先设置窗体的FormBorderStyle为None,然后声明以下变量
    private Graphics MainPainter;  //主画笔
    private Pen pen;               //就是笔咯
    private bool isDowned;         //判断鼠标是否按下
    private bool RectReady;         //矩形是否绘制完成
    private Image baseImage;       //基本图形(原来的画面)
    private Rectangle Rect;        //就是要保存的矩形
    private Point downPoint;        //鼠标按下的点
    int tmpx;                    
    int tmpy;

    之后就是窗体的鼠标函数了,里面很多代码都没有作出整理,看了一下,整理后的代码应该会更少更精简的



    private void ScreenBody_DoubleClick(object sender, EventArgs e)
    {
        
    if (((MouseEventArgs)e).Button == MouseButtons.Left &&Rect.Contains(((MouseEventArgs)e).X, ((MouseEventArgs)e).Y))
        {
            //保存的时候有很多种方法的......我这里只用了这种
            Image memory 
    = new Bitmap(Rect.Width, Rect.Height);
            Graphics g 
    = Graphics.FromImage(memory);
            g.CopyFromScreen(Rect.X 
    + 1, Rect.Y + 100, Rect.Size);
            Clipboard.SetImage(memory);
            
    this.Close();
        }
    }

    private void ScreenBody_MouseDown(object sender, MouseEventArgs e)
    {
        
    if (e.Button == MouseButtons.Left)
        {
            isDowned 
    = true;
            
            
    if (RectReady == false)
            {
                Rect.X 
    = e.X;
                Rect.Y 
    = e.Y;
                downPoint 
    = new Point(e.X, e.Y);
            }
            
    if (RectReady == true)
            {
                tmpx 
    = e.X;
                tmpy 
    = e.Y;
            }

        }
        
    if (e.Button == MouseButtons.Right)
        {
            
    if (RectReady != true)
            {
                
    this.Close();
                
    return;
            }
            MainPainter.
    DrawImage(baseImage, 00);
            RectReady 
    = false;
        }

    }

    private void ScreenBody_MouseUp(object sender, MouseEventArgs e)
    {
        
    if (e.Button == MouseButtons.Left)
        {
            isDowned 
    = false;
            RectReady 
    = true;
        }
    }

    private void ScreenBody_MouseMove(object sender, MouseEventArgs e)
    {

        
    if (RectReady == false)
        {
            
    if (isDowned == true)
            {
                Image New 
    = DrawScreen((Image)baseImage.Clone(), e.X, e.Y);
                MainPainter.DrawImage(New, 
    00);
                New.Dispose();
            }
        }
        
    if (RectReady == true)
        {
            
    if (Rect.Contains(e.X, e.Y))
            {
                
    //this.Cursor = Cursors.Hand;
                if (isDowned == true)
                {
                    
    //和上一次的位置比较获取偏移量
                    Rect.X = Rect.X + e.X - tmpx;
                    Rect.Y 
    = Rect.Y + e.Y - tmpy;
                    
    //记录现在的位置
                    tmpx = e.X;
                    tmpy 
    = e.Y;
                    MoveRect((Image)baseImage.Clone(), Rect);
                }
            }

        }
        
    }

    private void ScreenBody_Load(object sender, EventArgs e)
    {
        
    this.WindowState = FormWindowState.Maximized;
        MainPainter 
    = this.CreateGraphics();
        pen 
    = new Pen(Brushes.Blue);
        isDowned 
    = false;
        baseImage 
    = this.BackgroundImage;
        Rect 
    = new Rectangle();
        RectReady 
    = false;
    }


    辅助函数
    本来应该写更多的辅助函数的,将窗体响应函数里面的代码放到里面来,不过本人很懒,就这样将就了.呵呵


    private void DrawRect(Graphics Painter, int Mouse_x, int Mouse_y)
    {
        
    int width = 0;
        
    int heigth = 0;
        
    if (Mouse_y < Rect.Y)
        {
            Rect.Y 
    = Mouse_y;
            heigth 
    = downPoint.Y - Mouse_y;
        }
        
    else
        {
            heigth 
    = Mouse_y - downPoint.Y;
        }
        
    if (Mouse_x < Rect.X)
        {
            Rect.X 
    = Mouse_x;
            width 
    = downPoint.X - Mouse_x;
        }
        
    else
        {
            width 
    = Mouse_x - downPoint.X;
        }
        Rect.Size 
    = new Size(width, heigth);
        Painter.DrawRectangle(pen, Rect);
    }

    private Image DrawScreen(Image back, int Mouse_x, int Mouse_y)
    {
        Graphics Painter 
    = Graphics.FromImage(back);
        DrawRect(Painter, Mouse_x, Mouse_y);
        
    return back;
    }
    private void MoveRect(Image image, Rectangle Rect)
    {
        Graphics Painter 
    = Graphics.FromImage(image);
        Painter.DrawRectangle(pen, Rect.X, Rect.Y, Rect.Width, Rect.Height);
        DrawRects(Painter);
        MainPainter.DrawImage(image, 
    00);
        image.Dispose();
    }
     

    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1595395

  • 简单的EditPlus for JAVA配置

    2007-04-30 19:37:48

    先要将JAVA的运行环境安装并且调试好。
      首先,从菜单“工具(Tools)”->“配置用户工具...”进入用户工具设置。
      在类别里展开“工具”树形菜单->“用户工具”,选择“组和工具项目”中的“Group 1”,点击面板右边的“组名称...”按钮,将文本“Group1”修改成“编译JAVA程序”。
      然后选择修改的组“编译JAVA程序”,点击“添加新工具”按钮,选择程序,建立“新建程序”,选中它。
      然后就是最重要的步骤(修改属性):
      
      1.1 添加编译功能
      “菜单文字”里的内容修改为“JAVAC”;
      “命令”选择安装JDK后的BIN目录中的编译程序JAVAC.EXE,如果JDK 安装路径为“c:\jdk”,那么此路径为“c:\jdk\bin\javac.exe”;
      “参数”选择“文件名称”,即显示为“$(FileName)”;
      “初始目录”选择“文件目录”,显示为“$(FileDir)”;
      选择“捕获输出”复选框。
      
      1.2 添加执行功能
      “菜单文字”里的内容修改为“JAVA”;
      “命令”选择安装JDK后的BIN目录中的编译程序JAVA.EXE,路径为“c:\jdk\bin\java.exe”;
      “参数”选择“文件名(不含扩展名)”,即显示为“$(FileNameNoExt)”;
      “初始目录”选择“文件目录”,显示为“$(FileDir)”;
      选择“捕获输出”复选框。
      这样就完成了基本的配置工作
  • 看看这个是否正常?在ubuntu下的制作iso文件

    2007-04-30 01:06:33

    当然,这些都是不怎么重要的。
    今天晚上突然来了3个上了50岁的老人来跟我讲“大道理”,其实我也知道怎么样都会有一些人晚上想来活动什么的,没有想到呵呵。讲了些不能让我感动的“大道理”,至少那些东西我几年前就铁定听到并实践过的。是什么是该重要的,是对的,我会仔细听的但是他们讲的简直过于经验主义。还有一个自称这个城市第一个硕士研究生,还去代表本市去参加知识竞赛什么的其实都是一般人而已。可以肯定的是,他不是我见过的第一个硕士生或者博士生了。


    算了,帖一个不知道是否正常的东西。有志的朋友可以看看这样的制作iso耗费的时间是否正常,我的cpu1800+超频到2400+来用的。BO核心。
    lee@lee:~$ cd /home/lee/Desktop/datas
    lee@lee:~/Desktop/datas$ mkisofs -o datas.iso /home/lee/Desktop/datas
    INFO:   UTF-8 character encoding detected by locale settings.
            Assuming UTF-8 encoded filenames on source filesystem,
            use -input-charset to override.
    Using _____000.rar;1 for  /home/lee/Desktop/datas/ime/许传友35万词库紫光版.rar (紫光超百万词库更新版ciku.rar)
    Using tutor000.zip;1 for  /home/lee/Desktop/datas/java/tutorial_aug_4_06.zip (tutorial.zip)
      1.76% done, estimate finish Sun Apr 29 20:27:09 2007
      3.51% done, estimate finish Sun Apr 29 20:27:38 2007
      5.27% done, estimate finish Sun Apr 29 20:27:28 2007
      7.02% done, estimate finish Sun Apr 29 20:27:24 2007
      8.78% done, estimate finish Sun Apr 29 20:27:44 2007
     10.53% done, estimate finish Sun Apr 29 20:27:38 2007
     12.29% done, estimate finish Sun Apr 29 20:27:34 2007
     14.04% done, estimate finish Sun Apr 29 20:27:38 2007
     15.80% done, estimate finish Sun Apr 29 20:27:41 2007
     17.55% done, estimate finish Sun Apr 29 20:27:32 2007
     19.31% done, estimate finish Sun Apr 29 20:27:35 2007
     21.06% done, estimate finish Sun Apr 29 20:27:33 2007
     22.82% done, estimate finish Sun Apr 29 20:27:36 2007
     24.58% done, estimate finish Sun Apr 29 20:27:34 2007
     26.33% done, estimate finish Sun Apr 29 20:27:36 2007
     28.08% done, estimate finish Sun Apr 29 20:27:31 2007
     29.84% done, estimate finish Sun Apr 29 20:27:33 2007
     31.60% done, estimate finish Sun Apr 29 20:27:32 2007
     33.35% done, estimate finish Sun Apr 29 20:27:30 2007
     35.11% done, estimate finish Sun Apr 29 20:27:32 2007
     36.86% done, estimate finish Sun Apr 29 20:27:28 2007
     38.62% done, estimate finish Sun Apr 29 20:27:30 2007
     40.37% done, estimate finish Sun Apr 29 20:27:29 2007
     42.12% done, estimate finish Sun Apr 29 20:27:31 2007
     43.88% done, estimate finish Sun Apr 29 20:27:30 2007
     45.63% done, estimate finish Sun Apr 29 20:27:29 2007
     47.39% done, estimate finish Sun Apr 29 20:27:28 2007
     49.14% done, estimate finish Sun Apr 29 20:27:28 2007
     50.90% done, estimate finish Sun Apr 29 20:27:27 2007
     52.65% done, estimate finish Sun Apr 29 20:27:27 2007
     54.41% done, estimate finish Sun Apr 29 20:27:26 2007
     56.16% done, estimate finish Sun Apr 29 20:27:25 2007
     57.92% done, estimate finish Sun Apr 29 20:27:27 2007
     59.67% done, estimate finish Sun Apr 29 20:27:26 2007
     61.43% done, estimate finish Sun Apr 29 20:27:27 2007
     63.19% done, estimate finish Sun Apr 29 20:27:30 2007
     64.94% done, estimate finish Sun Apr 29 20:27:33 2007
     66.70% done, estimate finish Sun Apr 29 20:27:32 2007
     68.46% done, estimate finish Sun Apr 29 20:27:33 2007
     70.21% done, estimate finish Sun Apr 29 20:27:31 2007
     71.97% done, estimate finish Sun Apr 29 20:27:32 2007
     73.72% done, estimate finish Sun Apr 29 20:27:31 2007
     75.48% done, estimate finish Sun Apr 29 20:27:31 2007
     77.23% done, estimate finish Sun Apr 29 20:27:30 2007
     78.98% done, estimate finish Sun Apr 29 20:27:32 2007
     80.74% done, estimate finish Sun Apr 29 20:27:32 2007
     82.49% done, estimate finish Sun Apr 29 20:27:30 2007
     84.25% done, estimate finish Sun Apr 29 20:27:30 2007
     86.01% done, estimate finish Sun Apr 29 20:27:29 2007
     87.76% done, estimate finish Sun Apr 29 20:27:30 2007
     89.52% done, estimate finish Sun Apr 29 20:27:30 2007
     91.27% done, estimate finish Sun Apr 29 20:27:28 2007
     93.03% done, estimate finish Sun Apr 29 20:27:28 2007
     94.78% done, estimate finish Sun Apr 29 20:27:27 2007
     96.53% done, estimate finish Sun Apr 29 20:27:28 2007
     98.29% done, estimate finish Sun Apr 29 20:27:28 2007
    Total translation table size: 0
    Total rockridge attributes bytes: 0
    Total directory bytes: 24576
    Path table size(bytes): 168
    Max brk space used 0
    284877 extents written (556 MB)
    lee@lee:~/Desktop/datas$ cd 1
    lee@lee:~/Desktop/datas/1$ mkisofs -o wom.iso /home/lee/Desktop/datas/1
    INFO:   UTF-8 character encoding detected by locale settings.
            Assuming UTF-8 encoded filenames on source filesystem,
            use -input-charset to override.
    Total translation table size: 0
    Total rockridge attributes bytes: 0
    Total directory bytes: 0
    Path table size(bytes): 10
    Max brk space used 0
    3133 extents written (6 MB)
    lee@lee:~/Desktop/datas/1$

  • 在 Ubuntu 中安装 rpm 包

    2007-04-28 16:14:59


    有时候,我们想要使用的软件并没有被包含到 Ubuntu 的仓库中,而程序本身也没有提供让 Ubuntu 可以使用的 deb 包,你又不愿从源代码编译。但假如软件提供有 rpm 包的话,我们也是可以在 Ubuntu 中安装的。

    在 Ubuntu 中安装 rpm 包的步骤为:

    1. 先安装 alien 和 fakeroot 这两个工具,其中前者可以将 rpm 包转换为 deb 包。安装命令为:
      sudo apt-get install alien fakeroot
    2. 将需要安装的 rpm 包下载备用,假设为 package.rpm。
    3. 使用 alien 将 rpm 包转换为 deb 包:
      fakeroot alien package.rpm
    4. 一旦转换成功,我们可以即刻使用以下指令来安装:
      sudo dpkg -i package.deb

    或者直接右键用“GDebi软件包安装程序”来安装deb包。
  • 一些常规ubuntu命令汉化

    2007-04-28 13:53:08

    sudo 参数

    -V 显示版本编号
    -h 会显示版本编号及指令的使用方式说明
    -l 显示出自己(执行 sudo 的使用者)的权限
    -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
    -k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
    -b 将要执行的指令放在背景执行
    -p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
    -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
    -s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
    -H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
    command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令
  • 在ubuntu下制作iso文件的命令

    2007-04-28 13:49:44


    暂时知道的就是

    创建iso文件命令格式:
    mkisofs -o file.iso /location_of_folder/   /location_of_folder/是目标文件夹内的路径。注意:在终端输入上述命令的时候,在哪里位置输入了上述命令则生成的iso文件在就哪里,比如在user@user:~下输入则在那里生成,如果在~/Desktop下面输入,则在桌面生成iso文件。默认如果把若干个.rar文件同时打包成iso文件,默认生成的文件名为file.iso。然后就可以好好导入到其他用途中使用这个iso文件了,比如虚拟机InnoTek VirtualBox 下运行xp系统。感觉这个虚拟机软件并不比vm差,就是我还搞不懂如何共享usb盘进该软件使用。

    //报错:无法导入xp系统中使用。




    制作 iso MD5 文件

    md5sum file.iso > file.iso.md5

    检查 md5 文件。 file.iso 和 file.iso.md5必须在同一文件夹
        
    md5sum -c file.iso.md5
  • 在互联网上非常实用的网址链接

    2007-04-21 08:43:23

  • 转帖 dp.SyntaxHighlighter:在网页中加亮显示源代码的工具

    2007-04-21 08:25:34

    http://blog.s135.com/read.php/226.htm  张宴的博客

    刚刚发现一个老外用Javascrīpt编写的好东西:dp.SyntaxHighlighter。它可以在网页中对各种程序源代码语法进行加亮显示。 支持当前流行的各种编程语言:C#、CSS、C++、Delphi、Java、Javascrīpt、PHP、Python、Ruby、SQL、 Visual Basic、XML / HTML

      下载地址:http://www.dreamprojections.com/syntaxhighlighter/
      演示地址:http://www.dreamprojections.com/syntaxhighlighter/Tests/PHP.html

      使用方法:
      1、假设网页文件test.htm存放在一个目录,则将dp.SyntaxHighlighter解压缩到该目录下的子目录,假设为images
      2、在网页的<head></head>之间插入以下代码:

    1. <link type="text/css" rel="stylesheet" href="images/Styles/SyntaxHighlighter.css"></link>  

      3、在网页要显示程序源代码的地方插入以下代码(其中的class="js"表示以js语法显示源代码,其他可设定的class值分别为c#、css、c、delphi、java、js、php、python、ruby、sql、vb、xml):
    1. <textarea name="code" class="js" rows="15" cols="100">  
    2. 程序源代码放在这儿  
    3. </textarea>  

      4、在网页