翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 3605|回复: 6

[教程] AOC AI Builder 模板制作方法

[复制链接]

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
发表于 2006-1-25 18:07:14 | 显示全部楼层 |阅读模式
兄弟们,春节来了,我可能有一个星期的时间不能上网(忙啊)了,不能管理"翻译模块"的帖子我好惭愧.
另外,我想过了,为了模板文件的发展,我趁着现在还有一点时间公布了模板的制作方法.希望大家都来帮忙.请下载 AOC AI Builder 之后.按照下面的方法学着制作.
  
QS 兄,你看到了吗?这就是我忙碌了半个月时间写的那个内核.你帮我翻译的!

当你打开 AOC AI Builder 之后按下 F9 ,或者点击菜单: 视窗->建立模板.就能进入模板设计 "IDE".
现在开始向你介绍该 "IDE" 的集成界面.
首先是上面的四个按钮 TLabel , TEdit, TCheckbox, TCombobox .
点击他们中的某一个将出现一个控件在面板中,然后你可以用鼠标点击这个新建的控件,拖动和拉拽改变它的位置和大小.在最后的时候,你可以在代码中对这些控件进行编程,这才是关键.
右边的一些按钮 Open, Save, Save TO 等等用于打开和保存文件的,点击 Open 并选择一个已经编辑过的模板文件之后你能看到具体,那些结果都是我自己写的.通过观察,你能从中学习到更多知识.
另外三个按钮 Change Text, Change Name, Delete control .用于设置定义的控件的属性.Change Text能修改一个控件所显示的标题. Change Name 比较不好弄明白,但这是最基础的知识,你必须明白它.控件的 text 指的是显示给用户看的, Name 是给我们看和操作(编程)的,比如我们在实现代码中可以有如下内容: " Edit1.text = '你好'; " . 这就要求你的模板文件中有一个控件的名称为 Edit1 .不然就会报错误.
Delete Control 用来删除一个已经建立的控件,但是你必须先选中(用鼠标点击它)这个要删除掉的控件.
"unit Name" 编辑框用来指定该模板文件的名称.
"Hint Text" 是 AOC AI Builder 中用户点击"提示"之后显示出来的提示信息.请完善它!
现在到达编程模式了,我们的代码将写到 Code 编辑框里面.让我们来分析如下源码:
var
begin
end.
上面的文本就是一个模板文件的源码主体结构.
你可以在 var 关键字后面声明字符串变量,声明方法是这样的:" cn: String; " ,当然也可以一次声明多个变量,比如: " s1,s2,s3: string; ".
关于变量:
变量是一种可以保存内容在内存中的东东,以下是使用例子:
var
  hint: string;
begin
  hint = '你好';
  output(hint);
  output(hint);
end.
请你先了解一下 Output 函数, output 函数将输出一个内容到用户的编辑框里面.上面的例子将在用户的编辑框里增加两行内容: "你好".当然也可以不使用变量直接输出:" Output('你好'); "
现在你应该能明白变量的使用方法了.另外,你要记住控件的 Text 属性也是一个变量.比如你可以这样写:" output(edit1.text); " ,比较有趣的是,这次将输出用户输入到 Edit1 里面的内容.
请注意每一个语句结束之后都必须加一个结束符号: ";" .
现在让我向你介绍该程序所支持的所有函数吧!
第一是 output .你已经知道了, OutPut 函数只有一个字符串参数,比如 " Output('你好'); "
第二个是 Trim(变量名称) . Trim 将把一个字符串变量两边的不可视字符删除掉,比如空格字符.使用例子:
var
  s: string;
begin
  s = '     你好      ';
  edit1.text = s;
  trim(s);
  trim(edit1.text);
end.
LowerCase(变量名称); . UpperCase(变量名称); 分别将一个变量的内容从大写转换到小写,和从小写转换到大写.注意只能是变量,不能是其他文本.
Message(文本参数); 将显示一个信息框给用户看,参数中是要显示的内容.注意该参数可以是多行内容的.
IsInteger(文本参数) 将判断并返回"参数"中的内容是否可以转换到数码内容.比如 IsInteger('123') 就返回真, IsInteger('           2   s      ') 就返回假.
谈到 IsInteger 函数之后,我们就要进入 If then 分支语句了.请看如下源码:
var
  s: string;
begin
  s = '1d3s';
  if IsInteger(s) then
    message('你输入的是正确的数码');
  if not IsInteger(s) then
    message('请输入一个正确的数值');
end.
运行上忙的源码将被提示 '请输入一个正确的数值' . 因为 '1d3s' 不是标准的数码文本.
然后请注意 not 关键子. not 表示如果 not 后面的内容非"真" 就执行 if 后面的语句.
最最后面.记住除了 TLabel 之外,其他的控件都拥有 SetFocus 函数,该函数能为该 控件 获取输入焦点.比如 " Edit1.SetFocus ; ". 而 TCheckBox 拥有 Checked 属性.该属性为 Boolean 属性. TComBoBox 拥有 ItemIndex 属性.表示用户选择的项目数.注意该值从 0 开始计算.

制作好模板之后记得保存到 aoc ai builder 目录下的 Module 目录里面.回到 AOC AI Builder 主界面之后点击 "Update" 按钮就能开始测试你的模板了.
如果在测试中被提示错误,那么首先请看提示内容说写什么(由于被 QS 兄翻译为英文了,所以不容易看明白:)  ),请点击提示框中的"OK" .你能看到错误的地方.
出于时间的考虑,我写的很快.但是我相信聪明的你已经能明白个大体了.
[此贴子已经被作者于2006-01-25 19:06:40编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x
忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

126

主题

3

精华

1万

积分

圣徒

耕战
2437
鹰币
252
天龙币
0
回帖
2918

一级嘉禾勋章特级帝国勋章十字军勋章

附庸关系0
发表于 2006-1-25 18:31:48 | 显示全部楼层
卧龙, 这个里面的东西怎么不是我修改过的版本啊.  到时候可别搞错了.  另外我发现在这个东西里面不能输入单引号,输入就会提示错误:((例如blacksmith不能写成blacksmiths', enemy's town'后面的东西显示不出来.)  继续研究..
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2006-1-25 19:07:52 | 显示全部楼层
小狐,你说中重点了.你也确实非常的聪明.
由于字符串定义使用关键字符号 " ' ".因此,只能去掉这个符号.这是我编程能力不够留下的缺陷.非常抱歉,有待我修改.
将来可能使用符号定义 比如 #32 代表空格. #X 代码 '  
你说版本不同,是因为被我修改了.你也帮忙修改正确一点点.:)
小狐研究出点结果了吗?你这么聪明,一定很快就熟悉了.事实上制作模块已经类似于编写程序了.等你熟悉制作模板之后,编程也就入门了.

看来大家不是很喜欢这个"麻烦" 的东东.呵呵!
[此贴子已经被作者于2006-01-26 21:38:46编辑过]

忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

126

主题

3

精华

1万

积分

圣徒

耕战
2437
鹰币
252
天龙币
0
回帖
2918

一级嘉禾勋章特级帝国勋章十字军勋章

附庸关系0
发表于 2006-1-29 21:18:23 | 显示全部楼层


完成拉~~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x
回复

使用道具 举报

66

主题

3

精华

1768

积分

圣徒

耕战
0
鹰币
26
天龙币
0
回帖
932

一级嘉禾勋章

附庸关系0
发表于 2006-1-29 22:33:54 | 显示全部楼层
果然聪明~11  还没弄懂怎么设置TComboBox里面的列表,是用Text函数+换行吗? [em06]
[B]……[/B]
回复

使用道具 举报

105

主题

9

精华

2万

积分

圣徒

耕战
4516
鹰币
2080
天龙币
0
回帖
1143

一级皇家勋章翔鹰建站十周年纪念章一级翔鹰勋章特级嘉禾勋章特级帝国勋章鹰之智者蛟龙勋章

附庸关系0
 楼主| 发表于 2006-1-29 23:44:00 | 显示全部楼层
风:
文本赋值 不一定要换行.换行只是为了方便浏览代码.
比如:  
edit1.text = 'abc';
edit1.text =  
'abc';
结果是相同的.
另外, TCombobox 的 Text 只能在设计中赋值(用鼠标点击 Combobox,然后点击 Change Text).不能在运行中赋值,好比这样是不行的 combobox1.text = 'abc';
大家有什么问题尽管提出来,我尽力指引大家进入编程环境![em35]
[此贴子已经被作者于2006-01-29 23:44:43编辑过]

忽见天上一火链,好像玉皇要抽烟。
如果玉皇不抽烟,为何又是一火链。
回复

使用道具 举报

126

主题

3

精华

1万

积分

圣徒

耕战
2437
鹰币
252
天龙币
0
回帖
2918

一级嘉禾勋章特级帝国勋章十字军勋章

附庸关系0
发表于 2006-1-30 09:43:38 | 显示全部楼层
TComboBox,用旁边的change text,然后换行就行啦  to 风:看一下卧龙以前做的,可以明白个大概,再请教一下卧龙,就全明白啦
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-11-24 10:20 , Processed in 0.155667 second(s), 87 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

快速回复 返回顶部 返回列表