返回信息流from http://www.olanguage.org/
this is a sample there
.位模式 32
//头文件引用
.引用头 windows.ohe
.引用头 kernel32.ohe
.引用头 user32.ohe
.引用头 gdi32.ohe
//库文件引用
.引用库 gdi32.lib
.引用库 user32.lib
.引用库 kernel32.lib
//宏定义
.宏开始
ICO_MAIN = 1000h
DLG_MAIN = 1
IDB_1 = 1
IDB_2 = 2
IDC_ONTOP = 101
IDC_SHOWBMP = 102
IDC_ALOW = 103
IDC_MODALFRAME = 104
IDC_THICKFRAME = 105
IDC_TITLETEXT = 106
IDC_CUSTOMTEXT = 107
IDC_BMP = 108
IDC_SCROLL = 109
IDC_VALUE = 110
.宏结束
.数据段
.段结束
.预留段
整型 主程序句柄
整型 位图1句柄
整型 位图2句柄
整型 水平滚动条位置
.段结束
.常量段
单字符串 窗口标题文本1[30] = "O语言控件使用的实例 !"0x00
单字符串 窗口标题文本2[30] = "你的窗口标题已经改变 !"0x00
单字符串 窗口标题文本3[30] = "自定义窗口标题文本"0x00
.段结束
.代码段
函数 主函数() //代码从这里开始执行
GetModuleHandle(NULL)
传送 累加三二=>主程序句柄
DialogBoxParam(主程序句柄,DLG_MAIN,NULL,主对话框过程,NULL)
ExitProcess(NULL)
函数结束
函数 主对话框过程(整型 窗口句柄,整型 窗口消息,整型 参数一,整型 参数二)
单字符串 字符缓冲区[128]
压栈 基址三二
压栈 目的变址三二
压栈 源变址三二
传送 累加三二<=窗口消息
如果:
比较 累加三二<=WM_CLOSE
不等跳转 否则如果1
EndDialog(窗口句柄,NULL)
DeleteObject(位图1句柄)
DeleteObject(位图2句柄)
跳转 结束如果
否则如果1:
比较 累加三二<=WM_INITDIALOG
不等跳转 否则如果2
//设置标题栏图标
LoadIcon(主程序句柄,ICO_MAIN)
SendMessage(窗口句柄,WM_SETICON,ICON_BIG,累加三二)
//初始化组合框
SendDlgItemMessage(窗口句柄,IDC_TITLETEXT,CB_ADDSTRING,0,&窗口标题文本1)
SendDlgItemMessage(窗口句柄,IDC_TITLETEXT,CB_ADDSTRING,0,&窗口标题文本2)
SendDlgItemMessage(窗口句柄,IDC_TITLETEXT,CB_ADDSTRING,0,&窗口标题文本3)
SendDlgItemMessage(窗口句柄,IDC_TITLETEXT,CB_SETCURSEL,0,0)
GetDlgItem(窗口句柄,IDC_CUSTOMTEXT)
EnableWindow(累加三二,FALSE)
LoadBitmap(主程序句柄,IDB_1)
传送 位图1句柄<=累加三二
LoadBitmap(主程序句柄,IDB_2)
传送 位图2句柄<=累加三二
//初始化单选钮和复选框
CheckDlgButton(窗口句柄,IDC_SHOWBMP,BST_CHECKED)
CheckDlgButton(窗口句柄,IDC_ALOW,BST_CHECKED)
CheckDlgButton(窗口句柄,IDC_THICKFRAME,BST_CHECKED)
//初始化滚动条
SendDlgItemMessage(窗口句柄,IDC_SCROLL,SBM_SETRANGE,0,100)
跳转 结束如果
//处理系统菜单消息
否则如果2:
比较 累加三二<=WM_COMMAND
不等跳转 否则如果3
传送 累加三二<=参数一
如果A:
比较 累加一六<=IDCANCEL
不等跳转 否则如果A1
EndDialog(窗口句柄,NULL)
DeleteObject(位图1句柄)
DeleteObject(位图2句柄)
跳转 结束如果A
//更换图片
否则如果A1:
比较 累加一六<=IDOK
不等跳转 否则如果A2
传送 累加三二<=位图1句柄
交换 累加三二<=位图2句柄
传送 累加三二=>位图1句柄
SendDlgItemMessage(窗口句柄,IDC_BMP,STM_SETIMAGE,IMAGE_BITMAP,累加三二)
跳转 结束如果A
//设置是否“总在最前面”
否则如果A2:
比较 累加一六<=IDC_ONTOP
不等跳转 否则如果A3
IsDlgButtonChecked(窗口句柄,IDC_ONTOP)
如果B:
比较 累加三二<=BST_CHECKED
不等跳转 否则B
SetWindowPos(窗口句柄,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE)
跳转 结束如果B
否则B:
SetWindowPos(窗口句柄,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE)
结束如果B:
跳转 结束如果A
//演示隐藏和显示图片控件
否则如果A3:
比较 累加一六<=IDC_SHOWBMP
不等跳转 否则如果A4
GetDlgItem(窗口句柄,IDC_BMP)
传送 基址三二<=累加三二
IsWindowVisible(基址三二)
如果C:
比较 累加三二<=TRUE
不等跳转 否则C
ShowWindow(基址三二,SW_HIDE)
跳转 结束如果C
否则C:
ShowWindow(基址三二,SW_SHOW)
结束如果C:
跳转 结束如果A
//演示允许和灰化“更换图片”按钮
否则如果A4:
比较 累加一六<=IDC_ALOW
不等跳转 否则如果A5
IsDlgButtonChecked(窗口句柄,IDC_ALOW)
如果D:
比较 累加三二<=BST_CHECKED
不等跳转 否则D
传送 基址三二<=TRUE
跳转 结束如果D
否则D:
异或 基址三二<=基址三二
结束如果D:
GetDlgItem(窗口句柄,IDOK)
EnableWindow(累加三二,基址三二)
跳转 结束如果A
否则如果A5:
比较 累加一六<=IDC_MODALFRAME
不等跳转 否则如果A6
跳转 结束如果A
否则如果A6:
比较 累加一六<=IDC_THICKFRAME
不等跳转 否则如果A7
GetWindowLong(窗口句柄,GWL_STYLE)
或 累加三二<=WS_THICKFRAME
SetWindowLong(窗口句柄,GWL_STYLE,累加三二)
跳转 结束如果A
//演示处理下拉式组合框
否则如果A7:
比较 累加一六<=IDC_TITLETEXT
不等跳转 否则如果A8
逻辑右移 累加三二<=16
如果E:
比较 累加一六<=CBN_SELENDOK
不等跳转 结束如果E
SendDlgItemMessage(窗口句柄,IDC_TITLETEXT,CB_GETCURSEL,0,0)
如果F:
比较 累加三二<=2
不等跳转 否则F
GetDlgItem(窗口句柄,IDC_CUSTOMTEXT)
EnableWindow(累加三二,TRUE)
跳转 结束如果F
否则F:
传送 累加三二=>基址三二
SendDlgItemMessage(窗口句柄,IDC_TITLETEXT,CB_GETLBTEXT,基址三二,&字符缓冲区)
SetWindowText(窗口句柄,&字符缓冲区)
GetDlgItem(窗口句柄,IDC_CUSTOMTEXT)
EnableWindow(累加三二,FALSE)
结束如果F:
结束如果E:
跳转 结束如果A
//在文本框中输入文字
否则如果A8:
比较 累加一六<=IDC_CUSTOMTEXT
不等跳转 结束如果A
GetDlgItemText(窗口句柄,IDC_CUSTOMTEXT,&字符缓冲区,?字符缓冲区)
SetWindowText(窗口句柄,&字符缓冲区)
跳转 结束如果A
结束如果A:
跳转 结束如果
//单击鼠标右键时弹出一个POPUP菜单
否则如果3:
比较 累加三二<=WM_RBUTTONDOWN
不等跳转 否则如果4
跳转 结束如果
否则如果4:
比较 累加三二<=WM_HSCROLL
不等跳转 否则
跳转 结束如果
否则:
传送 累加三二<=FALSE
跳转 函数结束地址
结束如果:
传送 累加三二<=TRUE
函数结束地址:
出栈 基址三二
出栈 目的变址三二
出栈 源变址三二
函数结束
//......
.段结束
这是一条镜像帖。来源:北邮人论坛 / soft-design / #5040同步于 2006/3/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
一个有意思的东西
bigeye
2006/3/27镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
太假了 完全一个win32汇编拿中文写出来
居然吹嘘
拥有我们自己的计算机语言是中国人多年的梦想,今天,我们终于有信心地说,这个梦想即将变成现实。O语言就是中国自主的计算机语言,它立足于计算机语言的基础,从计算机汇编语言开始实现,为最终实现中文计算机高级语言扫清了道路。
瞎扯蛋,有本事你不把它翻译成汇编就把他跑起来
这玩意无非就是做了n多字符串替换