Delphi数据类型ASCⅡ快捷键查询
保留字
| and | array | as | asm | begin | case |
| class | const | constructor | destructor | dispinterface | div |
| do | donwnto | else | end | except | exports |
| file | finalization | finally | for | function | goto |
| if | implementation | in | inherited | initialization | inline |
| interface | is | label | library | mod | nil |
| not | object | of | or | out | packed |
| procedure | program | property | raise | record | repeat |
| resourcestring | set | shl | shr | string | then |
| threadvar | to | try | type | unit | until |
| uses | var | while | with | xor |
指令符
| absolute | abstract | assembler | automated | cdecl | contains |
| default | dispid | dynamic | export | external | far |
| forward | implements | index | message | name | near |
| nodefault | overload | override | package | pascal | private |
| protected | public | published | read | readonly | register |
| reintroduce | require | resident | safecall | stdcall | stored |
| virtual | write | writeonly |
数据类型
| 标准数据类型 | |
| 整型 | Integer |
| 实型 | Real |
| 字符型 | Character |
| 字符串型 | String |
| 布尔型 | Boolean |
| 高级数据类型 | |
| 枚举型 | Enumerated |
| 子界型 | Subrange |
| 集合类型 | Set |
| 数组类型 | Array |
| 记录类型 | Record |
| 文件类型 | File |
| 类类型 | Class |
| 类引用类型 | Class Reference |
| 接口类型 | Interface |
| 指针类型 | Pointer |
| 过程类型 | Procedural |
| 可变类型 | Variant |
数值型数据
| 整数类型 | |||
| 类型 | 名称 | 字长 | 取值范围 |
| 短整型 | Shortint | 有符号8位 | -128~127 |
| 小整型 | Smallint | 有符号16位 | -32768~32767 |
| 长整型 | Longint | 有符号32位 | -2147483648~2147483647 |
| 64位整型 | Int64 | 有符号64位 | -2的63次方~2的63次方 |
| 字节型 | Byte | 无符号8位 | 0~255 |
| 字型 | Word | 无符号16位 | 0~65535 |
| 长字型 | Longword | 无符号32位 | 0~4294967295 |
| 整型 | Interger | 有符号32位 | -2147483648~2147483647 |
| 序数型 | Cardinal | 无符号32位 | 0~4294967295 |
| 实数类型 | ||||
| 类型 | 名称 | 字长 | 有效位 | 取值范围 |
| 单精度实型 | Single | 4 | 7~8 | ±1.5×10-39次方~3.4×10的38次方 |
| 扩展型 | Extended | 10 | 19~20 | ±3.6×10的-4951次方~1.1×10的4932次方 |
| 双精度实型 | Double | 8 | 15~16 | ±5.0×10的-324次方~1.1×10的308次方 |
| 货币型 | Currency | 8 | 19~20 | -922337203685477.5808~922337203685477.5807 |
| 实型 | Real | 8 | 15~16 | ±5.0×10的-324次方~1.1×10的308次方 |
字符型数据
| 字符类型 | |||
| 类型 | 名称 | 字节数 | 取值范围 |
| 标准字符型 | AnsiChar | 1 | 扩展ANSI字符集 |
| 宽字符型 | WideChar | 2 | UniCode字符集 |
| 字符型 | Char | 1(2) | 扩展ANSI字符集 |
| 字符串类型 | |||
| 类型 | 名称 | 最大长度 | 所需内存空间 |
| 短字符串型 | ShortString | 255个字符 | 2~256B |
| 长字符串型 | AnsiString | 231个字符 | 4~2GB |
| 宽字符串型 | WideString | 230个字符 | 4~2GB |
| 字符串型 | String | 231个字符 | 4~2GB |
布尔型数据
| 类型 | 名称 | 字节数 | 取值 |
| 布尔型 | Boolean | 1 | 只能为0(False)或1(True) |
| 字节布尔型 | ByteBool | 1 | 0(False)或1(True) |
| 宽布尔型 | WordBool | 2 | 0(False)或1(True) |
| 长布尔型 | LongBool | 4 | 0(False)或1(True) |
算术运算符
| 运算符 | 名称 |
| + | 取正 |
| - | 取负 |
| * | 乘法 |
| / | 除法 |
| Div | 整数除法 |
| Mod | 求余 |
| + | 加法 |
| - | 减法 |
算术运算符的优先级
| 优先顺序 | 运算符 |
| 1 | +、-(取正取负) |
| 2 | *、/(乘法、除法) |
| 3 | Div、Mod(整除、求余) |
| 4 | +、-(加法、减法) |
位运算符
| 运算符 | 操作举例 | 操作数类型 | 结果类型 | 功能说明 |
| NOT | NOT x | integer | integer | 按二进制形式将每位求反,即1变为0,0变1 |
| AND | a AND b | integer | integer | 将两者相对应的位进行与运算,同为1时结果为1 |
| OR | a OR b | integer | integer | 将两者相对应的位进行或运算,同为0时结果为0 |
| XOR | a XOR b | integer | integer | 将两者相对应的位进行异或运算,两者不同时结果为1 |
| SHL | a SHL b | integer | integer | 将a的二进制值向左移动b位,左移一位相当于乘2 |
| SHR | a SHR b | integer | integer | 将a的二进制值向右移动b位,右移一位相当于除2 |
关系运算符
| 关系符 | 操作 | 操作数类型 | 结果类型 |
| = | 等于 | 简单类型、字符串或可变类型、类、类引用、指针、集合类型 | Boolean |
| <> | 不等于 | 简单类型、字符串或可变类型、类、类引用、指针、集合类型 | Boolean |
| < | 小于 | 简单类型、字符串或可变类型 | Boolean |
| > | 大于 | 简单类型、字符串或可变类型 | Boolean |
| <= | 小于等于 | 简单类型、字符串或可变类型 | Boolean |
| >= | 大于等于 | 简单类型、字符串或可变类型 | Boolean |
运算符的优先级
| 优先顺序 | 运算符 | 分类描述 |
| 1 | @(取地址)、NOT、- | 一元运算符 |
| 2 | *、/、DIV、MOD、AND、SHL、SHR | 乘除及类型强制转换运算符 |
| 3 | +、-、OR、XOR | 加减运算符 |
| 4 | =、<>、<、>、<=、>=、in、is | 关系、集合成员及类型比较运算符 |
常用数学运算函数
| 数学函数 | 引用形式 | 参数类型 | 函数值类型 | 函数功能描述 |
| 绝对值函数 | Abs(x) | 整数或实数 | 整数或实数 | 求x的绝对值,整数表示所有整数类型,实数表示所有实数类型 |
| 正切函数 | Arctan(x) | 实数 | 实数 | 求x的反正切值 |
| 余弦函数 | Cos(x) | 实数 | 实数 | 求x的余弦值 |
| 正弦函数 | Sin(x) | 实数 | 实数 | 求x的正弦值 |
| π值函数 | Pi | 实数 | 实数 | 返回常数π的值:3.1415926535897932385 |
| 平方函数 | Sqr(x) | 实数 | 实数 | 求x的平方 |
| 平方根函数 | Sqrt(x) | 实数 | 实数 | 求x的平方根,要求x大于等于0 |
| 幂函数 | Power(x,y) | 实数 | 实数 | 求表达式xy的幂 |
| 自然对数函数 | Ln(x) | 实数 | 实数 | 求x的自然对数,要求x>0 |
| 常用对数函数 | Log10(x) | 实数 | 实数 | 求x的常用对数,要求x>0 |
| 指数函数 | Exp(x) | 实数 | 实数 | 求数学表达式e的x次方的值 |
| 取小数函数 | Frac(x) | 实数 | 实数 | 返回x的小数部分 |
| 取整数函数 | Int(x) | 实数 | 实数 | 返回x的整数部分,舍去小数部分 |
| 舍入函数 | Round(x) | 实数 | Int64 | 返回x的整数部分,对小数部分进行四舍五入处理。 注意:若x的整数部分超出Int64的表示范围,则结果不正确 |
| 取整函数 | Trunc(x) | 实数 | Int64 | 返回x的整数部分,舍去小数部分 注意:若x的整数部分超出Int64的表示范围,则结果不正确 |
| 奇偶判断函数 | Odd(x) | 整数 | 布尔 | 当x为奇数时返回True;当x为偶数时返回False |
| 随机函数 | Random[(x)] | 整数 | 不定 | 当省略参数时,返回一个在区间[0,1]上的随机实数; 当使用参数x时,返回一个在区间[0,x]上的随机整数 |
字符处理函数
| 字符函数过程 | 引用形式 | 函数功能描述 |
| 大小写转换函数 | UpperCase(s) | 将参数串s中的小写字母全部转换为大写字母并返回 |
| LowerCase(s) | 将参数串s中的大写字母全部转换为小写字母并返回 | |
| 比较字符串大小函数 | CompareStr(s1,s2) | 比较字符串s1和s2的大小,区分大小写; 若s1>s2,则函数返回值大于0; 若s1<s2,则函数返回值小于0; 若s1=s2,则函数返回值等于0 |
| CompareText(s1,s2) | 不区分大小写,其他同CompareStr(s1,s2) | |
| 合并字符串 | Concat(s1,s2,s+3,s4…) | 合并多个字符串s1+s2+s3+…。参数表列中的()表示可选择内容 |
| 查找字符串函数 | Pos(s1,s) | 求参数串s1在参数串s中的起始位置, 即返回值为整数。 若参数串s中不包含s1,则返回值为0 |
| 求字符串长度函数 | Length(s) | 求参数串s中的字符个数, 即求串长度, 返回值为整数类型 |
| 截取子字符串函数 | Copy(s,n,m) | 在字符串s中截取从n开始,m个字符长的子字符串,包括第n个字符。 若取不够m个字符,则取到s的尾字符为止; 若n的值为0或大于当前s的串长度,则返回空串 |
| 类型转换函数 | IntToStr(x) | 将整数参数x转换成字符串,并返回整型数据x的10禁止格式的字符串 |
| FloatToStr(x) | 将实数参数x转换成字符串,并返回实型数据x的普通数字格式的字符串 转换的有效精度为15位 |
|
| StrToInt(s) | 将字符串s转换为整数值,并返回。 当s中含有非数字字符时会导致运行异常(即错误)。 若程序中无异常处理,将返回系统处理 |
|
| StrToFloat(s) | 将字符串s转换为实数值,并返回。 当s中含有非数字字符时会导致运行异常(即错误)。 若程序中无异常处理,将返回系统处理 |
|
| 进制转换函数 | IntToHex(d,h) | 将十进制整数转换成十六进制格式 |
| ASCII转换为字符函数 | Chr(x) | 将ASCII码值转换成字符, 返回以整数参数x(0<x<256)的值为序号(ASCII代码)的字符 |
| 格式化字符串函数 | Format(s,x) | 按字符串s所指定的格式要求,将实数参数x转换为串型值,并返回 例如format(‘s%数学考了d%分!’,[‘小红’,98]; 返回字符串‘小红数学考了98分!’ |
| 类型转换过程 | Str(x,s) | 将数值x转换成字符串放入参数s中 |
| V(s,v,c) | 将字符串s转换成数值放入参数v中,根据c值判断是否转换成功 |
日期时间函数
| 函数过程 | 引用形式 | 函数功能描述 |
| 日期时间函数 | Now; | 用来返回当前的日期和时间信息。 其返回值实质上是一个Double类型, 其整数部分表示从1899年12月30日以来所经过的天数, 小数部分则表示经过的时间与24小时之比, 例如2.75表示为:1/1/1900 6:00 PM |
| 日期函数 | Date; | 用来返回TdateTime对象,其中含有年、月、日信息 |
| 时间函数 | Time; | 用来返回TdateTime对象,其中含有时、分、秒 |
| 转换函数 | DateToStr(date); | 将TdateTime类型的Date转换为字符串 |
| TimeToStr(time); | 将TdateTime类型的Time转换为字符串 | |
| DateTimeToStr(datetime); | 将TdateTime类型的DateTime转换为字符串 | |
| EncodeDate(year,month,day); | 将整型的year、month、day转换为TdateTime类型 | |
| EncodeDate(hour,min,sec,msec); | 将整型的hour、min、sec、msec转换为TdateTime类型 | |
| 星期函数 | DayOfWeek(date); | 返回日期所对应的星期数,函数返回整数1~7,1表示星期日,7表示星期六 |
| 日期与时间的格式 | FormatDateTime(format,datetime); | 将函数参数DateTime所给的日期时间值按参数Format指定的格式输出, 参数Format又称为格式化字符串 |
| 转换过程 | Decodedate(date,year,month,day); | 将参数date中的日期分为年、月、日,分别放入参数year、minth、day中 |
| 转换过程 | DecodeTime(Time,hour,min,sec,msec); | 将参数date中的日期分为时、分、秒、毫秒, 分别放入参数hour、min、sec、msec中 |
顺序类型函数
| 顺序函数 | 引用形式 | 函数功能描述 |
| 序数函数 | Ord(x); | 返回数据x的序数 |
| 前趋函数 | Pred(x); | 返回数据x的前趋值。 如果将Pred函数用于第一个数据,就可能产生一个编译时的错误 |
| 后继函数 | Succ(x); | 返回数据x的后继值。 如果将Succ函数用于最后一个数据,就可能产生一个编译时的错误 |
| 首序数函数 | Low(x); | 返回顺序型数据x取值集合中的第一个值(序数最小)。 它还可以返回数组的第一个元素 |
| 末序数函数 | High(x); | 返回顺序型数据x取值集合中的最末一个值(序数最大)。 它还可以返回数组的最末一个元素 |
ASCⅡ码表
| 十进制 | 八进制 | 十六进制 | 字符 | |
| 0 | 0 | 0 | NUL | null |
| 1 | 1 | 1 | SOH | start of heading |
| 2 | 2 | 2 | STX | start of text |
| 3 | 3 | 3 | ETX | end of text |
| 4 | 4 | 4 | EOT | end of transmission |
| 5 | 5 | 5 | ENQ | enquiry |
| 6 | 6 | 6 | ACK | acknowledge |
| 7 | 7 | 7 | BEL | bell |
| 8 | 10 | 8 | BS | backspace |
| 9 | 11 | 9 | TAB/HT | horizontal tab |
| 10 | 12 | 0A | LF/NL | NL line feed,new _line |
| 11 | 13 | 0B | VT | vertical tab |
| 12 | 14 | 0C | FF | NP form feed,new page |
| 13 | 15 | 0D | CR/ER | carriage return |
| 14 | 16 | 0E | SO | shift out |
| 15 | 17 | 0F | SI | shift in |
| 16 | 20 | 10 | DLE | data link escape |
| 17 | 21 | 11 | DC1 | device control 1 |
| 18 | 22 | 12 | DC2 | device control 2 |
| 19 | 23 | 13 | DC3 | device control 3 |
| 20 | 24 | 14 | DC4 | device control 4 |
| 21 | 25 | 15 | NAK | negative acknowledge |
| 22 | 26 | 16 | SYN | synchronous idle |
| 23 | 27 | 17 | ETB | end of trans . block |
| 24 | 30 | 18 | CAN | cancel |
| 25 | 31 | 19 | EM | end of medium |
| 26 | 32 | 1A | SUB | substitute |
| 27 | 33 | 1B | ESC | escape |
| 28 | 34 | 1C | FS | file separator |
| 29 | 35 | 1D | GS | group separator |
| 30 | 36 | 1E | RS/RE | record separator |
| 31 | 37 | 1F | US | unit separator |
| 32 | 40 | 20 | SPACE/SP | |
| 33 | 41 | 21 | ! | |
| 34 | 42 | 22 | " | |
| 35 | 43 | 23 | # | |
| 36 | 44 | 24 | $ | |
| 37 | 45 | 25 | % | |
| 38 | 46 | 26 | & | |
| 39 | 47 | 27 | ` | |
| 40 | 50 | 28 | ( | |
| 41 | 51 | 29 | ) | |
| 42 | 52 | 2A | * | |
| 43 | 53 | 2B | + | |
| 44 | 54 | 2C | , | |
| 45 | 55 | 2D | - | |
| 46 | 56 | 2E | . | |
| 47 | 57 | 2F | / | |
| 48 | 60 | 30 | 0 | |
| 49 | 61 | 31 | 1 | |
| 50 | 62 | 32 | 2 | |
| 51 | 63 | 33 | 3 | |
| 52 | 64 | 34 | 4 | |
| 53 | 65 | 35 | 5 | |
| 54 | 66 | 36 | 6 | |
| 55 | 67 | 37 | 7 | |
| 56 | 70 | 38 | 8 | |
| 57 | 71 | 39 | 9 | |
| 58 | 72 | 3A | : | |
| 59 | 73 | 3B | ; | |
| 60 | 74 | 3C | < | |
| 61 | 75 | 3D | = | |
| 62 | 76 | 3E | > | |
| 63 | 77 | 3F | ? | |
| 64 | 100 | 40 | @ | |
| 65 | 101 | 41 | A | |
| 66 | 102 | 42 | B | |
| 67 | 103 | 43 | C | |
| 68 | 104 | 44 | D | |
| 69 | 105 | 45 | E | |
| 70 | 106 | 46 | F | |
| 71 | 107 | 47 | G | |
| 72 | 110 | 48 | H | |
| 73 | 111 | 49 | I | |
| 74 | 112 | 4A | J | |
| 75 | 113 | 4B | K | |
| 76 | 114 | 4C | L | |
| 77 | 115 | 4D | M | |
| 78 | 116 | 4E | N | |
| 79 | 117 | 4F | O | |
| 80 | 120 | 50 | P | |
| 81 | 121 | 51 | Q | |
| 82 | 122 | 52 | R | |
| 83 | 123 | 53 | S | |
| 84 | 124 | 54 | T | |
| 85 | 125 | 55 | U | |
| 86 | 126 | 56 | V | |
| 87 | 127 | 57 | W | |
| 88 | 130 | 58 | X | |
| 89 | 131 | 59 | Y | |
| 90 | 132 | 5A | Z | |
| 91 | 133 | 5B | [ | |
| 92 | 134 | 5C | \ | |
| 93 | 135 | 5D | ] | |
| 94 | 136 | 5E | ^ | |
| 95 | 137 | 5F | _ | |
| 96 | 140 | 60 | ' | |
| 97 | 141 | 61 | a | |
| 98 | 142 | 62 | b | |
| 99 | 143 | 63 | c | |
| 100 | 144 | 64 | d | |
| 101 | 145 | 65 | e | |
| 102 | 146 | 66 | f | |
| 103 | 147 | 67 | g | |
| 104 | 150 | 68 | h | |
| 105 | 151 | 69 | i | |
| 106 | 152 | 6A | j | |
| 107 | 153 | 6B | k | |
| 108 | 154 | 6C | l | |
| 109 | 155 | 6D | m | |
| 110 | 156 | 6E | n | |
| 111 | 157 | 6F | o | |
| 112 | 160 | 70 | p | |
| 113 | 161 | 71 | q | |
| 114 | 162 | 72 | r | |
| 115 | 163 | 73 | s | |
| 116 | 164 | 74 | t | |
| 117 | 165 | 75 | u | |
| 118 | 166 | 76 | v | |
| 119 | 167 | 77 | w | |
| 120 | 170 | 78 | x | |
| 121 | 171 | 79 | y | |
| 122 | 172 | 7A | z | |
| 123 | 173 | 7B | { | |
| 124 | 174 | 7C | | | |
| 125 | 175 | 7D | } | |
| 126 | 176 | 7E | ~ | |
| 127 | 177 | 7F | del |
| ESC键 VK_ESCAPE (27) | Num Lock键: VK_NUMLOCK (144) | Insert键: VK_INSERT (45) |
| 回车键: VK_RETURN (13) | 小键盘0: VK_NUMPAD0 (96) | Home键: VK_HOME (36) |
| TAB键: VK_TAB (9) | 小键盘1: VK_NUMPAD0 (97) | Page Up: VK_PRIOR (33) |
| Caps Lock键: VK_CAPITAL (20) | 小键盘2: VK_NUMPAD0 (98) | PageDown: VK_NEXT (34) |
| Shift键: VK_SHIFT ($10) | 小键盘3: VK_NUMPAD0 (99) | End键: VK_END (35) |
| Ctrl键: VK_CONTROL (17) | 小键盘4: VK_NUMPAD0 (100) | Delete键: VK_DELETE (46) |
| Alt键: VK_MENU (18) | 小键盘5: VK_NUMPAD0 (101) | |
| 空格键: VK_SPACE ($20/32) | 小键盘6: VK_NUMPAD0 (102) | |
| 退格键: VK_BACK (8) | 小键盘7: VK_NUMPAD0 (103) | |
| 左徽标键: VK_LWIN (91) | 小键盘8: VK_NUMPAD0 (104) | |
| 右徽标键: VK_LWIN (92) | 小键盘9: VK_NUMPAD0 (105) | |
| 鼠标右键快捷键:VK_APPS (93) | 小键盘.: VK_DECIMAL (110) | |
| 小键盘*: VK_MULTIPLY (106) | ||
| 小键盘+: VK_MULTIPLY (107) | ||
| 小键盘-: VK_SUBTRACT (109) | ||
| F1键: VK_F1 (112) | 小键盘/: VK_DIVIDE (111) | 方向键(←): VK_LEFT (37) |
| F2键: VK_F2 (113) | 方向键(↑): VK_UP (38) | |
| F3键: VK_F3 (114) | 方向键(→): VK_RIGHT (39) | |
| F4键: VK_F4 (115) | 方向键(↓): VK_DOWN (40) | |
| F5键: VK_F5 (116) | ||
| F6键: VK_F6 (117) | ||
| F7键: VK_F7 (118) | ||
| F8键: VK_F8 (119) | ||
| F9键: VK_F9 (120) | ||
| F10键: VK_F10 (121) | ||
| F11键: VK_F11 (122) | ||
| F12键: VK_F12 (123) | Pause Break键: VK_PAUSE (19) | |
| Scroll Lock键: VK_SCROLL (145) |
设置调试选项
| Delphi主菜单。【Project】->【Options】,或单击工程管理器中的【Project Options】按钮。显示Project Options,选择Complier |
| <1>选中 Debug Information :把调试信息嵌入到DCU单元文件,会加大编译后的DCU文件,但不会影响最后生成的exe的大小和执行速度。 同时激活【Search】菜单中的【Find Error】命令。 |
| 当文件中包含调试信息并得到一个运行时错误(run-time error),记录下Delphi提供的16进制地址, 在【Search】->【Find Error】中输入,Delphi将重新编译程序,并停留在产生错误的命令行。 |
| <2>Local symbols:决定调试器能否看到在Implementation中定义的局部变量。 |
| <3>Reference infoj选项/Definition Only选项是否产生应用程序中对象标识符的引用信息。 信息和对象代码存在dcu文件中,可以使用对象浏览器查看。 如果Definition Only 选项同时选中,编译器将生成标识符定义位置的信息,能够激活对象浏览器的Refenrence页。 如果不选,Dcu文件更小。 |
| 编辑器命令 |
| {$D} Debug Information |
| {$L} Local Information |
| {$Y} Symbol Information |
| {$C} Assertions |
使用内部调试器
| <1> 命令行参数 |
| 在【Run】->【Parameters】中设置 |
| <2>断点 |
| 条件断点 |
| 使源代码断点只有在满足某个条件时才有效。 |
| 在【View】->[Debug windows]->【BreakPoints】打开“BreakPoint List”对话框,右击断点,从弹出菜单中选择属性。 |
| 打开“Source BreakPoint Properties”对话框,在Condition中输入条件,在对话框中点击按钮【Advanced】,可以设置更多选项, |
| “Ignore Subsequent Exceptions”使调试程序遇到下一个断点时不中断; |
| 选中“Handle Subsequent Exception”则调试程序遇到下一个断点时恢复默认性能。 |
| 也可以通过【Run】->【Add BreakPoint】设置。 |
| 数据断点 |
| 特定地址的内存被修改时才使程序挂起。 |
| 【Run】->【Add BreakPoint】->【Data BreakPoint】命令添加,或者在BreakPoint List对话框中右击,选择Add Data BreakPoint。 |
| 输入监测内存区域的开始地址和长度(字节数) |
| 地址断点 |
| 特定地址的代码执行时就使程序挂起。通常在CPU窗口中设置。 |
| 模块加载地址 |
| 在一个模块加载时使程序挂起。【Run】->【Add BreakPoint】 |
| 断点组 |
| 使用断点组,任何一个断点都能设置成使其他断点有效或无效,可以通过断点算法来查找特殊的错误。 |
单步执行
| 【Step Over】 (F8功能键),【Trace Into】(F7功能键),【Run to Cursor】(F4功能键)临时使程序暂停【Program Pause】。 |
| Ctrl+F5 【Add Watch】,Ctrl+F7 【Evaluate/Modify】 |
其他工具
| <1>Debug Inspector 适合查看由许多数据组成的复合数据,诸如类和记录。单击省略号按钮,可以修改数据的值。 |
| <2>计算和修改Evaluate/Modify,可以改变变量的值,但不能访问超出域外的函数和变量。 |
| <3>访问调用栈 【View】->【Debug Windows】->【Call Stack】,可以看到函数和过程的调用情况及传递给他们的参数。 |
| <4>查看线程,如果应用程序运行了多线程,可以通过【View】【Debug Windows】【Threads】查看线程的状态,可以查看某一线程的源代码,选择当前线程。(ctrl+alt+t) |
| <5>事件日志 |
| 记录调试期间发生的事情。【View】【Debug Windows】(ctrl+alt+v),可以在【Tools】【Debugger Options】对话框“Debugger”选项组或事件日志的本地菜单配置事件日志功能。 |
| 记录的事件包括:进程开始、终止、模块加载断点、发给应用程序的Windows消息以及使用OutputDebugString()的输出。 |
| 一、以下快捷键指的是对窗体表格上组件的操作: |
| ●快捷键1: |
| 【Ctrl+UP】~向上移动当前组件(精确); |
| 【Ctrl+Left】~向左移动当前组件(精确); |
| 【Ctrl+Down】~向下移动当前组件(精确); |
| 【Ctrl+Right】~向右移动当前组件(精确); |
| 注: |
| 以上快接键中再加Shift进行组合(比如【Ctrl+Shift+Right】)即可实现粗略调整; |
| ●快捷键2: |
| 【Shift+UP】~减小当前组件的高度; |
| 【Shift+Left】~减小当前组件的宽度; |
| 【Shift+Down】~增加当前组件的高度; |
| 【Shift+Right】~增加当前组件的宽度; |
| 注: |
| 以上Up,Left等指的是方向键; |
| 二、以下快捷键指的是在对象观察器上的操作: |
| ●快捷键3: |
| 【F11】~切换到对象观察器(注:如果连续按F11则将实现在对象观察器、窗体表格、代码编辑器之间切换); |
| 【Ctrl+Down】~下拉当前窗体的组件列表; |
| 【Ctrl+Enter】~编辑带...的属性值(如组件的字体TFont); |
| 【Alt+Down】~下拉组件当前属性选单队列(如Align->alNone,alLeft,alRight等); |
| 【Ctrl+Tab】~在属性列表及事件列表中切换; |
| 三、菜单快捷键: |
| ●快捷键4: |
| 【F12】,【Shift+F12】,【Ctrl+F12】等在Delphi的菜单中已有定义的在此不必罗嗦. |
| 技巧: |
| 如何选择被组件覆盖了的窗体(比如某组件的Align属性为alClient)? |
| 方法一、按ESC键,一层一层的往后选,直到窗体被选为当前组件为止; |
| 方法二、按Shift的同时单击鼠标左键,一步即可选定(推荐); |
| 方法三、按F11选定对象观察器,然后切换到属性列表,再用上面快捷键3中的【Ctrl+Down】 |
| Ctrl+UP向上移动选中组件(微调); Ctrl+Left向左移动选中组件(微调); |
| Ctrl+Down向下移动选中组件(微调) ;Ctrl+Right向右移动选中组件(微调); |
| Shift+UP减小选中组件的高度; Shift+Left减小选中组件的宽度; |
| Shift+Down增加选中组件的高度; Shift+Right增加选中组件的宽度; |
| Ctrl+鼠标拖动 可以选中一个控件上层的其他控件而不选中其本身! |
DELPHI中的快捷方式一览
| 1.SHIFT+鼠标左键 先选中任一控件,按键后可选中窗体(选中控件后按Esc效果一样) |
| 2.Shift+F8 调试时弹出CPU窗口。 |
| 3.Shift+F10 等于鼠标右键(Windows快捷键)。 |
| 4.Shitf+箭头 选择 |
| 5.shift +F12 快速查找窗体并打开 |
| 6.F7 (步进式调试同时追踪进入子过程) |
| 7.F8 (步进式调试不进入子过程) |
| 8.F9 运行 |
| 9.F12 切换EDITOR,FORM |
| 10.Alt+F4 关闭所有编辑框中打开的源程序文件,但不关闭项目 |
| 11.ALT+鼠标左键 可以块选代码,用来删除对齐的重复代码非常有用 |
| 12.Ctrl+F9 编译 |
| 13.Ctrl+shift+N(n=1,2,3,4......) 定义书签 |
| 14.Ctrl+n(n=1,2,3,4......)跳到书签n |
| 15.CTRL +SHIFT+N 在书签N处,再按一次 取消书签 |
| 16.Ctrl+PageUp 将光标移至本屏的第一行,屏幕不滚动 |
| 17.Ctrl+PageDown 将光标移至本屏的最后一行,屏幕不滚动 |
| 18.Ctrl+↓ 向下滚动屏幕,光标跟随滚动不出本屏 |
| 19.Ctrl+↑ 向上滚动屏幕,光标跟随滚动不出本屏 |
| 20.Ctrl+Home 将光标移至文件头 |
| 21.Ctrl+End 将光标移至文件尾 |
| 22.Ctrl+B Buffer List窗口 |
| 23.Ctrl+I 同Tab键 |
| 24.CTRL+J (弹出Delphi语句提示窗口,选择所需语句将自动完成一条语句)代码模板 |
| 25.Ctrl+M 同Enter键。 |
| 26.Ctrl+N 同Enter键,但光标位置保持不变 |
| 27.Ctrl+T 删除光标右边的一个单词 |
| 28.Ctrl+Y 删除光标所在行 |
| 29.CTRL+C 复制 |
| 30.CTRL+V 粘贴 |
| 31.CTRL+X 剪切 |
| 32.CTRL+Z 还原(Undo) |
| 33.CTRL+S 保存 |
| 34.Ctrl+F 查找 |
| 35.Ctrl+L 继续查找 |
| 36.Ctrl+r 替换 |
| 37.CTRL+ENTER 定位到单元文件 |
| 38.Ctrl+F3 弹出Call Stack窗口 |
| 39.Ctrl+F4 等于File菜单中的Close项 |
| 40.Ctrl+Backspace 后退删除一个词,直到遇到一个分割符 |
| 41.Ctrl+鼠标转轮 加速滚屏 |
| 42.Ctrl+O+U 切换选择块的大小写(注意松开O后再按U,Ctrl保持按下) |
| 43.Ctrl+K+O 切换选择块为小写(注意松开K后再按O,Ctrl保持按下) |
| 44.Ctrl+K+N 切换选择块为大写(注意松开K后再按N,Ctrl保持按下) |
| 45.Ctrl+Shift+G 插入GUID |
| 46.Ctrl+Shift+T 在光标行加入To-Do注释 |
| 47.Ctrl+Shift+Y 删除光标之后至本行末尾之间的文本 |
| 48.CTRL+SHIFT+C 编写申明或者补上函数,绝好!!! |
| 49.CTRL+SHIFT+E 显示EXPLORER |
| 50.Ctrl+Tab 在Inspector中切换Properties页和Events页 |
| 51.CTRL+SHIFT+U 代码整块左移2个空格位置 |
| 52.CTRL+SHIFT+I 代码整块右移2个空格位置 |
| 53.CTRL+SHIFT+↑ 在过程、函数、事件内部, 可跳跃到相应的过程、函数、事 |
| 件的定义(在interface和implementation之间来回切换) |
| 54.CTRL+SHIFT+↓ 在过程、函数、事件的定义处, 可跳跃到具体过程、函数、事件内部(同上) |
| 55.Tab 在object inspector窗口按tab键将光标移动到属性名区,然后键入属性名的开头 |
| 字母可快速定位到该属性 |
| 56.Ctrl+Alt 按着Ctrl+Alt之后,可用鼠标选择一个矩形块中的代码, |
| 并可比它进行复制,粘贴 |
| 57.Shift+↓、↑、→、← 以1像素单位更改所选控件大小 |
| 58.Ctrl+↓、↑、→、←以1像素单位更改所选控件位置 |
| 59.Ctrl+E 快速选择 |
| ---------GExperts中--------- |
| 60.Ctrl+Alt+c 注释块 |
| 61.Ctrl+Alt+u 取消注释块 |
| 62.Ctrl+Alt+h 生成头(更详细的设置在GExperts配置的Editor Experts属性页) |
| 63.Ctrl+Alt+o 选择对应分隔符之间的语句 |
| 64.Ctrl+Alt+v 在对应的分隔符之间来回跳转(与已有快捷键有冲突,请更改) |
| ---------GExperts中--------- |
| Ctrl+Alt+[left arrow] 在Gexpert里快速选定begin与其对应end之间所有代码的方法。 |
| Alt + F11 在出现的窗口中选择一个unit将在当前unit的implementation部分自动uses你刚才选择的unit |

浙公网安备 33010602011771号