services.exe应用程序错误!

services.exe应用程序错误!,第1张

1 逻辑设计

设计从分析输入数据着手,输入数据中的某类相关数据可以归纳为一个表,对需要同时调用的若干表,应使它们符合关联要求。数据库设计好后,可以通过分析输出数据来验证其可用性,若发现有的输出数据不能从输入数据导出,须继续向用户征集数据。

本例根据学生信息表和课程基本信息表、教师信息表等输入单据中归纳出包括2个表的数据库,现将这些列出如下:

(1)学生单:xs (学号,姓名,性别,出生日期,是否团员,电话,通信地址,邮编,总成绩,备注)

(2)课程单:kc (课程号,课程名,学期,学分,教师,所在系)

(3)教师单:js (编号,姓名,性别,学历,职称,所授课程,****,备注)

以上括号外的符号串是表名,括号外为字段名表,有下划线的字段为关联关键字,根据系统数据处理的需要,这些表的关联情况如图11所示。

图中用矩形框表示表,需要关联的两个表用线段连接,在线的一端标出了关联关键字,表明必须在这一端的表中建立索引。

老师

学时数课程

成绩学生

图11 表间关联的设计

① 同时调用不同表中的数据,须将它们关联,故而有时要在表中补充字段。

② 数据库设计须注意合理性。若将不同类的数据放进同一个表中,可能会产生数据余。表的分拆往往能减少数据余,但表的个数增多又会增加程序的复杂性,因为须在不同的工作区打开这些表,而且为了实现数据联用定要对表进行关联。

1、物理设计

下面列出学生学籍管理系统所有表的结构与必须的索引,以便于读者理解本例系统,顺便也列出表的部分记录,详细见xs, kc,js。

1学生单(XSDBF)

字段名类型宽度字段名小数位数

学号C字符型4学号

姓名C字符型8姓名

性别C字符型2性别

出生年月D日期型8出生年月

是否党团员L逻辑型1是否党团员

电话C字符型16电话

通信地址C字符型30通信地址

邮编C字符型6邮编

总成绩N数值型6总成绩2

备注M备注型备注

2课程单(KCDBF)

字段名类型宽度索引

课程号C字符型8V

课程名C字符型30

学期C字符型2

学分D日期型2

教师C字符型30

所在系C字符型30

3教师单(JSDBF)

字段名类型宽度索引

编号C字符型4V

姓名C字符型8

性别C字符型2

职称D日期型20

学历L逻辑型10

所授课程C字符型50

****C字符型30

备注M备注型

学生学籍管理系统的运行环境是Windows 9x/Me/2000/XP+Microsoft Visual FoxPro 60。

学生学籍管理系统的具体设计如下:

1、学生学籍管理系统主程序(A:\mainprg)

功能:提供程序的主界面和进入系统各功能模块的接口,包括一个自右向左滚动的飞字程序。

源程序:

set talk off &&关闭人机对话

set escape off &&设置ESC脱离键不起作用,即误按该键不会终止程序的执行

clear all &&清屏

set colo to 0/7,7/0 &&设置VFP系统的默认颜色

clear &&清屏

@4,42 clear to 30,92

set colo to 7+/0+ &&从第4行第42列到第30行第92列产生白字黑底的色块

@4,42 clear to 30,92 &&显示色块

@3,40 clear to 29,90

set colo to 7+/4 &&从第3行第40列到第29行第90列产生白字黑底的色块

@3,40 clear to 29,90 &&显示色块

@4,42,28,88 box space(9) &&从左上角第4行第42列到右下角第28行88列产生线框

@7,52 say'==学生学籍管理系统==' &&在第7行第52列显示学生学籍管理系统的字样

@8,50 say'-------------------------------' &&在第8行第50列显示分隔线条

@9,57 say'==1录入数据==' &&在第9行第57列显示1录入数据字样

@11,57 say'==2修改数据==' &&在第11行第57列显示2修改数据字样

@13,57 say'==3查询数据==' &&在第13行第57列显示3查询数据字样

@15,57 say'==4统计数据==' &&在第15行第57列显示4统计数据字样

@17,57 say'==5显示数据==' &&在第17行第57列显示5打印数据字样

@19,57 say'==6删除数据==' &&在第19行第57列显示6退出数据字样

@21,57 say'==7退 出==' &&在第21行第57列显示7退出字样

x=1 &&设初值x=1

b1="◆欢迎您使用学生学籍管理系统,请按任意键继续◆重庆工学院吴天美、谭茂燕、袁瑶、王洪梅、曾玲研制。 &&将字符串赋给变量b1

do whilet &&当条件成立时计算机做下面的语句

hz1=substr(b1,x,29) &&取字符串b1从第1个字符到第29个字符赋给变量hz1

@25,51 say hz1 &&在第25行第51列显示字符串hz1

bb=inkey(06) &&将等待06秒击键的inkey 函数赋给bb

if bb<>0 &&变量bb不等于0,即有击键动作发生

exit &&那么,不显示字符串

endi &&与if条件判断语句相配对

x=x+2 &&将变量x的值加2赋给x

if x>83 &&如果变量x大于83个字符

x=1 &&那么,将1赋给变量x,即从头开始显示字符串

endi &&与if条件判断语句相配对

endd &&与do while循环语句相配对

@27,51 say'请选择1--7:' &&在第27行51列显示请选择1-7:的字样

wait ' ' to k &&计算机等待用户从键盘输入一个字符给变量k

do case &&做选择语句

case k='1' &&当变量k的值等于1时

do a:\input &&计算机跳转到a:\input子程序

case k='2' &&当变量k的值等于2时

do a:\modify &&计算机跳转到a:\modify子程序

case k='3' &&当变量k的值等于3时

do a:\search &&计算机跳转到a:\search子程序

case k='4' &&当变量k的值等于4时

do a:\total &&计算机跳转到a:\total子程序

case k='5' &&当变量k的值等于5时

do a:\dp &&计算机跳转到a:\dp子程序

case k='6' &&当变量k的值等于6时

do a:\del &&计算机跳转到a:\del子程序

case k='7' &&当变量k的值等于7时

set colo to 0/7,7/0 &&设置VFP系统的默认颜色

clear &&清屏

retu &&返回VFP主程序

endcase &&与do case选择语句相配对

2、环境配置

程序名称:SETTINGPRG

set sysmenu off

set sysmenu to

set status bar off

set talk off

set notify off

set clock status

set palette off

set bell on set safety off

set escape on

set keycomp to windows

set carry on

set confirm on

set exact on

set near on

set ansi off

set lock on

set exclusive off

set multilocks on

set deleted on

set optimize on

set refresh to 0,5

set collate to ‘stroke’

set default to sys(5)+curdir()

set path to sys(5)+curdir()

set sysformats off

set seconds on

set century off

set currency left

set currency to ‘nt$’

set hours to12

set date to usa

set decimals to 2

set fdow to1

set fweek to 1

set mark to ‘’

Set separator to ‘”

Set point to ‘’

环境还原

程序名称:RESETPRG

set sysmenu to default

set sysmenu on

set talk on

set notify on

set exclusive on

set safety on

modity window screen

3密码功能的设置

密码功能包括输入密码、修改密码、添加用户、删除用户。只有当用户正确输入本人的密码后才能进入系统,更改密码也只允许更改自己的密码。只有单位的主管人员才有权添加用户和删除用户。为此设置了用户等级,这也是由主管人员设定的。用户等级不同,权限就不同。如用户等级为4,仅能进行档案输出的 *** 作。

(一)设计思路:

(1)建立一个数据库:密码库,

(2)并创建表checkerdbf,

(3)其中字段公别为Cpassword(密码)、Name(合法用户名)、Rank(权限等级)。

(二)输入密码表单的设计:

<1>通过组合框(combo box)选择合法用户,并在其Interactivechange事件中编写代码令输入密码的文本框得到焦点(允许输入值了),该事件发生在当控件的value值改变时。

<2>在“确定”按钮的click事件中编程,先在表中寻找用户名(用locate for语句),再通过判断输入密码与数据库中相应值是否相等来判断密码是否正确。若错误可重新输入,但设置局部变量I来累计输入次数,可设定只能输入三次,当I大于3就释放该表单。并d出消息框说明不能进入本系统。在主程序中设有全局变量yhdj,若输入密码正确则给yhdj赋值为用户等级字段。

<3>添加“说明”标签,说明密码输入的规定。为增加美观性,可使用Active X控件Three Frame Control。

<4>Active X控件的添加方法与添加自定义类的方法相同。

<5>将标签添加其中,构成说明框。

<6>若希望当鼠标在按钮上停留一秒后有提示框,则可设置表单的Show Tips属性为T,按钮的Tooltip Text属性为希望显示在提示框中的内容。

<7>若希望鼠标在按钮上时改变形状,则可设置按钮的Mouse Pointer属性为:99-自定义,Mouse Icon属性为希望出现的图标文件。

(三)密码表单的设计

<1>修改密码部分与上一表单相同,当输入密码正确后方可输入新的密码或进入系统:若用户等级较高则还可进入增删用户表单。这些均在输入密码文本框的Lostfocus事件中编程。该事件在该文本框失去焦点时发生。

<2>输入新密码后检验密码不能为空,这在该文本框的Lostfocus事件中编程实现。

<3>还设置了确认密码框,防止偶然输入错误。当输入密码与确认密码不同时让用户重新输入。这些是按钮“确定”的Click事件中编程解决的。若无错误,单击“确定”钮后,用replace……with语句代替原来密码。设置缓冲区环境,可以通过前述的tableupdate()和tablerevert()函数真正修改或放弃修改密码。

(四)密码设置表单的设计

密码设置表单的设计,包括增加用户和删除用户。

<1>用页框分别完成这两项工作。一页增加用户,另一页删除用户。

<2>增加用户时未使用缓冲区,而用skip-1、ship代替,这样做同样可以把结果直接存入相应的表中。

4权限设置:

关于用户的权限问题,因在主程序中设置了全局变量,又在输入密码和修改密码表单中为其赋了值,故在表单 *** 作中只需判断其值就可以完成权限的配置。而在菜单中也需要限制,它也是通过这个全局变量的值,使用菜单的跳过(skip)项实现的,具体将在菜单的设计中介绍。

5、录入模块子程序(A:\inputprg)

功能:提供卡片式的录入数据界面。

源程序:set talk off

use a:\xj &&打开a:\xjdbf数据库文件

go bott &&将记录指针移到数据库的末尾

skip &&跳到下一条记录

hk=recn() &&将当前记录号赋给变量hk

hk1=str(hk,3) &&将变量hk值的前三位,由数值转换为字符串赋给hk1

c1=t &&将逻辑型变量“真”赋给变量c1

do while c1 &&当条件成立时计算机做下面的语句

a1=spac(2) &&将2个空格赋给变量a1

a2=spac(6) &&将6个空格赋给变量a2

a3=spac(2) &&将2个空格赋给变量a3

a4=spac(8) &&将8个空格赋给变量a4

a5=spac(2) &&将2个空格赋给a5

a6=spac(8) &&将8个空格赋给a6

a7=spac(30) &&将30个空格赋给a7

a8=spac(6) &&将6个空格赋给a8

a9=spac(6) &&将6个空格赋给a9

a10=spac(50) &&将50个空格赋给a10

kk=t &&将逻辑型变量“真”赋给变量kk

do while kk &&当条件成立时计算机做下面的语句

clea &&清屏

@1,5 say"输入第"+hk1+"张卡片" &&在第1行第5列显示输入第"+hk1+"张卡片的字样,其中,hk1为宏替换

hk=hk+1 &&变量hk的值增1

hk1=str(hk,3) &&将变量hk的值取3位赋给hk1

@row()+1,5 say"学号:"get a1 &&在当前行的下一行第5列显示学号字样

@row(),40 say"姓名:"get a2 &&在当前行第40列显示姓名字样

@row()+1,5 say"性别:"get a3 &&在当前行的下一行第5列显示性别字样

@row()+1,5 say"出生年月(MM/DD/YY):"get a4 &&在当前行的下一行第5列显示出生年月字样

@row()+1,40 say"是否团员:"get a5 &&在当前行的下一行第5列显示是否团员字样

@row()+1,5 say"电话:"get a6 &&在当前行的下一行第5列显示电话字样

@row()+1,40 say"通信地址:"get a7 &&在当前行的下一行第5列显示通信地址字样

@row()+1,5 say"邮编 :"get a8 &&在当前行的下一行第5列显示邮编字样

@row()+1,5 say"总成绩:"get a9 &&在当前行第40列显示是否总成绩字样

@row()+1,5 say"备注:"get a10 &&在当前行的下一行第5列显示备注字样

read &&将键盘所输内容读入内存

y="y" &&将字符y赋给变量y

@12,5 say"输入正确吗?(Y/N)"get y &&在第12行第5列显示输入正确吗字样

read &&并将输入的y或n读入内存

if y="Y"ory="y" &&如果变量y值为大写的Y或小写的y

kk=f &&那么,将逻辑否赋给变量kk

endif &&与if 相配对

enddo &&与do while相配对

appe blan &&添加新记录到空白记录

replace 学号 with a1,姓名 with a2,性别 with a3,出生年月 with ctod(a4),是否团员 with a5

replace 电话 with val(a6),通信地址 with val(a7),邮编 with val(a8),总成绩 with a9,备注with a10 &&替换键盘输入的内容到相应的字段中

y=" " &&将一空格赋给变量y

clea

@14,5 say"继续输入吗?(y/n)"get y &&在第14行第5列显示继续输入吗字样

read &&并将输入的y或n读入内存

if y="N"ory="n" &&如果变量y值为大写的N或小写的n

kk=f &&那么,将逻辑否赋给变量kk

exit &&退出输入界面

endif &&与if相配对

enddo &&与do while相配对

clear &&清屏

do a:\main &&运行A:\mainprg主程序

6、修改模块子程序(A:\modifyprg)

功能:提供卡片式的修改数据的功能。

源程序:set talk off

set delimiter off

use a:\xj &&打开数据库文件A:\xjdbf

kk=t

do while kk

clear

go top

yy=space(2)

@4,20 say"请输入学号" get yy

read

loca all for 学号=yy

if eof()

@5,5 say" "

wait"该记录不存在!请按任意键返回!"

y="y"

clea

@6,5 say"继续修改吗?(Y/N)" get y

read

if y="Y"ory="y"

loop

endi

clea

do a:\main

retu

endi

clea

kk=t

do while kk

clear

@row()+1,1 say"学号:" get 学号

@row(),40 say"姓名:" get 姓名

@row()+1,1 say"性别:" get 性别

@row()+1,1 say "出生年月:" get 出生年月

@row(),60 say"是否团员:" get 是否团员

@row()+1,1 say"电话:" get 电话

@row()+1,25 say"通信地址:" get 通信地址

@row(),25 say""邮编:" get 邮编

@row()+1,1 say"总成绩:" get 总成绩

@row(),60 say"备注(双击文本框输入内容):" get 备注

read

y=" "

@9,15 say"修改正确吗?(Y/N)" get y

read

if y="y"ory="Y"

kk=f

else

loop

endi

enddo

clear

y=""

@5,15 say"继续修改吗?(Y/N)" get y

read

if y="n"ory="N"

kk=f

endif

enddo

clea

do a:\main

7、查询模块子程序(A:\searchprg)

功能:提供按学号检索、按姓名检索、按学号和姓名检索和按学号、姓名、性别检索三个子模块的查询数据功能。

表单上的按钮功能包括:输入查询条件、查询、显示查询条件、清除查询条件、打印预览、打印和放弃。起初,除输入查询条件、显示查询条件和放弃外按钮均是不能选择的。当单击“输入查询条件”按钮时,表单元上的字段均为空,用户可以输入任意知道的条件做为查询条件,这些条件均是“与”的关系。这时,按钮也可以被选择了,若单击查询,查询结果就显示在表单的逐条浏览页上,同时,在该页上还显示了共查询到几条记录及可用移动记录按钮逐条查看记录。

显示查询条件按钮可以查看本次查询输入的条件;清除查询条件按钮可以清除本次查询的条件以备下一次查询;打印按钮将本次查询结果输出到打印机;放弃按钮则放弃本次查询并释放本表单元。

为了方便查看,还可以在表单的浏览佤页中一次查看到全部查询到的记录;并能在浏览字段设定页中设定佤浏览时该字段的显示与否。

设计思路:

(1)利用拖放 *** 作形成标

(2)签对象和文本框对象。

(3)通过BEGIN TRANSACTION命令开始一次事务处理,

(4)通过ROLLBACK命令结束这一事务处理,

(5)并且将对表所作的各种更改存储下来。

(6)新增一条记录用于存储查询条件,

(7)并新建一个过程parsecondition,它返回一个表达式,形如“字段名所输入的值”。而后在查询按钮的Click事件中运用循环语句判断在哪个字段中输入了值,并将所有输入的备件用AND连接,作为用SET FILTER TO命令过滤记录的表达式和计算记录数的FOR语句的内容。

(8)在SET FILTER TO 语句和计算记录数的COUNT语句中都用到了宏代换符“&“,宏代换在编写代码时很有用,它返回一个变量的内容。在实时处理时都要用到。

(9)为了将自己挑选的字段显示在佤浏览表格(Grid)中,首先建立一个页框(Pageframe),将上面利用拖放 *** 作形成的标签和文本框放在第一页“逐条浏览”上,而后为每个字段名建立一个复选框,放置在页框的“浏览字段设定”页上,有对钩表示选中,无对钩,表示不选。默认状态下是全选(全部打对钩),单击后去掉对钩,表示不选。为动态反映,

(10)建立一个全局变量数组存储。并在“全局浏览”页面被激活时给表格的每个column的header1Caption和Controlsouce赋值为数组中的值即可。

源程序:set talk off

set delimiter off

set safety off &&重建索引时不提示覆盖

use a:\xj

inde on 学号 to a:\xh &&按学号建立索引文件xhidx

inde on 学号+姓名 to a:\xhxm &&按学号和姓名建立索引文件xhxmidx

inde on 姓名 to a:\xm &&按姓名建立索引文件xmidx

stortto c

do while c

clear

text

检索功能表

0---退出检索系统

1---按学号检索

2---按姓名检索

3---按学号和姓名检索

4---按学号、姓名、性别检索

endt

dd=1

@row()+1,17 say"请输入功能号" get dd pict "9" rang 0,4

read

do case

case dd=0

clear

do a:\main

retu

case dd=1

clear

n1=spac(2)

@4,20 say"请输入学号" get n1

read

use a:\xj inde a:\xh &&打开数据库文件xjdbf并打开按学号建立的索引文件xhidx

find &n1 &&查找字符串n1,&为宏替换

case dd=2

Clear

n2=spac(6)

@4,10 say"请输入姓名" get n2

read

use a:\xj inde a:\xm

find &n2

case dd=3

clear

n1=spac(2)

n2=spac(6)

@4,10 say"请输入学号" get n1

@5,10 say"请输入姓名" get n2

read

use a:\xj inde a:\xhxm

n4=n1+n2

find &n4

case dd=4

clear

n1=spac(2)

n2=spac(6)

n3=spac(2)

@3,10 say"请输入学号:" get n1

@4,10 say"姓名:" get n2

@5,10 say"性别:" get n3

read

loca for 学号=n1and姓名=n2and性别=n3 &&查找条件是学号为n1并且姓名为n2并且性别为n3的记录

other

retu

Endc

if eof() &&如果已到文件尾

clear

wait'对不起!没找到。请按任意键返回!'

loop

endif

cc=t

y=" "

do while cc

set devi to scre &&设置屏幕显示字符

clea

@row(),5 say"学号:"+学号

@row(),40 say"姓名:"+姓名

@row()+1,5 say"性别:"+性别

@row()+1,5 say"出生年月:"+dtoc(出生年月)

@row()+1,40 say"是否团员:"+是否团员

@row()+1,5 say"电话:"+电话

@row(),40 say"通信地址:"+通信地址

@row()+1,5 say"邮编:"+邮编

@row()+1,5 say"总成绩:"+总成绩

@row()+1,5 say"备注:"+备注

@20,20 say"不继续查找打N,否则打任一键" get y

read

if y="N"ory="n"

clear

storfto cc

loop

else

Endif

ifnoteof()

loop

Endif

storfto cc

Enddo

storfto c

Enddo

use

do a:\main

8、统计模块子程序(A:\totalprg)

功能:提供统计人数、平均成绩和党员人数的功能。

源程序:set talk off

use a:

dd=0

stortto c

do while c

clear

text

统计功能表

0---退出统计系统

1---统计人数

2---统计平均成绩

3---统计党员人数

endt

dd=1

@row()+1,17 say"请输入功能号" get dd pict "9" rang 0,3

read

do case

case dd=0

clear

do a:

case dd=1

clear

coun to aa &&计算记录数并把值赋给aa

@4,20 say"总人数:"

aa &&显示变量aa的值

a=' '

@7,20 say"按任意键返回!"

read

if a=''

loop

endi

case dd=2

clear

aver 总成绩 to aa &&对总成绩求平均并把平均值分别赋给变量aa

@4,20 say"求总成绩平均成绩为:"

aa

a=' '

@9,20 say"按任意键返回!"

read

if a=''

loop

endi

case dd=3

clear

coun for 是否团员="是" to aa &&统计党员数,并把值赋给aa

@4,20 say"团员人数为:"

aa

a=' '

@9,20 say"按任意键返回!"

read

if a=''

loop

endi

endc

return

endd

9、显示模块子程序(A:\dpprg)

功能:提供卡片式的显示记录的功能。

源程序:set talk off

set devi to scre

use a:\xj

kk=t

do while kk

clea

hk=recn()

hk1=str(hk,3)

@row(),5 say"您现在浏览的是第"+hk1+"张卡片"

@row()+1,5 say"学号:"+学号

@row()+1,5 say"姓名:"+姓名

@row()+1,5 say"性别:"+性别

@row()+1,5 say"出生年月:"+dtoc(出生年月)

@row(),40 say"是否团员:"+是否团员

@row()+1,5 say"电话:"+电话

@row()+1,40 say"通信地址:"+通信地址

@row()+1,5 say"邮编:"+邮编

@row()+1,5 say"总成绩:"+总成绩

@row()+1,5 say"备注:"+备注

wait '请按n键浏览下一条记录,按l键浏览上一条记录,按y键返回主程序!' to k

do case

case k='n'

if eof() &&如果已到文件尾

go top &&将文件记录指针移到文件记录的首记录

else

skip &&否则,跳到下一条记录

endi

hk=hk+1

case k='l'

if bof() &&如果已到文件开头

go bott &&将文件记录指针移到文件记录的最后一条记录

else

skip -1 &&否则,跳到上一条记录

endi

hk=hk-1

case k='y'

clear

do a:\main

kk=f

endc

endd

10、删除模块子程序(A:\delprg)

功能:提供逻辑与物理删除的功能。

源程序:set talk off

set devi to scre

use a:\xj

yy=" "

yn=" "

de=spac(2)

clear

@4,20 say"请输入要删除记录的学号" get de

read

loca all for 学号=de

if eof()

wait"查无此卡片!击回车键退出!"

clear

do a:\xj

retu

endi

ifnoteof()

clea

hk=recn()

hk1=str(hk,3)

@row(),5 say"您现在浏览的是第"+hk1+"张卡片"

@row()+1,5 say"学号:"+学号

@row()+1,5 say"姓名:"+姓名

@row()+1,5 say"性别:"+性别

@row()+1,5 say"出生年月:"+dtoc(出生年月)

@row(),40 say"是否团员:"+是否团员

@row()+1,5 say"电话:"+电话

@row(),40 say"通信地址:"+通信地址

@row()+1,5 say"邮编:"+邮编

@row()+1,5 say"总成绩:"+总成绩

@row()+1,5 say"备注:"+备注

endif

@13,20 say"是这个记录吗?(Y/N)" get yn

read

if yn="n"oryn="N"

clea

do a:\xj

retu

endi

if yn="y"

@14,20 say"真要删除吗?(Y/N)" get yy

read

if yy="y"oryy="Y"

delete &&删除当前记录(逻辑删除,但不是真正将当前文件记录从VFP中删除)

endif

endi

clear

stor " " to y

@15,15 say"删除的记录从盘中彻底清除吗?(Y/N)" get y

read

if y="y"ory="Y"

pack &&真正删除当前记录(物理删除)

endif

clea

do a:\xj

Eclipse快捷键大全 Ctrl+1 快速修复(最经典的快捷键,就不用多说了)

Ctrl+D: 删除当前行

Ctrl+Alt+↓ 复制当前行到下一行(复制增加)

Ctrl+Alt+↑ 复制当前行到上一行(复制增加)

Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)

Alt+↑ 当前行和上面一行交互位置(同上)

Alt+← 前一个编辑的页面

Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)

Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性

Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)

Shift+Ctrl+Enter 在当前行插入空行(原理同上条)

Ctrl+Q 定位到最后编辑的地方

Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)

Ctrl+M 最大化当前的Edit或View (再按则反之)

Ctrl+/ 注释当前行,再按则取消注释

Ctrl+O 快速显示 OutLine

Ctrl+T 快速显示当前类的继承结构

Ctrl+W 关闭当前Editer

Ctrl+K 参照选中的Word快速定位到下一个

Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)

Ctrl+/(小键盘) 折叠当前类中的所有代码

Ctrl+×(小键盘) 展开当前类中的所有代码

Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)

Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等 *** 作)

Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)

Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)

Ctrl+Shift+F4 关闭所有打开的Editer

Ctrl+Shift+X 把当前选中的文本全部变味小写

Ctrl+Shift+Y 把当前选中的文本全部变为小写

Ctrl+Shift+F 格式化当前代码

Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)

Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)

Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)

Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)

Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)

Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)

Alt+Shift+I 合并变量(可能这样说有点不妥Inline)

Alt+Shift+V 移动函数和变量(不怎么常用)

Alt+Shift+Z 重构的后悔药(Undo)编辑

作用域 功能 快捷键

全局 查找并替换 Ctrl+F

文本编辑器 查找上一个 Ctrl+Shift+K

文本编辑器 查找下一个 Ctrl+K

全局 撤销 Ctrl+Z

全局 复制 Ctrl+C

全局 恢复上一个选择 Alt+Shift+↓

全局 剪切 Ctrl+X

全局 快速修正 Ctrl1+1

全局 内容辅助 Alt+/

全局 全部选中 Ctrl+A

全局 删除 Delete

全局 上下文信息 Alt+?

Alt+Shift+

Ctrl+Shift+Space

Java编辑器 显示工具提示描述 F2

Java编辑器 选择封装元素 Alt+Shift+↑

Java编辑器 选择上一个元素 Alt+Shift+←

Java编辑器 选择下一个元素 Alt+Shift+→

文本编辑器 增量查找 Ctrl+J

文本编辑器 增量逆向查找 Ctrl+Shift+J

全局 粘贴 Ctrl+V

全局 重做 Ctrl+Y

查看

作用域 功能 快捷键

全局 放大 Ctrl+=

全局 缩小 Ctrl+-

窗口

作用域 功能 快捷键

全局 激活编辑器 F12

全局 切换编辑器 Ctrl+Shift+W

全局 上一个编辑器 Ctrl+Shift+F6

全局 上一个视图 Ctrl+Shift+F7

全局 上一个透视图 Ctrl+Shift+F8

全局 下一个编辑器 Ctrl+F6

全局 下一个视图 Ctrl+F7

全局 下一个透视图 Ctrl+F8

文本编辑器 显示标尺上下文菜单 Ctrl+W

全局 显示视图菜单 Ctrl+F10

全局 显示系统菜单 Alt+-

导航

作用域 功能 快捷键

Java编辑器 打开结构 Ctrl+F3

全局 打开类型 Ctrl+Shift+T

全局 打开类型层次结构 F4

全局 打开声明 F3

全局 打开外部javadoc Shift+F2

全局 打开资源 Ctrl+Shift+R

全局 后退历史记录 Alt+←

全局 前进历史记录 Alt+→

全局 上一个 Ctrl+,

全局 下一个 Ctrl+

Java编辑器 显示大纲 Ctrl+O

全局 在层次结构中打开类型 Ctrl+Shift+H

全局 转至匹配的括号 Ctrl+Shift+P

全局 转至上一个编辑位置 Ctrl+Q

Java编辑器 转至上一个成员 Ctrl+Shift+↑

Java编辑器 转至下一个成员 Ctrl+Shift+↓

文本编辑器 转至行 Ctrl+L

搜索

作用域 功能 快捷键

全局 出现在文件中 Ctrl+Shift+U

全局 打开搜索对话框 Ctrl+H

全局 工作区中的声明 Ctrl+G

全局 工作区中的引用 Ctrl+Shift+G

文本编辑

作用域 功能 快捷键

文本编辑器 改写切换 Insert

文本编辑器 上滚行 Ctrl+↑

文本编辑器 下滚行 Ctrl+↓

文件

作用域 功能 快捷键

全局 保存 Ctrl+X

Ctrl+S

全局 打印 Ctrl+P

全局 关闭 Ctrl+F4

全局 全部保存 Ctrl+Shift+S

全局 全部关闭 Ctrl+Shift+F4

全局 属性 Alt+Enter

全局 新建 Ctrl+N

项目

作用域 功能 快捷键

全局 全部构建 Ctrl+B

源代码

作用域 功能 快捷键

Java编辑器 格式化 Ctrl+Shift+F

Java编辑器 取消注释 Ctrl+\

Java编辑器 注释 Ctrl+/

Java编辑器 添加导入 Ctrl+Shift+M

Java编辑器 组织导入 Ctrl+Shift+O

Java编辑器 使用try/catch块来包围 未设置,太常用了,所以在这里列出,建议自己设置。

也可以使用Ctrl+1自动修正。

运行

作用域 功能 快捷键

全局 单步返回 F7

全局 单步跳过 F6

全局 单步跳入 F5

全局 单步跳入选择 Ctrl+F5

全局 调试上次启动 F11

全局 继续 F8

全局 使用过滤器单步执行 Shift+F5

全局 添加/去除断点 Ctrl+Shift+B

全局 显示 Ctrl+D

全局 运行上次启动 Ctrl+F11

全局 运行至行 Ctrl+R

全局 执行 Ctrl+U

重构

作用域 功能 快捷键

全局 撤销重构 Alt+Shift+Z

全局 抽取方法 Alt+Shift+M

全局 抽取局部变量 Alt+Shift+L

全局 内联 Alt+Shift+I

全局 移动 Alt+Shift+V

全局 重命名 Alt+Shift+R

全局 重做 Alt+Shift+Y 希望对你有帮助,我还没全用过呢

问题一:C语言程序开头对程序的说明怎么写 #include

/

Target:功能描述

Author:作者姓名

Date:日期

/

int main(void)

{

}

这是一个有十年开发经验的培训师的格式,在开发过程他们就是这么写的,但这其实是个习惯问题,你可以跟自己的团队或公司约定好格式,只要一致就可以了。你自己也是一样,每次都使用同一种格式,只要不是太离谱就好了。其实国际上的开发也就是这种处题,日本和欧美的方式不一样,而和中国的就更不一样了,不存在标准不标准,IEEE也不会对这玩意有硬性规定,毕竟是可以灵活改变的东西。

只能说上面的是比较主流的一种形式,仅供参考。

问题二:情况说明格式怎么写 标题写某某情况的说明或证明 或是申请等 因为我不知道你是什么情况 开头写尊敬的哗就是你要递交说明的对象 然后是正文 即你要说明的情况 申请等 关于 一事现做出以下说明 后特此说明或申请 落款 写好年月日 盖章就可以了

问题三:公函格式怎么写 10分 公函由首部、 正文和尾部三部分组成。其各部分的格式、内容和写法要求如下:首部

主要包括标题、主送机关两个项目内容。

1、标题。公函的标题一般有两种形式。一种是由发文机关名称、事由和 文种构成。另一种是由事由和 文种构成。

2、主送机关。即受文并办理来函事项的机关单位, 于文首顶格写明全称或者规范化简称,其后用 冒号。

正文

其结构一般由开头、主体、结尾、结语等部分组成。

1、开头

主要说明发函的缘由。一般要求概括交代发函的目的、根据、原因等内容,然后用“现将有关问题说明如下:”或“现将有关事项函复如下:”等 过渡语转入下文。复函的缘由部分,一般首先 引叙来文的标题、发文字号,然后再交代根据,以说明发文的缘由。

2、主体

这是函的核心内容部分,主要说明致函事项。函的事项部分内容单一,一函一事,行文要 直陈其事。无论是洽谈工作,询问和答复问题,还是向有关主管部门请求批准事项等,都要用简洁得体的语言把需要告诉对方的问题、意见叙写清楚。如果属于复函,还要注意答复事项 的针对性和明确性。

3、结尾

一般用礼貌性语言向对方提出希望。或请对方协助解决某一问题,或请对方及时复函,或请对方提出意见或请主管部门批准等。

4、结语

通常应根据函询、函告、函或函复的事项,选择运用不同的结束语。如“特此函询()”、“请即复函”、“特此函告”、“特此函复”等。有的函也可以不用结束语,如属 便函,可以像普通信件一样,使用“此致”、“敬礼”。

结尾落款

一般包括署名和成文时间两项内容。

署名机关单位名称,写明成文时间年、月、日;并加盖公章。

公函,正式的或官方的书信。公函是党政机关、人民团体、企事业单位间商洽和联系工作时使用的一种文体。

问题四:在word文档中怎么设置每段的开头空两格? 在word文档中,可以通过首行缩进设置每段的开头空两格。

方法一:

1、选中需要设置的文本;

2、单击开始选项卡右下角如图所示的按钮

3、d出段落对话框,在特殊格式处选择首行缩进即可,如图所示。

方法二:

用鼠标拖动标尺上的首行缩进滑块,向右移动2个字符即可。

问题五:请问matlab中M文件写的程序开头是定义的function后怎么运行 matlab的m文件有两种类型,命令文件(script file)和函数文件(function file)

命令文件没有输入参数,也不返回输输出参数,函数文件可以带输入参数,也可以返回输出参数。

命令文件可以直接运行,在MATLAB命令窗口中输入命令文件的名称,就会执行你的命令文件,但是函数文件是不能直接运行的,要以函数调用的方式来调用它。

函数文件的命名方式要与该文件的除去注释行的第一行(以function output=funname(input)为标志)中的这个funname保持一致(该名字不能与matlab自带的关键字、程序雷同),在调用的时候可以在命令窗口调用,也可以在命令文件中调用。调用格式就是跟function后边的格式相同。

比如你有一个

function y=jiafa(a,b)

y=a+b;

该文件要保存为jiafam,使用它的时候,你可以在命令窗口中直接输入

jiafa(1,3)

回车,结果为4;

在命令文件中你可以写

x=2;

y=5;

z=jiafa(x,y)

该文件任意命名(符合命名规范),运行结果为

z=7

问题六:电子邮件的格式怎么写 商务电子邮件格式

一、关于主题

1 一定不要空白标题。

2 标题要简短,不要让outlook用…才能显示完标题。

3 最好写上来自公司的邮件,以便对方一目了然,又便于留存。时间可以不用注明,一般邮箱会自动生成,写了反而累赘。

4 标题要能真实反映文章的内容和重要性,切忌使用含义不清的标题。

5 一封信尽可能只针对一个主题,不在一封信内谈及多宗事情,以便于日后整理。 6 可适当用使用大写字母字符(如“ !”等)来突出标题,引起收件人注意,但应适度,

特别是不要随便就用“紧急”之类的字眼。

7 回复对方邮件时,应当根据回复内容需要更改标题,不要RE一大串。

8 最重要的一点,主题千万不可出现错别字和不通顺之处,切莫只顾检查正文却在发出前

忘记检查主题。

二、关于称呼与问候

1 恰当地称呼收件者,拿捏尺度。

2 邮件的开头要称呼收件人。在多个收件人的情况下可以称呼大家、ALL。

关于格式,称呼是第一行顶格写。 3 Email开头结尾最好要有问候语

最简单的开头写一个HI, 中文的写个“你好”或者“您好”,开头问候语是称呼换行空两个写。

结尾常见的写个Best Regards,中文的写个“祝您顺利”之类的。若是尊长应使用“此致敬礼”。 注意, 在非常正式的场合应完全使用信件标准格式,“祝”和“此致”为紧接上一行结尾或者换行开头空两格,而“顺利”和“敬礼”为再换行顶格写。

三、正文

1 Email正文要简明扼要,行文通顺。

若对方不认识你,第一件应当说明的就是自己的身份,姓名或你代表的企业名称是必须

通报的以示对对方的尊重,点名身份应当简明扼要,最好是和本邮件以及对方有关,主要功能是为了收件人能够顺利地理解邮件来意。

Email正文应简明扼要的说清楚事情,如果具体内容确实很多,正文应只作摘要介绍,然后单独写个文件作为附件进行详细描述。

正文行文应通顺,多用简单词汇和短句,准确清晰的表达,不要出现让人晦涩难懂的语句。最好不要让人家拉滚动条才能看完你的邮件。

2 注意Email的论述语气

根据收件人与自己的熟络程度、等级关系;邮件是对内还是对外性质的不同,选择恰当的语气进行论述,以免引起对方不适。

2014年执业医师资格考试 医学综合笔试 临床执业医师 口腔执业医师 中医执业医师

尊重对方,请、谢谢之类的语气要经常出现。

3 Email正文多用1234之类的列表,以清晰明确。

如果事情复杂,最好1、2、3、4的列几个段落进行清晰明确的说明。保持你的每个段落简短干练。

4 一次邮件交待完整信息

最好在一次邮件中把相关信息全部说清楚,说准确。

5 尽可能避免拼写错误和错别字,注意使用拼写检查

这是对别人的尊重,也是自己态度的体现。在邮件发送之前,务必自己仔细阅读一遍,检查行文是否通顺,拼写是否有错误。

6 合理提示重要信息

7 合理利用,表格等形式来辅助阐述。

对于很多带有技术介绍或讨论性质的邮件,单纯以文字形式很难描述清楚。可以配合图表加以阐述。

四、附件

1 如果邮件带有附件,应在正文里面提示收件人查看附件。

2 附件文件应按有意义的名字命名,最好能够概括附件的内容,方便收件人下载后管理。 3 正文中应对附件内容做简要说明,特别是带有多个附件时。

4 附件数目不宜超过4个,数目较多时应打包压缩成一个文件。

5 如果附件是特殊格式文件,>>

总觉得你说的是bios

你说的三个选项是你在安装系统的时候系统引导创建的启动项

一台计算机在理论情况下能同时安装多个 *** 作系统

为了区别这些 *** 作系统每个 *** 作系统会创建自己的启动项

譬如

在不存在虚拟机的情况下一般一次可以完整运行一个 *** 作系统

你说的三个选项分别可以启动win7 win8 和安卓android系统

而且目测你的android系统是X86版本的

以上就是关于services.exe应用程序错误!全部的内容,包括:services.exe应用程序错误!、正过滚动条时蓝屏STOP:0*000000D1(0*00000000,0*00000002,0*00000000,0*00000000)请高手帮帮忙谢谢、急求VF程序设计!管理系统!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9325903.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存