CSDN博客

img progsoft

DelphiBBS 第一届 编程竞赛

发表于2004/6/29 21:53:00  997人阅读

1. 来来来,看看你的水平有多高!——Aimingoo送分项目(超过600大元)

http://www.delphibbs.com/delphibbs/dispq.asp?LID=650664

2.  开始评测在上次的“512字节Delphi代码”的计划中的代码,敬请关注。

http://www.delphibbs.com/delphibbs/dispq.asp?LID=1019143

3.  首届 Delphi 编程竞赛结果揭晓!

http://www.delphibbs.com/delphibbs/dispq.asp?lid=1190390

 

偶的足迹

1. 

来自:progsoft, 时间:2001-10-1 23:37:00, ID:654070
凑个热闹,就是chinakiss8848说的自己写自己啦!
原来的程序(336字节):
CONST S:STRING='VAR I:WORD;F:TEXT;BEGIN ASSIGN(F,''M.DPR'');REWRITE(F);WRITE(F,''CONST S:STRING='');FOR I:=1TO LENGTH(S)DO WRITE(F,''#'',ORD(S[I]));WRITE(F,'';''+S);CLOSE(F);END.';VAR I:WORD;F:TEXT;BEGIN ASSIGN(F,'M.DPR');REWRITE(F);WRITE(F,'CONST S:STRING=');FOR I:=1TO LENGTH(S)DO WRITE(F,'#',ORD(S[I]));WRITE(F,';'+S);CLOSE(F);END.
但是写完后,程序变为(632字节)不合要求:
CONST S:STRING=#86#65#82#32#73#58#87#79#82#68#59#70#58#84#69#88#84#59#66#69#71#73#78#32#65#83#83#73#71#78#40#70#44#39#77#46#68#80#82#39#41#59#82#69#87#82#73#84#69#40#70#41#59#87#82#73#84#69#40#70#44#39#67#79#78#83#84#32#83#58#83#84#82#73#78#71#61#39#41#59#70#79#82#32#73#58#61#49#84#79#32#76#69#78#71#84#72#40#83#41#68#79#32#87#82#73#84#69#40#70#44#39#35#39#44#79#82#68#40#83#91#73#93#41#41#59#87#82#73#84#69#40#70#44#39#59#39#43#83#41#59#67#76#79#83#69#40#70#41#59#69#78#68#46;VAR I:WORD;F:TEXT;BEGIN ASSIGN(F,'M.DPR');REWRITE(F);WRITE(F,'CONST S:STRING=');FOR I:=1TO LENGTH(S)DO WRITE(F,'#',ORD(S[I]));WRITE(F,';'+S);CLOSE(F);END.
改为,共398字节:
CONST S:STRING='VAR I:WORD;F:TEXT;BEGIN ASSIGN(F,''M.DPR'');REWRITE(F);WRITE(F,''CONST S:STRING=''#39);FOR I:=1TO LENGTH(S)DO IF S[I]=#39THEN WRITE(F,#39#39)ELSE WRITE(F,S[I]);WRITE(F,#39'';''+S);CLOSE(F);END.';VAR I:WORD;F:TEXT;BEGIN ASSIGN(F,'M.DPR');REWRITE(F);WRITE(F,'CONST S:STRING='#39);FOR I:=1TO LENGTH(S)DO IF S[I]=#39THEN WRITE(F,#39#39)ELSE WRITE(F,S[I]);WRITE(F,#39';'+S);CLOSE(F);END.

不知道符合要求否?  
 
2. 
来自:aimingoo, 时间:2002-4-12 21:15:00, ID:1040672
关于progsoft的一段写自身的程序的评测:

--------
说明:
  代码很简单, 很容易就读完了. 差不多只要学过用Pascal的人都应该会读得懂这段代码. 哈哈.
  代码中没有和任何扩展的单元, 只用了一些基本的Pascal文件操作函数.

  程序应该是这样的:
    1. 将文件WriteSelf.Dpr以重写方式打开
    2. 写一个字符串定义
    3. 将S字符串的内含以#xxx的形式编码写入WriteSelf.Dpr文件. 这个编码实际上还是这个字符串.
    4. 写字符串定义的一些结束标志
    5. 关闭文件


问题:
  说老实话, 我不明白这个程序可以用来做什么. 哈.

  如果这个程序运行, 那么生成的这个结果文件, 即修改后的 WriteSelf.Dpr 文件还有什么用呢?
  仔细想过. 这个别.DPR甚至已经不能被再编译了. 如果说这是对源文件的加密, 那么这种加密方式
也实在太过拙劣了.  
 
来自:progsoft, 时间:2003-4-13 1:05:00, ID:1253825
问题:
  说老实话, 我不明白这个程序可以用来做什么. 哈.
(这个程序改自,1983年ACM图林奖颁奖大会上,UNIX鼻祖,C语言的创始人之一,
图林奖获得着KEN Thompson的程序,源程序用C语言写的)
如下:
char s[]={
 '/t',
 '0',
(221 lines deleted)这个地方原文删了一部分
 0
};
main()
{
 int i;
 printf("char /ts[]={/n");
 for(i=0;s[i],i++)
 printf("/t%d,/n",s[i]);
 printf("%s",s);
}

  如果这个程序运行, 那么生成的这个结果文件, 即修改后的 WriteSelf.Dpr 文件还有什么用呢?
(没什么很大的意思,但是据说KEN发表这个后,就出现了最初的病毒,好像是病毒程序自我复制的一种实现把。
  我这个程序修改后的程序,还可以生成自己呀。如果不是字节限制,可以做一个由0.dpr生成1.dpr,1.dpr生成2.dpr
  …………,反正就是娱乐而已

  仔细想过. 这个别.DPR甚至已经不能被再编译了. 如果说这是对源文件的加密, 那么这种加密方式
也实在太过拙劣了.

  应该可以在编译把,不是对自己加密
)  
 
3.
评出下面有效代码清单:
1. zwma的修改屏幕模式的代码
2. blade11的“使控件不响应/响应事件”的代码
3. Darkiss的SafePtr对象的代码
3. l_x_yuan的使用文本数据集的方法做登录日志的代码
5. netup的成批删除文件的的代码
6. creation_zy的随机数发生器的代码
6. aizb的一段用鼠标绘多边形的程序
8. Brave的实现圆形渐开窗体的示例程序
9. JJams_King的一个实现文本模板的示例程序
10.luyear的一段操作Windows系统桌面的示例
11.progsoft的一段写自身的程序
12.qiubole的一段用于演示面向对象设计中的“多态性”概念的程序
13.SINGLBOY的一段使用递归在TCanvas上作图的程序
14.wolf_cyj的一段测试端口是否以UDP协议打开的程序
15.yhjvc的一段操作注册表来修改IE的首页和标题栏设置的程序
16.yyanghhong的一段将数据库及相关记录显示在TTreeview上的示例程序
17.HubDog的"父子控件嵌套的最小原型例子"
18.zjlcc的修改IE Home Page的代码
19.creation_zy的用来统计源代码有效字符PackSrc()函数
20.wheel的计算Delphi源码字符数的程序
21.aizb的统计字符数的程序

现在,由我非常荣幸地宣布得奖者!

此次竞赛的前三名是:

17.HubDog的"父子控件嵌套的最小原型例子"
18.zjlcc的修改IE Home Page的代码
19.creation_zy的用来统计源代码有效字符PackSrc()函数


此次竞赛的第一名,也就 Borland T 恤得主是
 
0 0

相关博文

我的热门文章

img
取 消
img