以文本方式查看主题

-  中华农历论坛  (http://bbs.nongli.net/index.asp)
--  历法知识  (http://bbs.nongli.net/list.asp?boardid=2)
----  阴阳八卦符动画源码  (http://bbs.nongli.net/dispbbs.asp?boardid=2&id=21715)

--  作者:秦汉昌
--  发布时间:2009/10/10 10:41:00
--  阴阳八卦符动画源码

扩展对象 标题字体对象 继承自 字体对象

 对象事件 标题字体初始:  ( --- )

          字串" 华文中宋" 置字样名: 自源模板
          72 置字体大小: 自源模板
          800 轻重: 自源模板
          假  斜体: 自源模板        
          对象事件。
 
对象。

 

 


扩展对象 八卦符窗口  继承自 窗口对象模板
属性 窗口标题: 编字串" 阴阳八卦变化图" 属性。
属性 开始位置: 自动居中: 自本身  属性。
属性 开始尺寸: 480 380  属性。
属性 最大尺寸: 480 380  属性。
属性 最小尺寸: 480 380  属性。

0 给 横标
0 给 纵标
0 给 乂高


编 显阳符  ( 横坐标 纵坐标 --- )
  双♂ 30 + ↑↓ 300 +  ↑↓  黑色 实心矩形: 设备描述表
  。

编 显阴符  ( 横坐标 纵坐标 --- )
  双♂ 显阳符 ↑↓  135 +  ↑↓
  双♂ 30 + ↑↓ 30 +  ↑↓  白色 实心矩形: 设备描述表
  。

编 显阴阳符  ( 横坐标 纵坐标 阴或阳标志 --- )
   0=
   就     显阴符 
   否则   显阳符
   然后
   。
 
编 显八卦符    ( 八卦符二进制码 横坐标 纵坐标  --- )
   {  横坐标 纵坐标 \\ -- }
   3 0
   ?循环   横坐标 纵坐标 内环数 60 *  +  ∴  显阴阳符 
   回环
   。

编 数转八卦符   ( 八卦序数 --- 地址 长度 )
   字串" 坤艮坎巽震离兌乾"  ♀  ↑↓  2 *  +  2
   。


编 连续显示八卦符
     90 写入  横标  90  写入  纵标
      0 7
     ?循环    
          内环数 2 /余商 2 /余商 2 /余商  ♀  ↑↓  ∴     
           横标  纵标  显八卦符
           白色  置文本颜色: 设备描述表                  
           内环数 7 =
           就    0 
           否则  内环数 1+
           然后 
           数转八卦符   双♂ 计算文本串宽高: 设备描述表  ♀
           横标  纵标 180  + ↑↓  ∴ 2 /  150  ↑↓ - +  ↑↓  双↑↓   文本输出: 设备描述表 
           黑色  置文本颜色: 设备描述表   500 毫秒 
           内环数 数转八卦符   双♂ 计算文本串宽高: 设备描述表  ♀
           横标  纵标 180  + ↑↓  ∴ 2 /  150  ↑↓ - +  ↑↓  双↑↓   文本输出: 设备描述表
           -1
     +回环
     。

 

 


对象事件 初始时:
      标题字体初始: 标题字体对象
      对象事件。


对象事件 绘制时:
      
      0 0 读大小: 自本身 白色 区域填充: 设备描述表
      置背景混合方式:  设备描述表
      黑色  置文本颜色: 设备描述表
 创建: 标题字体对象 句柄: 标题字体对象  设置字体: 设备描述表   双♀
      环首
      连续显示八卦符
      1 0=  就出来  
      对象事件。

对象。


启动: 八卦符窗口

 


--  作者:浪-淘-沙
--  发布时间:2009/10/10 19:57:00
--  

难能可贵,一直坚持用“汉语”进行编程。

殊途同归,只要能得到自己所需的成果,汉编也是很不错的。


--  作者:秦汉昌
--  发布时间:2009/10/10 21:05:00
--  

呵呵,谢谢浪淘沙兄鼓励。

 

    现在,正在了解许兄的万年历代码,希望能对它用汉编进行二次开发,呵!


--  作者:esnake
--  发布时间:2009/10/12 11:36:00
--  
这个中文代码并不比英文代码好懂,看得我很费劲啊
--  作者:秦汉昌
--  发布时间:2009/10/12 23:16:00
--  
以下是引用esnake在2009-10-12 11:36:00的发言:
这个中文代码并不比英文代码好懂,看得我很费劲啊

呵呵,你若熟悉了数摞知识,就不会费劲了

 

比如,我们编一个词:平方,代码如下:

 

编 平方

     ♂   *    。  

 

或者描述得更清楚:

编 复制摞顶

    ♂        。

 

编 平方

    复制摞顶   *    。

 

 

我想这个是容易看懂的,当然,第一次见到这样的程序,肯定有点不习惯,因为汉编用的是后缀表示法,而且,若是有参数的话,就不好理解了。

 

比如平方这个词

 

假如,你知道“♂ ”表示复制,那么你一定能理解:

 

56  ♂    *      的意思 ,它就相当于  56的二次方

 

但是,当有一个带参数的平方词:

编 平方

     ♂   *    。

 

对于没有学过汉编的人来说,确实是有点陌生。

 

如果执行:

 

56  平方     对这个结果,却是容易理解的。


--  作者:esnake
--  发布时间:2009/10/13 16:50:00
--  
谢谢LZ的详细解释,还是在梦中,看来要消化你的代码,必须学习一下汉编才成啊。

我平时用的英文代码:
56^2
或者56**2
或者56*56
都是可以得到56的平方的

习惯的力量太大了
--  作者:秦汉昌
--  发布时间:2009/10/13 20:46:00
--  

呵呵,在前些天的汉编研讨会中,有一个研究汉语编程的教授说,他所带的那些学C语言研究生,很难让他们来适应汉语编程的习惯,看来确实如此呵。


--  作者:秦汉昌
--  发布时间:2009/10/13 21:12:00
--  
  56 ♂   *    与   56**2     ,差不多,都好理解,只是习惯不同而已

--  作者:xuxiaowei
--  发布时间:2009/10/17 22:16:00
--  
其实没有必要搞个汉编,其实只是符号不一样罢了。换汤不换药。

用c语言编程,也不一定要很懂英文。

其实不仅看晕了,也让文面更难懂,更难读,更复杂。讲什么让中国人人会编程,我看更难学会。还不如改拼音。

if (a==0)
  b=1;
else
  b=2;
改成汉语
如果 a=0,则b=1,否则b=2;
有区别吗,还多打字了,编译到二进制还不是一样吗?

--  作者:秦汉昌
--  发布时间:2009/10/19 14:41:00
--  
以下是引用xuxiaowei在2009-10-17 22:16:00的发言:
其实没有必要搞个汉编,其实只是符号不一样罢了。换汤不换药。

用c语言编程,也不一定要很懂英文。

其实不仅看晕了,也让文面更难懂,更难读,更复杂。讲什么让中国人人会编程,我看更难学会。还不如改拼音。

if (a==0)
b=1;
else
b=2;
改成汉语
如果 a=0,则b=1,否则b=2;
有区别吗,还多打字了,编译到二进制还不是一样吗?

你这种思路,就是易语言的模式,它是与C语言的习惯差不多的

 

沈志斌的汉语编程,独创了数摞概念,编程习惯已经改变,对于思维已被传统的编程习惯所固定的人来说,也不是很容易来弄的,它用的是古代数学的逻辑,用后缀表示法来描述数据。

   比如,3*4    其实计5算机在运算时,是要先知道  3  和  4  这两个数  然后再执行  *  这个指令,

 所以汉编以  3 4 *   这种形式来描述,可以提高执行效率,同时也省去了很多优先级。