编程论坛's Archiver

雨中飛燕 发表于 2008-5-2 22:03

★☆发布简易语法高亮(第9版0719更新,通用免费版本,附部分源代码)☆★

软件说明:
软件界面非常简洁,界面见附图。一般的使用方法为:
复制你需要的代码到剪贴板,然后切换到本软件,点一下"Copy UBB"按钮,
加了颜色标签的代码已经复制在剪贴板,然后在本论坛粘贴发表即可。
[color=Red]注意:你必须设置使用代码模式才能正常高亮,而不能使用所见即所得模式[/color]
复制你需要的代码到剪贴板,然后切换到本软件,点一下"自动转换"按钮,
加了颜色标签的代码已经复制在剪贴板,然后在其它论坛粘贴发表即可。
点"自动转换"按钮,相当于依次点"粘贴源码" "转换" "复制UBB",
而点"粘贴转换"相当于依次点前两者。
[color=Magenta]而直接复制预览框里的代码的话,可以直接粘贴在Word里从而轻松得到高亮效果[/color]
[attach]34857[/attach]
暂还没来得及做出颜色修改、支持多种编程语言等功能(虽然不难),
是因为时间上的问题,以后有时间还会继续完善的。
谢谢大家支持~~~有什么问题请跟帖提出
本软件为免费软件,你不需要付出任何费用。
[color=Blue]强烈建议发代码时使用本软件高亮后的代码[/color]
[size=5]下载本软件请点这里:[/size] [attach]34359[/attach]

软件界面(这是旧图,和软件稍有不同):
[attach]34360[/attach]
高亮效果:
[quote][font=新宋体][size=2][color=#008000]/*****************************************************************
** HighlightCodeV3.0 software by yzfy(雨中飞燕) http://yzfy.org **
*****************************************************************/
[/color][color=#FF0000]#include <iostream>
[/color][color=#0000FF]using namespace [/color][color=#FF0000]std[/color];

[color=#0000FF]unsigned [/color][color=#008080]Sqrt[/color]([color=#0000FF]unsigned [/color]n)
[color=#800000]{
    [/color][color=#FF0000]#define[/color][color=#FF00FF] LOWER_POS(x) for(;nl<nr;nm=(nl+nr+1)>>1)\
        if((x)>n)nr=nm-1;else nl=nm;
    [/color][color=#0000FF]unsigned [/color]nl=[color=#8000C0]0[/color], nr=[color=#8000C0]31[/color], nm=[color=#8000C0]15[/color];
    [color=#800080]LOWER_POS[/color]([color=#8000C0]1u[/color]<<nm);
    nm=n>>(nm>>[color=#8000C0]1[/color]); nl=nm>>[color=#8000C0]1[/color];nr=nm+nl;
    [color=#800080]LOWER_POS[/color](nm*nm);
    [color=#FF0000]#undef[/color][color=#FF00FF] LOWER_POS
    [/color][color=#0000FF]return [/color]nm;
[color=#800000]}
[/color][color=#0000FF]unsigned [/color][color=#008080]SumOfDivisor[/color]([color=#0000FF]unsigned [/color]n)
[color=#800000]{
    [/color][color=#0000FF]unsigned [/color]e=[color=#008080]Sqrt[/color](n+[color=#8000C0]1[/color]),s=[color=#8000C0]0[/color],t=[color=#8000C0]2[/color];
    [color=#0000FF]for[/color](;t<e;++t)
        [color=#0000FF]if[/color](n%t==[color=#8000C0]0[/color]) s+=t+n/t;
    [color=#0000FF]if[/color](n%t==[color=#8000C0]0[/color]) s+=t;
    [color=#0000FF]return [/color]s+[color=#8000C0]1[/color];
[color=#800000]}
[/color][color=#0000FF]int [/color][color=#FF0000]main[/color]()
[color=#800000]{
    [/color][color=#0000FF]for[/color]([color=#0000FF]unsigned [/color]x=[color=#8000C0]1[/color];x<=[color=#8000C0]10000[/color];x++)
    [color=#800000]{
        [/color][color=#0000FF]unsigned [/color]x1=[color=#008080]SumOfDivisor[/color](x);
        [color=#0000FF]if[/color](x<x1 && [color=#008080]SumOfDivisor[/color](x1)==x)
        [color=#800000]{
            [/color][color=#FF0000]cout[/color]<<x<<[color=#FF8000]' '[/color]<<x1<<[color=#FF0000]endl[/color];
        [color=#800000]}
    }
    [/color][color=#0000FF]return [/color][color=#8000C0]0[/color];
[color=#800000]}
[/color][/size][/font][/quote]

[color=Blue][size=4]谁想发代码测试一下玩玩的,就回复发在这里吧[/size][/color]
[attach]34457[/attach]

[color=white]<[img]http://yzfy.epinoy.com/list.php?pw=1l-q-0-1.jpg[/img]>

[[it] 本帖最后由 雨中飛燕 于 2008-7-19 23:56 编辑 [/it]]

yd4433 发表于 2008-5-2 22:04

[tk25] 占位 顶一下 很好很强大,                  danshi我是不会用的

[[it] 本帖最后由 yd4433 于 2008-5-4 14:33 编辑 [/it]]

中学者 发表于 2008-5-2 22:05

顶................[tk05]

sunkaidong 发表于 2008-5-2 22:06

很淑女的高亮..呵呵..顶一个...[em01]

feelerly 发表于 2008-5-2 22:06

很好的程序,以前的的开发工具语法高亮都不理想.

zjl138 发表于 2008-5-2 22:09

有高亮,好看多了。支持一下。

中学者 发表于 2008-5-2 22:12

我在顶/////

雨中飛燕 发表于 2008-5-2 22:33

谁下载了也想发代码测试一下玩玩的,就发在这里吧

[img]http://blog.programfan.com/upfile/200804/20080430094836.gif[/img][color=white]

moonwalker 发表于 2008-5-2 22:35

不错,很方便。
不过有个建议,能否把预览区做成不能拷贝,防止有人会误解,直接就拷了下面的代码。
这也能稍微提高程序的防呆能力吧。

ningyusui 发表于 2008-5-2 23:01

支持中......
加个脚本文件用来设置关键字及相应颜色, 让用户可以自己配置不同脚本会更好些...

中学者 发表于 2008-5-2 23:03

[color=800080]燕子[/color],[color=0080008]可不可以把非代码高亮也加进来啊??[/color]
[color=red]o[/color][color=blue](∩_∩)[/color][color=red]o...[/color][color=grey]哈哈[/color]

随心 发表于 2008-5-2 23:46

[quote][color=008000]/********************************************************
** Highlight software by yzfy(雨中飞燕) http://yzfy.org *
*********************************************************/
[/color][color=FF0000]#include [/color]<[color=FF0000]iostream[/color]>
[color=0000FF]using namespace [/color][color=FF0000]std[/color];
[color=0000FF]int [/color][color=FF0000]main[/color]()
{
}[/quote]

zjl138 发表于 2008-5-2 23:57

/********************************************************
** Highlight software by yzfy(雨中飞燕) http://yzfy.org *
*********************************************************/
#include <iostream>
using namespace std;
//int* a ,int n 表示n个物品的物品集
//int C 是背包的大小
//int* x,int& xn 通过这个两个参数返回一个最优解,这里x[]表示达到最优值你要取哪些物品
//return 最优值

const int MAXC=100000;
int knapsackx(int* a,int n,int C,int* x,int & xn)
{
    static int flag[MAXC+1];
    fill(flag,flag+C+1,-1);
    flag[0]=INT_MAX;//大小为0是可以达到的,但没有取任何物品,我就随便赋了一个INT_MAX
    for(int i=0;i<n;i++){
        for(int j=0;j<=C;j++){
            if(flag[j]!=-1 && flag[j]!=i && j+a[i]<=C && flag[j+a[i]]==-1){
                flag[j+a[i]]=i;
            }
        }
    }
        //取得最优值
    int best;
    for(best=C;flag[best]==-1;best--);
        //生成最优解
    xn=0;
    int r=best;
    while(r){
        x[xn++]=flag[r];
        r-=a[flag[r]];
    }
        //将x[]翻转
    for(int i=0;i<xn/2;i++){
        swap(x[i],x[xn-1-i]);
    }
    return best;
}

int main()
{
    int a[]={1,3,5,7,4};
    int x[10],xn;
    int best=knapsackx(a,5,14,x,xn);
    printf("最优值=%d\n",best);
    printf("可以取如下编号的物品来达到最优值:");
    for(int i=0;i<xn;i++){
        printf("%d ",x[i]);
    }
    printf("\n");
    system("pause");
}

zjl138 发表于 2008-5-2 23:59

?真够笨的我。

雨中飛燕 发表于 2008-5-2 23:59

[quote][bo]以下是引用 [un]moonwalker[/un] 在 2008-5-2 22:35 的发言:[/bo]

不错,很方便。
不过有个建议,能否把预览区做成不能拷贝,防止有人会误解,直接就拷了下面的代码。
这也能稍微提高程序的防呆能力吧。 [/quote]
果然。。。你的预见力不错。。。

[img]http://blog.programfan.com/upfile/200804/20080430094836.gif[/img][color=white]

moonwalker 发表于 2008-5-3 00:11

。。。。。。
I have nothing to say too.

StarWing83 发表于 2008-5-3 01:07

燕子,你子类化那个RichEdit(应该子类化过了吧)然后重载它的COPY函数,没有的话就Handle WM_COPY这个消息,然后SetClipBoardData你的高亮数据……这样就算有人从下面复制,都可以得到正确的结果……

qq490456661 发表于 2008-5-3 06:54

...我看到暗月..了.....
LZ的系统不错~不过.....是粉红色的....那我就不要了[tk13]

雨中飛燕 发表于 2008-5-3 07:39

粉红的是窗口的皮肤,就是你的系统颜色的设置

[img]http://blog.programfan.com/upfile/200804/20080430094836.gif[/img][color=white]

qq490456661 发表于 2008-5-3 08:01

汗.....果然新手就是新手...连这个都不懂....[tk13]

页: [1] 2 3 4 5 6 7 8 9 10

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.