Visual Basic 6.0
Visual Basic 6.0(不严格的)面向对象:支持封装,不支持继承
print ↔ cls
show ↔ hide
load ↔ unload
可用 ?代替print
定义符号常量:Const PI# = 3.1416 或 Const PI As Double = 3.1416
在行末加" _"可将一条语句分为多行书写,在句末加" : "可将多条语句并为一行书写。
数字常量的表示:8进制 &/&O,16进制 &H
Boolean和Integer是兼容类型(即可以互相转换):True → -1,False → 0,非0 → True,0 → False
数值函数:CInt(X) 将X四舍五入取整,Int(X) 求不大于X的最大整数,Fix(X) 截取整数部分,
Val(X$) 将字符串中的数字转换成数值。
Exit的全部用法:Exit Do跳出Do/While循环,Exit For跳出For循环,
Exit Sub退出子过程,Exit Function退出函数过程,Exit Property退出属性过程。
Sub没有返回值,以语句形式调用;Function必有返回值,以表达式形式调用。
调用过程时传递参数,若实参为变量,则除非用ByVal指定,否则默认按地址传递;若实参为常量或表达式,则只能按值传递。
代码 声明:符号常量和变量
过程 系统过程:内部事件子过程(Sub)、内部函数过程(Function)
自定义过程:自定义事件过程(Event)、属性过程(Property)、
自定义子过程(Sub)、自定义函数过程(Function)
预定义对象 窗体 内部控件
控件 ActiveX控件
可插入控件(插件)(如Excel
)
对象 属性 鼠标事件
方法 键盘事件
事件 系统事件
变量:局部变量、模块级变量(私有变量)、全局变量(公有变量)
过程:模块级过程(Private)、全局过程(Public)
模块:窗体模块、
模块、类模块
代码必须放在模块中。过程不能嵌套定义。过程都是默认公有的。
标准模块中仅含有代码,类模块中既含代码又含数据。标准模块中的代码是默认公有的。
静态过程中的所有局部变量都是静态变量。静态变量存在于程序的整个运行期间。
全局常量(Public/Global Const)和
类型的全局变量必须在标准模块中声明。
局部变量可将同名的模块级和全局变量隐藏(即屏蔽)。
在外部过程中调用在窗体模块中定义的过程要在过程名前加上窗体名;
在外部过程中调用在标准模块中定义的过程时,若过程名唯一,可不加模块名,否则也要加。
处理不同类型数据项的组合 用Variant数组——降低运行速度
用自定义(记录)类型——较好
Form的部分属性:ControlBox决定是否显示控制菜单和全部控制按钮;
MaxButton、MinButton决定最大化、最小化按钮是否有效;
CurrentX、CurrentY设置或返回下一次打印或绘图的起始坐标位置
(只能在代码中访问,设计时不可见)(PictureBox也有此属性)。
Form的Show方法可以带参数,默认为0;为1则以模态方式显示。
运行时改变图标或背景:Form1.Icon/Picture = Load Picture (Filename) (用反斜杠"\"表示目录)
运行时改变对象的位置和大小:Object.Move Left[, Top, Width, Height](Object默认为当前窗体)
ComboBox = TextBox + ListBox,故名组合框。
TextBox对于选中的文本有SelStart、SelLength、SelText属性(只能在代码中访问,设计时不可见)。
ListBox的ListIndex属性可以设置或返回被选项目的索引号(只能在代码中访问,设计时不可见)。
CheckBox的Value属性:0(未选中)、1(选中)、2(禁用)
OptionButton的Value属性:True(选中)、False(未选中)
判断表达式是否相当于一个数值:Function IsNumeric(Variant) As Boolean
创建控件数组:1.复制并粘贴已有的控件(会自动弹出提示);
2.将一个名字赋给多个控件(会自动弹出提示);
3.设置控件的Index属性。
给菜单项标题中的字母加下划线:"文件(&F)"
给菜单添加分隔条:将菜单项标题设为"-"
创建快捷菜单(即弹出式菜单):在菜单编辑器中取消选择菜单(必须有子菜单)的“可见”复选框,并在代码窗口中添加如下代码。
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu Menuname
End Sub
KeyPress事件在按下并松开一个ANSI键时发生,但无法响应功能键(F1)、编辑键(Delete)和定位键(Home)。
KeyDown和KeyUp事件可以响应任何键,其KeyCode参数返回按键代码,Shift参数返回Shift、Ctrl和Alt键的状态,两者均可使用与数值对应的预定义常数。
鼠标有左、中、右三个键,MouseDown和MouseUp事件可被任何一个的活动触发,但无法检测是否有多个键同时活动。其Button参数返回活动按键的索引,Shift参数返回Shift、Ctrl和Alt键的状态,两者均可使用与数值对应的预定义常数。
Clipboard剪贴板在特定时刻只能储存一条信息,退出Windows时所有信息都将丢失。它能储存的类型包括:DDE(动态数据交换)链接、文本(.txt)、增强格式文本(.rtf)、Windows元文件(.wmf)、位图(.bmp)、设备无关位图(.dib)、调色板。
英汉
基础
Criteria of Translation: Faithfulness, Expressiveness, Elegance.
:中性提问——How are you? (Objective)
汉语:有引导性——你好吗?(Subjective)
英语:公式化——more A than B (Logical)
汉语:灵活性——差点没吓死 (Flexible)
英语:以曲折形式(inflected forms)来表达意义
汉语:以功能词、助词和词序来表达意义
英语:定语长,谓语短
汉语:定语短,谓语长
汉语:讲究结构的平衡(缩头缩脑、四分五裂、天造地设)
文字的象形性(山、雨),词汇的形象性(蚕食、势如破竹),表意的整体性(车来了!她是个好人。)
coincident words 重合词汇
polysemous words 多义词
collocation 词的搭配
synthetic合成的 ↔ analytic分析的
a fast/clean life 放荡/严谨的生活
含情脉脉的 languishing
文武 military and civilian
personal remark 人身攻击
coffee of a kind 某种可以叫做咖啡的东西
加油!Come on./Quick./Hurry./Speed up./Push harder.
There is not much to live for in this jail of a house. 在这幢监狱似的房子里活着没有多大意思。
Java基础
一些语句的写法:package cust;(包名小写,放在源文件的最开头)
javac –d .\ Cust.java (".\"表示当前目录)
java cust.Cust (加包名)
javadoc –d ... Cust.java (将文档注释/**...*/写入html文件)
输入输出 指针式:File/RandomAccessFile
流式:InputStream/OutputStream/Reader/Writer
流式I/O
字节流
字符流
节点流
FileInputStream
FileReader
过滤流
BufferedInputStream
BufferedReader
最简单的输入方法:使用System.in字节流
利用Vector和Enumeration使用不定类型的动态数组
预定义错误(例如除数为0)对象是由JVM创建并自动抛出的
try{...throw...} catch{...} finally{...}
除了访问修饰符public/private,构造函数不能有其它修饰符。
如果已经显式写出了构造方法,则系统不会再为类分配无参的构造方法。
应避免在构造函数中调用private方法或引入过多参数,以便使其易于继承;如果必须如此,最好提供其它的构造函数。
命名规范:类名应为名词性,方法名应为动词性。 数据类型:基本~、引用~
Java中有位运算符(& 和 |)、布尔运算符(& 和 |)和条件运算符(&& 和 ||),只有第三个才会引起短路。
Java有6种变量类型:类变量、实例变量、局部变量、方法参数、构造器参数、异常处理器参数
包含抽象方法的类必须为抽象类。
member variable/method: class ~, instance ~
field = attribute = slot = state = instance variable ↔ class variable
message = operation = instance/non-static method ↔ class/static method
super class = base class = parent class
sub class = derived class = child class
Java 1: AWT
Java 2: Swing
事件代理机制
内部类"{};"
类变量和实例变量可被局部变量隐藏。父类的类变量和实例变量均可被子类的类变量和实例变量隐藏。
利用this关键字可以访问被局部变量隐藏的实例变量;利用super关键字可以访问被子类类变量或实例变量隐藏的父类实例变量;通过全名(类名.变量名)可以访问被隐藏的类变量。
将子类强制转换成父类类型,就可访问被隐藏的父类实例变量。
使用子类的外部类永远不能调用父类被覆盖的实例方法。
(同句柄的)实例方法(根据实例)被覆盖,静态方法(根据类型)被隐藏(不能被覆盖)。
子类的构造函数自动继承父类的构造函数(不能被覆盖),方法体中隐式包含"super();"语句。
A instanceof B:判断A对象是否为B类的实例或A类是否实现了B接口
用final修饰的 类不能被继承,方法不能被覆盖,变量不能被再次赋值。
多态:继承(→覆盖)、重载、接口 子类(自动)↔(强制)父类
接口是只包含常量和抽象方法的特殊抽象类。
如果在类的开头没有声明包,则类将被放入未命名的默认包。这样的包无法import,也不能写出类的全名,因此这样的类无法被另一个命名包下的类引用。
String.equals()方法是比较字符串的内容,而对String使用"=="运算符是比较实例的引用(是否为同一个实例)。
每个常量在常量池(constant pool)中只有一份拷贝。
计算机知识(杂)
VGA显示模式下的屏幕中央位于(320,240)。
在html中交互必须使用表单,其标签写法举例如下:
迭代式设计(每轮设计一部分功能,逐渐细化),启发式评估(Heuristic Evaluation),
Think-Aloud可用性测试(让用户在使用过程中说出自己的想法)
安全策略 Encryption加密
Intruder 入侵者
Authentication认证
Prevention, Detection, Recovery
CMOS = Complementary Metal-Oxide-Semiconductor互补金属氧化物半导体
BIOS = Basic Input/Output System基本输入输出系统
POST = Power-On Self Test开机自检
IRQ = Interrupt ReQuest中断请求
ACL = Access Control List访问控制表
线程thread > 进程process
进程的三种状态:running, runnable, blocked
硬盘划分(小→大):磁道track → 扇区sector(512 bytes)→ 簇cluster(最小单元)
FAT = File Allocation Table文件分配表
NTFS = New Technology File System(源于Windows NT)
FAT16:以16 bits为单位为簇编号,最多管理2GB
FAT32:以32 bits为单位为簇编号,最多管理2TB(228个簇)
DOS常识:C:>\help | more( | 称为管道运算符,其作用是将help命令的输出作为more命令的输入)
%n表示第n个参数
Ctri + C退出DOS程序
ECHO回显
Communication Strategies: Client-Server Framework, P2P Connectivity
MIME = Multipurpose Internet Mail Extension protocol多用途网际邮件扩充协议(用于发送附件)
通信设备:网卡NIC,交换机LAN switch,集线器hub,路由器router,调制解调器modem(数模转换)
NIC = Network Interface Card,用于LAN内部
router用来连接多个LAN
中继器repeater用于加强衰减的信号
hub相当于multiport repeater
网桥bridge用于连接两个网段
LAN switch相当于multiport bridge
IP地址(32 bits):192.168.1.1(其中192表示network,168.1.1表示host)
端口port(16 bits):使一个IP可以同时用于多种服务(HTTP 80、FTP 20/21、Telnet 23)
XML = Extensible Markup Language可扩展标记语言,主要包括DTD、CSS和XSL
上网方式 Conventional Analog Phone Line
ISDN (Integrated Service Digital Network)
Cable: (via modem) 通过有线电视网
xDSL: ADSL, HDSL, VDSL(带宽的分配方式不同)
计算机语言 脚本语言 客户端:JavaScript
编程语言 服务器端:ASP、JSP、PHP
(翻译时)定语 ↔ 谓语
通用过程
包装类:管道流