窗体顶端

窗体顶端
窗体顶端

第1章

地震处理Lab-初步问题

1.1动机实验室

在使用过程中的演讲部分GPGN452 / 561(现在GPGN461 / 561)(高级地震方法/地震处理)学生给出一个单词,图片,和黑板引入采集地震数据和应用的处理步骤的无数方法的作为转换的原始地震数据进入地球地表下的一个科学的美云有用的图象的过程的一部分。这个实验的目的是为学生提供在应用地震资料处理技术,合成和真实数据的现实实际动手经验。该课程,但是,是不是一个“在地震数据处理培训课程”,因为人们可能在工业环境中得到的。而不是培养学生使用的软件工具特定集合,它是更好的培养学生的地震数据处理的对象更广泛的理解。我们还努力帮助学生发展一些实用的技巧,这将有助于他们在一般的方式,即使他们没有进入石油和天然气的勘探和开发的场。因此,我们利用小规模的硬件上运行开源软件(地震UNIX包)(基于Linux的个人电脑),可免费获得。我们也鼓励学生对自己的个人(Linux或Mac)的PC上安装的软件SU,使他们可以工作(玩)的数据,并在闲暇的代码。鉴于我们可用的硬件和时间的有限规模,我们的目标是适度的,通过2D单组分处理运动向学生介绍地震数据处理。

1.2 Unix和类Unix操作系统

Unix操作系统(以及任何其他类似Unix操作系统,它包括各种形式的Linux,UBUNTU,免BSD Unix和Mac OS X上的)在勘探地震社会中经常使用。因此,学习方面

10

11

这个操作系统是非常花费的时间。许多用户可能已经长大了“点击”,其中一个给定的程序通过图形用户界面(GUI)为特色的菜单和各种窗口运行环境。当然有商业地震处理的世界这样的软件应用程序,但这些都不是便宜的,并且没有给该应用程序的源代码中的用户访问。还有一种情况,这种图形用户界面驱动的工具不存在但是,工作的“专家用户”的水平,和程序从终端窗口的命令行运行或在shell脚本的处理序列的一部分被执行。在这个过程中,我们将使用开源CWP / SU:地震UNIX(简称地震Unix或SU)的地震数据处理和研究环境。该软件集合在很大程度上是在科罗拉多矿业学院(CSM)的中心波动现象(CWP)开发,与捐助用户的所有世界各地。苏软件包的目的是在任何Unix或类Unix操作系统中运行,并且可以作为完整的源代码。学生可以自由地在自己的PC上安装Linux和SU(或使用类似Unix的替代品),从而让软件以及所提供的课程适合于家庭使用的数据,超越课程的时间。

1.2.1陡峭的学习曲线

大多数开始Unix用户面临的缺点是陡峭的学习曲线,由于构成Unix和其他类Unix操作系统的无数的命令。软件可移植性和应用灵活性,以及卓越的联网能力的优势,然而,使Unix的以上这些专家级的应用Microsoftbased系统工业吸引力。而在工业环境中的用户可能对他或她的办公桌基于Microsoft的PC时,计算上更密集的处理的工作是基于Unix的系统上完成的。其中最大的是多芯,多处理器计算机系统的构成的簇。的情况并不少见,这些天的这样的系统有几个千“芯”,这是说辅助处理,提供。因为在地震处理的过程是广泛的兴趣,并可能得出与学生的不同背景和不同熟悉计算机系统,我们开始从基础。熟悉

这些话题读者可以跳到下一章。

1.3登录

与大多数计算机系统中,有一个提示,通常包含指示其中,用户登录,用户,然后提示输入密码的地方单词“登录”或单词“用户名”。一旦系统上时,用户或者具有一个窗口的用户界面作为默认,或发起这样的接口与一个命令,例如在Linux中startx的。

11

12

1.4什么是外壳?

有些迪FFI邪教和Unix和类Unix操作系统的混乱方面都在使用该系统的最开始遇到。这些的第一个是一个shell的概念。 Unix都是分层的操作系统,运行一个叫做即是操作系统的心脏内核程序。一切包括由该内核运行或给予到内核,从而机器的硬件的用户访问节目。该计划允许与计算机的用户界面被称为“工作外壳。”壳对所有的Unix系统的基本级别称为SH,Bourne shell的。在基于Linux的系统,这个壳实际上是一个开放源代码的重写版本,称为庆典(伯恩再次壳),但它有一个别名,使得它看起来是一样的,因为这是所有其他Unix 和Unix的用sh类似的系统。常见的工作shell环境,用户通常设立在登录可能是CSH(的C壳),tcsh的(T型外壳,这是csh的非专有版本和ksh(Korn shell中,这是专有)或bash,这是开源的。该用户可访问被叫终端在图形用户环境的应用程序,即启动时(通常通过双击)调用的窗口称为终端窗口。(单词“终端”联想起回至先前一天,当一物理设备称为包括屏幕和键盘的一个终端(但没有鼠标)构成的用户接口的计算机。)是在终端窗口在提示该用户具有到一个访问命令行,其中的Unix命令类型的。在类Unix系统中最“命令”不建在shell命令,但实际上是在用户的工作shell环境下运行的程序。在Unix 世界上所有的网络连接lenames,程序名,贝壳,和目录名,以及密码是区分它们的输入敏感。

1.5工作环境

如果用户键入:

$ CD <---改变不带参数^目录将用户带到他/她的home目录

在这些笔记,$符号将代表命令行提示符。用户不输入$。因为有大量的各种可能的提示字符,或字符的字符串,我们将只显示美元符号$作为通用commmandline提示。您的系统可能是一个%,一>,或计算机名和或工作目录和/或命令行数量的某种组合。

$回声$ SHELL <---返回用户的工作shell环境的价值

12

13

该命令回声$ SHELL告诉你的工作外壳返回表示你的工作shell环境的价值。常见的可能是炮弹

/ bin / sh的<---是Bourne shell /斌/ bash的<---伯恩再次壳牌/斌/ KSH <--- T-壳/斌/ zsh的<--- Z-壳/斌/ CSH < --- C-壳/斌/ tcsh的<--- T-外壳。

该环境中的sh,bash和ksh和zsh的是相似的。我们称这些“SH-家庭。”该环境的csh和tcsh都彼此相似,但在SH-系列的许多迪FF erences。我们将把CSH和tcsh为CSH-家庭。

1.6设置工作环境

每个程序都有一个特定的C语法,这是相当复杂的。每一个语言,允许用户编写调用的程序“shell脚本”。因此类Unix系统的脚本语言作为基本界面环境,赋予类Unix操作系统与得多的灵活性和力量比你可能有其他的操作系统遇到过。随着越来越多的灵活性和力量,也带来复杂性。它可以进行许多CON组fi guration变化和个性化到工作环境。我们将只集中在那些给你访问了地震的Unix环境。

编辑选择1.7

编辑科幻LES Unix或类Unix系统上,用户将需要采用一个编辑器。传统的UNIX 编辑器是“六”或它的非专有克隆“VIM”(VI-改善),取名为“gvim或”猫王之一。“中的”六“的环境有一个陡峭的学习曲线,使之常常初学者中不受欢迎。如果一个人在设想类Unix系统的工作很多,再服用学习VI的时候也非常花费的时间。 vi编辑器是保证是所有的类Unix系统唯一的编辑器。所有其他编辑是可能要在某些系统上添加,有时与二FFI culty第三方项目。同样有一个名为的Emacs编辑器是很多用户的青睐,主要是因为它可以编写程序的LISP语言和emacs内实现这些。有这种语言的一个陡峭的学习曲线,以及。经常有得到的emacs在用户希望的方式工作需要大量CON组fi guration。第三个编辑器被称为微微,它带有一个被称为“松”。邮件微微易学易用,充分menued,并在终端窗口中运行。第四类编辑器中包含的“画面编辑器。”流行的屏幕编辑包括XEDIT,用nedit和gedit的。有一个窗口界面,所谓的Emacs XEmacs 的是类似于前两个编辑器。这些都是很容易学习和使用。

13

14

运动(线 - 结束于;一句 - 在puncuation空间结束;部分 - 结束于)按字符

一行ng到行上线N 0,$第一,最后一个位置^ _或在线+第一个非空白字符, - 旁,沪指行第一个字符

通过屏幕^ F,^ B滚动向前的,回来一整屏^ D,为^ U滚动前进,后退半屏^ E ^?显示底部多了一个线,顶部L到达屏幕z??底部光标顶部z位置线。光标位置线在在光标中间位置Z-线

标在屏幕上MP位置标记当前位置为P(A到Z)`P数据搬移标记位置p'P移动到第一个非空白在线瓦特/标记P

其他运动FM着符号M调频落后符号M TM着字符先于M的Tm落后之后兆瓦移到下一个单词字母W移动到下一个单词(在puncuation停止)(跳过标点)B移至前一个单词(停在标点)b移动到前一个字(跳过文字的标点)电子端(puncuation不是单词的一部分)字电子端((下一个,上句]],[[下一页,上一节}字的标点部分)) {接下来,前一段%转到匹配的括号(){} []

编辑文本

输入文字光标A或$一个附加的行结束后附加我光标前插入我或塞上低于光标O 打开线上方光标厘米变化文本开行首_i插入(m是运动)

剪切,复制,粘贴(工作瓦特/缓冲器)DM删除(m是运动)的dd删除行D或D $删除到行尾的X删除字符下光标X光标YM抽出之前删除字符缓冲区(m是运动)YY或Y猛拉从缓冲区指针p粘贴后从缓冲区缓存当前线p贴光标之前“BDD切割线到名为缓冲液b(A..Z)”英国石油公司从名为缓冲液b粘贴

搜索和W'Wˉˉ搜索w / w的更换/ W搜索前进后退/ + N正向搜索W和向下移动

n行n重复搜索(向前)N重复搜索(向后)

:S /老/新更换接下来的旧与新occurence:S /老/新/ g的更换就行了所有出现:X,YS /老/新/ g的替换,从线上的所有ocurrences X到Y:%s /老/ new / g进行全部替换在文件:%s /旧/新/ GC同上,与确认

其它N> M缩进n行(m是运动)N ):从外部文件f RF插入文本^ g显示状态

六快速参考http://www.sfu.ca/~yzhang/linux

H

?

?

hjkl

图1.1:在vi编辑器的快速参考。

14

15

并非所有的编辑器是最好的使用。用户可以科幻十二次无形字符由某些编辑器引入,有可能是关于缠绕线是如何处理的,可能会导致对某些应用的问题的问题。(更先进的问题,如那些可能会感兴趣的Unix系统管理员缩小场回六)编辑器的选择往往取决于什么用户熟悉,或正在试图完成一个高度个人化的。上述任何编辑,或类似的第三方编辑的可能是这门课程的目的,苏FFI充分的。

1.8 Unix的目录结构

与其他计算系统,数据和程序被包含在“网络连接LES”和“科幻莱”中包含的“文件夹”。在Unix“文件夹”被称为“目录”。在Unix目录的结构是一个倒置的树的,其在顶部根及其分支的子目录和FI莱它们包含向下延伸。根目录被称为“/”(发音为“斜线”)。虽然在大多数Unix类操作系统存在的图形浏览器,它是用户的终端窗口的命令行使用一些简单的命令来查看和浏览的目录结构的内容合作多的电子FFI充分的。这些命令PWD(打印工作目录),LS(列表内容)和CD(更改目录)。如果键入:

$ CD $ PWD $ LS

您将看到您的当前工作目录的位置,这是你的home目录,是一样的东西

$ PWD /家庭/您的用户名

其中,“您的用户名”是您系统上的用户名。其他用户可能有自己的主目录中/家

或类似的东西,这取决于如何您的系统管理员设置的东西了。 ls命令将显示你的home目录中的内容,这可能是网络莱或其他子目录。地震的Unix代码中安装了一些系统目录路径。我们将假设所有的CWP / SU的:地震Unix的码位于在/ usr /本地/ CWP

15

16

这是指在目录“CWP”,这是一种称为目录“本地”,而这又是该目录的一个目录的子目录“usr和”本身是斜线的子目录。值得一欺骗为用户花费一定时间学习他或她的目录的布局。有一个叫命令

$ DF

这将表明,构成用户机上的可用的存储的硬件设备。从输入“DF”一个典型的输出

文件系统1K块使用了一个安装在/ dev / hda2的334450 147458 169723 47%/的/ dev / hda1的147766 9956 130181 8%/开机无257528 0 257528 0%的/ dev / shm的为/ dev / hda7的731324 16836 676740 3%可用已用% / tmp 目录的/ dev / hda3的7570748 4559592 2620376 64%的/ usr的/ dev / hda6的669080 132400 502144 21%/ VAR为/ dev / hda8 26952820 8162608 17398988 32%/从零开始https://www.360docs.net/doc/8c13383978.html,:/home 41284928 21360192 17827584 55%/家庭https://www.360docs.net/doc/8c13383978.html,:/usr/local 10078784 5235872 4330912 55%的/ usr /本地https://www.360docs.net/doc/8c13383978.html,:/cwpscratch 10321216 6676480 3120448 69%/ cwpscratch https://www.360docs.net/doc/8c13383978.html,:/data 51606144 1988672 46996032 5%/数据

在最左边列中的硬件设备。那些名称以“开发”是特定网络?计算机上的设备。与机器名开始,在这种情况下,“https://www.360docs.net/doc/8c13383978.html,”的项目实际存在的另一台机器上,但“远程安装”作为似乎是这台机器上。左起第二列显示设备上的总的空间,在第三列显示的空间的使用量,而第四显示可用的量,第5栏示出的使用所用的空间的百分比。最后,最右列显示了这些设备被安装的目录。在类Unix的操作系统中,用户只能看到一个目录树,而不是单独的硬件设备。如果在一些其他目录的尝试科幻编辑莱斯,你会科幻,你可能没有权限来读取,写入或修改其中许多目录的内容次。 UNIX是一个多用户环境中,这意味着从早期天,保护用户彼此和从自己,以及保护操作系统从用户的概念已是当务之急。在所有这些例子都有,我们使用一个浏览器,但也有在大多数Unix系统中可用的浏览器。有与使用的浏览器,与你得把你的双手?FF键盘使用鼠标之外没有根本的问题。浏览器不会告诉你,你的位置在终端窗口中。

16

17

1.9划痕和Data目录

以名字例如“划痕”和“数据”目录通常设有用户写入权限,使用户可以保留临时网络莱和数据网络LES他们的主目录。像“草稿纸”暂存目录通常是临时文件网络存储,并且没有备份。事实上,任何计算机系统上可能存在未以该名称被称为“刮”目录。此外,这样的目录可以在物理上位于特定网络?机是你坐在并且可能无法在其他计算机上可见。因为备份的冗余需要额外的存储器,大部分系统管理员限制的备份空间量的计算机系统的一个相对小的区域。要限制用户访问,配额可能被征收,这将阻止用户使用单个用户可以科幻LL一个磁盘这么大的空间。然而,在从无到有的地区通常有没有这样的限制,所以最好是在这些目录中的工作,并保存唯一真正重要的材料在你的home目录。用户应该知道,该临时目录的管理可能不是用户友好。使用所有在一个分区的空间可以具有可怕的后果,在管理员可以简单地删除该过大的物品,或具有除去尚未超过一定时间访问的内容的策略。系统管理员还可以建立一个自动化的“严峻科幻乐收割机”来自动删除一段时间后还没有被访问的材料。因为网络连接莱斯并不总是自动备份,并且由于硬件故障的任何系统上是可能的,它是对用户购买的USB存储介质和在定期使个人备份的习惯得到一个好主意。您可能会看到任何在实验室的机器的临时目录,但这些都是双FF erent目录,分别位于二FF erent硬盘上。这可能会导致混乱,用户可以STU FF复制到一个临时区域上

一天,然后在二FF erent一天二FF erent电脑上工作,认为他们的STU FF已被删除。从无到有目录的供应和使用是非常重要的,因为每个用户都有限制的空间,他或她可能在他/她的home目录使用量的配额。上,其中,提供了一种暂存目录系统,还具有写权限,用户可以经由创建他/她的个人工作区

$的CD / $划伤您的用户名的mkdir <---此处“您的用户名”是您的用户名

除非另有说明,本文假设你正在进行在你的个人工作从无到有领域的进一步行动。

1.10 Shell环境变量和路径

工作外壳是具有CON组fi guration,为用户访问可执行网络LES系统上的程序。回想SHELL变量的呼应价值

17

18

$回声$ SHELL <---返回用户的工作shell环境的价值

告诉你什么shell程序是你的工作shell环境。还有比SHELL等其他环境变量。再次,注意,如果此命令返回的值之一

/ bin / sh的/ bin中/ KSH /斌/庆典/斌/的zsh

那么你是在SH-家庭工作,需要按照说明与该类型环境中工作。如果,在另一方面,回波$ SHELL命令返回值中的一个

/斌/ CSH /斌/ tcsh中

那么你是在CSH-家庭工作,需要遵循备用一系列的指示。

1.10.1路径或PATH

另一个重要的变量是“路径”或“路径”。该值路径变量告诉工作外壳查找位置可执行网络莱的。通常情况下,可执行文件存储在某些目录的子目录“bin”中。因为有可能在系统上安装许多软件包,可能有许多这样的位置。到FI ND 出您可以访问哪些路径,这就是说,它可执行你的shell可以看到,类型

$回声$ PATH

要么

$回声$ PATH

其结果将是列表,用冒号“:”分隔的路径或空格“”可执行程序。

1.10.2本CWPROOT变量

变量PATH是重要的,但SHELL和PATH不是唯一可能的环境变量。程序员经常会使用环境变量给一个用户shell访问某些属性或信息就一个特定的?的软件。因为有时软件包受限的兴趣时完成。对于SU路径CWPROOT是必要的运行SU程序套件。我们需要设置这个环境变量,并把地震Unix程序的套件用户的路径上。

18

19

1.11壳牌CON组fi guration科幻LES

因为用户的shell有作为属性的自然编程语言,shell环境的许多配置简单是可能的。到FI十二次CON组fi guration网络莱为您的操作系统,类型

所有文件和子目录$ PWD <---打印工作目录$ LS -a <--- SHOW目录列表

那么用户就会看到一些科幻LES的名称以一个点“。”。

1.12设置的工作环境

一对类Unix系统工作的最迪FFI邪教和混乱的方面是正确的开头遇到过。这是设置用户的个人环境的问题。有两种这里给出的指令集。一个贝壳的CSH-家庭

和其他的SH-家庭。

1.1

2.1本CSH-家庭

通过每个$ SHELL返回的shell类型有二FF erent CON组fi guration文件中。对于CSH-家族(tcsh中,CSH),该CON组fi guration网络莱是“.cs hrc中”和“的.login”。昆仑网络古尔外壳,编辑文件科幻的.cshrc。另外,“路径”的变量是小写。你可能会连接ND开头的行

设置path =(有条目类似

设置路径=(/ lib目录?/ bin中的/ usr / bin中/ X11的/ usr / local / bin 目录/ bin中的/ usr / bin中。在/ usr / local / bin目录/ usr / sbin目录)假设地震Unix的软件包安装目录

在/ usr /本地/ CWP您的系统。然后,我们将上面添加一行来设置“CWPROOT”环境变量。和下面一行脱音响NE用户的“路径”

SETENV CWPROOT在/ usr /本地/ CWP

设置路径=(/ lib目录?/ bin中的/ usr / bin中/ X11的/ usr / local / bin 目录/ bin中的/ usr / bin中。在/ usr / local / bin目录/ usr / sbin目录)

设置path =($路径$ CWPROOT /箱)

19

20

保存网络文件,并注销并重新登录,您将需要从系统中彻底退出,不只是从特定的终端窗口。当你重新登录,并拉起一个终端窗口,键入

$回声$ CWPROOT

将产生

在/ usr /本地/ CWP

$回声$ PATH

将产生

/ lib中/ U /您的用户名/ bin中的/ usr / bin中/ X11的/ usr / local / bin 目录/ bin中的/ usr / bin中。在/ usr / local / bin目录/ usr / sbin目录的/ usr /本地/ CWP /箱

1.1

2.2的SH-家庭

这个过程是对壳的SH-家族相似。感兴趣的网络文件的形式的“的.pro科幻乐”的.bashrc一个名字,“和”.bash廓“。而”.bash廓“是由shell读取一次,但”.bashrc中“音响文件读取每次打开一个窗口或shell被调用。因此,这里是什么在佛罗里达州设置uences用户完整的环境。这个文件的默认形式可能会显示类似的路径线

PATH = $ PATH:$ HOME / bin中::在/ usr / local / bin目录

应被编辑以读

出口CWPROOT =的/ usr /本地/ CWP PATH = $ PATH:$ HOME / bin中::在/ usr / local / bin目录:$ CWPROOT /箱

路径的重要组成部分是添加

:$ CWPROOT /箱

在PATH行末,不管它怎么说。然后用户注销,并在更改才能?FF等重新登录。在每一种情况下,PATH和CWPROOT变量是必需的用户的工作壳环境到FI次地震

的Unix的可执行文件进行设置。

20

21

1.13 Unix的帮助机制 - UNIX手册页

Unix或类Unix系统上的每个程序都有一个电动手册页,名为“人页”,即给其使用的简短描述。例如,键入:

男子LS人CD曼DF人sh手册bash的人CSH

看什么系统提示有关这些命令。例如:

LS(1)用户命令LS(1)

名称

LS - 列出目录内容

概要LS [选项] ... [文件] ...

有关这些文件的描述列表信息(当前目录默认情况下)。按字母排序,如果没有-cftuvSUX也不--sort的。

强制性参数长选项是强制性的短选项时也是。

-a,--all不要忽略开头的条目。

-A,--almost,所有没有列出暗示。和..

- 更多

ls命令手册页的其余部分是通过按下空格键查看。查看Unix man手册为你迄今使用的每个Unix的命令。大多数Unix命令都有选项,如-a它允许您查看网络连接LES与点开始的“。”或ls -l命令,显示节目的“长列表”的LS。请记住,查看每个新的Unix命令的UNIX手册页,因为它呈现

第2章

实验活动#1 - 开始使用Unix和SU

具有可执行权限和任何程序对用户的路径显示可以通过简单地在命令行中键入其名执行。例如,如果你设置了正确的路径,你应该能够做到以下几点

$ suplane | suxwigb&^这个符号,连字符,表示程序在后台中运行

命令行本身是一个shell程序正在提供这样就可以提供输入的交互提示。一个命令行的正确输入是一个可执行文件科幻,这可能是编译程序或者一个Unix shell脚本。命令提示符是在说,“在这里键入可执行文件的名称。”为了让剧情更我们可能会增加一些坐标轴标签:

$ suplane | suxwigb标题=“suplane测试模式”LABEL1 =“时间(s)”LABEL2 =“跟踪号”&^这里的命令跨线断,因此适合这个页面。在你的屏幕将它输入作为一长行。

看到一个测试图案由三个相交线在地震道的形式。该数据包括地震道与非零只有单一的值。这是可变的区域显示在每个地方轨迹是积极的有价值的地方是黑色的阴影。参见图2.1。等价地,你应该通过键入看到相同的输出

suplane> junk.su suxwigb <标题junk.su =“suplane测试模式”LABEL1 =“时间(s)”LABEL2 =“跟踪号”&

22

23

0.05

0.10

0.15

0.20

0.25

时间(s)

10 20 30跟踪号

suplane测试模式

图2.1:本suplane测试图案。

23

24

最后,我们往往需要有可以导入到文档中的图形输出。在SU我们有图形程序,在PostScript语言写输出

supswigb <标题junk.su =“suplane测试模式”LABEL1 =“时间(s)”LABEL2 =“跟踪号”> suplane.eps

2.1管道|,重定向<,重定向了>,并在后台运行&

在最后一节的命令,我们使用了三个符号,让网络莱和方案,将数据发送给对方,并在程序之间发送数据。竖线|被称为所有类Unix系统中的“管道”。发送到标准输出的输出可以从一个程序通过管道输送到另一个程序作为在的例子做

$ suplane | suxwigb&

其中,中英文可译为“运行suplane(管道输出到程序)suxwigb其中,与说(在这条线在后台运行的所有命令)。”该管道|是内存卜FF器具有一个输入和“从标准输入读”“写到标准输出”的输出。你可以认为这是一种水管。数据的流,很像水流是FL从程序suplane到程序suxwigb由于。“大于”号>被称为“重定向去”,

$ suplane> junk.su

说“运行suplane(写入输出到网络文件)junk.su.该>是一个BU FF器从标准输入读取和写入文件科幻的名字提供给符号的右侧。把这看作数据倾泻出来的方案suplane进入网络连接文件junk.su.在“免得比”号<被称为“重定向”和

$ suxwigb

说“运行suxwigb junk.su(从网络连接文件读取输入)(在后台运行)。?| =从程序管方案

?> =写入数据从程序网络文件(重定向输出)

?<=读取网络文件到程序数据(重定向)

?&=在后台运行程序

24

25

0.05

0.10

0.15

0.20

0.25

时间(s)

10 20 30跟踪号

suplane测试模式

20

40

60

80

100

120

频率。赫兹

10 20 30跟踪numbera)B)

图2.2:一)suplane测试图案。 b)该傅立叶变换(时间频率)的suplane测试图案的通过suspecfx。

2.2穿线命令一起

我们可能会通过管道串起来的方案(|),并通过重定向输入和输出(>)和(<)。一个例子是使用程序suspecfx看与suplane制成数据的轨迹的振幅谱:

$ suplane | suspecfx | suxwigb --make suplane数据,找到幅度谱,情节一样扭动痕迹

等价的,我们可以这样做

$ suplane> junk.su --make suplane数据写入一个文件。 $ suspecfx junk1.su --find幅度谱,写入文件。 $ suxwigb

这不完全一样的东西,在网络最终输出与前面的例子来说,所不同的是在这里,两名网络莱已经建立。参见图2.2。

2.2.1供讨论的问题

?什么是傅立叶变换的功能?

25

26

?什么是振幅谱?

?为什么在图2.2的幅度谱的地块显示为他们做什么?

2.3 Unix的快速参考卡

这两个网络连接gures,图2.3和图2.4是一些Unix命令的快速参考

26

27

图2.3:UNIX快速参考卡P1。从大学参考

27

28

图2.4:UNIX快速参考卡P2。

c各种控件功能和基本属性介绍

C#控件属性介绍 一、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 (2)WindowState属性:用来获取或设置窗体的窗口状态。取值有三种:Normal (窗体正常显示)、 Minimized(窗体以最小化形式显示)和 Maximized (窗体以最大化形式显示)。 (3)StartPosition属性:用来获取或设置运行时窗体的起始位置。(System.Windows.Forms.SystemInformation.WindowsArea.Height获取显示器的高度) (4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。 (5)Width属性:用来获取或设置窗体的宽度。 (6)Height属性:用来获取或设置窗体的高度。 (7)Left属性:用来获取或设置窗体的左边缘的x坐标(以像素为单位)。(8)Top属性:用来获取或设置窗体的上边缘的y坐标(以像素为单位)。(9)ControlBox属性:用来获取或设置一个值,该值指示在该窗体的标题栏中是否显示控制框。值为true时将显示控制框,值为false时不显示控制框。(10)MaximizeBox属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。值为 true时显示最大化按钮,值为false时不显示最大化按钮。 (11)MinimizeBox 属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。值为 true时显示最小化按钮,值为false时不显示最小化按钮。 (12)AcceptButton 属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按 Enter 键时就相当于单击了窗体上的该按钮。 (13)CancelButton 属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按 Esc 键时就相当于单击了窗体上的该按钮。 (14)Modal 属性:该属性用来设置窗体是否为有模式显示窗体。如果有模式地显示该窗体,该属性值为true;否则为 false。当有模式地显示窗体时,只能对模式窗体上的对象进行输入。必须隐藏或关闭模式窗体(通常是响应某个用户操作),然后才能对另一窗体进行输入。有模式显示的窗体通常用做应用程序中的对话框。 (15)ActiveControl属性:用来获取或设置容器控件中的活动控件。窗体也是一种容器控件。 (16)ActiveMdiChild属性:用来获取多文档界面(MDI)的当前活动子窗口。(17)AutoScroll 属性:用来获取或设置一个值,该值指示窗体是否实现自动滚动。如果此属性值设置为true,则当任何控件位于窗体工作区之外时,会在该窗体上显示滚动条。另外,当自动滚动打开时,窗体的工作区自动滚动,以使具有输入焦点的控件可见。 (18)BackColor属性:用来获取或设置窗体的背景色。

vb练习题,电子版第13章多窗体程序设计

第十三章多窗体程序设计 教学要求: 了解多重窗体应用程序的适用范围与特点,掌握多重窗体应用程序建立的主要步骤;了解多重窗体程序的执行与保存特点,了解Visual Basic工程的结构特点(标准模块、窗体模块、Sub Main过程);掌握闲置循环与DoEvents语句的用法。 知识点: 多重窗体应用程序;多重窗体应用程序的建立、执行、保存;Visual Basic工程的结构特点;闲置循环与DoEvents语句。 内容导航: 一、建立多重窗体应用程序 (一)多重窗体程序设计有关的语句和方法 1.Load语句。格式:Load 窗体名 2.Unload语句。格式:Unload 窗体名 3.Show方法。格式:[窗体名.]Show[模式] 4.Hide方法。格式:[窗体名.]Hide (二)建立界面 窗体的添加方法有如下4种: 方法一:单击“工程”菜单中的“添加窗体”命令; 方法二:用鼠标右键单击“工程资源管理器”的任何项目,在弹出的快捷菜单中选择“添加”,单击“添加窗体”命令; 方法三:单击工具栏中的“添加窗体”命令; 方法四:通过组合键Alt+P,F。 二、多重窗体程序的执行与保存 (一)指定启动窗体 在缺省情况下,应用程序中的第一个窗体被指定为启动窗体。应用程序开始运行时,此窗体就被显示出来。要改变启动窗体的执行方法如下: 从“工程”菜单中,选取“工程属性”命令,选取“通用”选项卡,在“启动对象”中,选取要作为新启动窗体的窗体,最后单击“确定”按钮。 (二)保存多窗体程序 为了保存多窗体程序,通常需要一下两步: 1.保存模块。 2.保存工程 (三)装入多窗体程序 装入多窗体程序和装入单窗体程序一样,只要打开工程文件,工程中包括的其他文件便会自动装入内存,而不用一一打开。 三、Visual Basic工程结构 Visual Basic工程分为3个层次:工程级(全局)、模块级和过程级,这对变量与类型的定义和使用都是很重要的。

ExcelVBA用户窗体编程基础

ExcelVBA用户窗体编程基础 概述 当使用MsgBox函数和InputBox函数不能满足与用户交互的需求时,您能使用用户窗体来自定义对话框。您能使用用户窗体来显示所输入的数据,您甚至能使用用户窗体创建一个完整的用户界面,而不会让用户接触到电子表格本身。 您在Windows对话框中所看到的大多数控件都能在用户窗体中实现——命令按钮,选项按钮,复选框,文本框,组合框——加上一些其它不常用的控件像图像,日历,等等。 本文介绍了用户窗体的基本概念,并介绍了使用用户窗体的常用技术。其中,也讲解了一些最通用的思路。在文章中列举了一个包含所有过程的完整的示例文件,以及实现这些过程的代码,让您能在实践中看到所有工作的基本原理和方法。 本文包含以下内容: ● 基本的用户窗体操作 ● 用户窗体和控件的属性 ● 一个用户窗体的生命周期 ● 用户窗体和控件的事件 ● 问题1:如何在用户窗体间传递数据? ● 问题2:如何找到我的窗体中的某类控件? ● 问题3:如何获取数据到列表框中? ● 问题4:如何为循环创建进度条? ● 一个完整的用户窗体综合示例 基本的用户窗体操作 ?创建一个窗体。打开VBE编辑器(选择菜单“工具——宏——Visual Basic编辑器”或按Alt+F11组合键),选择菜单“插入——用户窗体”,或者在工程窗口中单击右键,从弹出的快捷菜单中选择“插入——用户窗体”,即可创建一个窗体。 ?添加控件。当你创建了一个窗体后,将会显示一个名为“控件工具箱”的浮动工具箱(如果没有该工具箱的话,您可以从视图菜单中找到它),其中显示了最普遍的控件类型。单击您想要的控件,拖动它到您的用户窗体中。 ?更多的控件。有一些更多的可用的控件,您可以在控件工具箱中单击右键,从中选择“附加控件”,您能添加日历、电子表

实训12 自动创建窗体和窗体向导创建窗体

48 实训12自动创建窗体和窗体向导创建窗体 【实验目的】 1.掌握“自动创建窗体”创建窗体的方法。 2.掌握“窗体向导”创建窗体的方法。 3.能够根据具体要求,选择合适的窗体创建方法。 【实验内容】 【题1】建立一个“读者记录”窗体,如图12-1所示。数据源为“读者信息”表,窗体标题为“读者记录”。 解题分析: 从图12-1可知,窗体中的控件基本符合“纵栏式”布局,而且窗体的数据源为单一数据源,所以本题利用“窗体向导”方法是效率最高的。 操作提示: (1)单击“创建”选项卡“窗体”分组中的【向导】按钮,打开“窗体向导”对 话框,依次操作,创建基于“读者信息”表的纵栏式窗体。 (2)在窗体的“设计”视图中,对所建的窗体进行修饰。 ①调整控件的布局。 ②添加标签控件作为窗体的标题,添加直线控件作为修饰。 ③打开窗体“属性”窗口,设置相关属性如图12-2所示。 (3) 保存窗体,命名为“读者记录”。 图12-1 “读者记录”窗体图12-2 窗体的属性设置 【题2】建立一个“读者借书情况”的主/子窗体,如图12-3所示。主窗体显示读者的借书证号、姓名和部门。子窗体显示相应读者的借书情况,包括借书证号、书号、书名、借书日期和还书日期。 解题分析: 可以创建主/子窗体的方法有2种:一是对选中的数据表执行“创建”选项卡“窗体”分组中的【窗体】命令,适合用于数据源来自两个有关联的数据表;二是利用“窗体向导”

49 创建方法,适合用于数据源来自两个以上有关联的数据表。 从图12-3中可以看出,主窗体的数据源是“读者信息”表,而子窗体的数据源来自“图书信息”表和“借书登记”表,这3个数据表已在前面的实验中实施了关联,因此本题宜选用“窗体向导”方法。 图12-3 “读者借书情况”主/子窗体 操作提示: (1)利用向导创建主/子窗体,数据源为“读者信息”表、“图书信息”表和“借书登记”表。根据向导的提示,依次从3个表中选择可用字段如图12-4所示,选择显示布局如图12-5所示。 图12-4 窗体向导-选择数据源

用C语言写windows窗体程序

很多学C的朋友认为C语言只能写DOS程序,而不能像C#那样写windows窗体的程序,这你可就打错特错了,今天我来简单掩饰下C语言怎么利用windows提供出来的API写windows窗体程序。 开发工具VC6.0,开发平台windows7。 首先第一步,打开VC,新建工程,选择win32 application,如下图 然后新建一个C语言源文件,这个就不截图了,如果这也不会的话相信你也不会来看这篇帖子~呵呵 建好文件以后把一下代码输入进去。编译即可~代码讲解会下帖子下方 1.#include 2. 3.LRESULT CALLBACK Windo WP roc( 4. HWND hwnd, // handle to window 5. UINT uMsg, // message identifier 6. WPARAM wParam, // first message parameter 7. LPARAM lParam // second message parameter 8. );

9. 10. 11.int WINAPI WinMain(HINSTANCE hInstance, 12. HINSTANCE hPrevInstance, 13. L PS TR lpCmdLine, 14. int nShowCmd 15. )//入口函数 16.{ 17. WNDCLASS wndclass; 18. HWND wndhwnd; 19. MSG msg; 20. wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//加载图标 21. wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//加载鼠标样式 22. wndclass.style=CS_VREDRAW | CS_HREDRAW;//窗口样式 23. wndclass.lpfnWndProc=WindowProc;//窗口过程回调函数 24. wndclass.cbClsExtra=0;//类额外内存 25. wndclass.cbWndExtra=0;//窗口额外内存 26. wndclass.hInstance=hInstance;// 27. wndclass.hbrBackground=(HBRUSH)GetStockObject(SYSTEM_FONT);//窗 口颜色 28. wndclass.lpszMenuName=NULL;//窗口菜单 29. wndclass.lpszClassName="testWindow";//窗口类名 30. 31. RegisterClass(&wndclass); 32. wndhwnd=CreateWindow("testWindow","windows",WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX, 33. CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, 34. NULL,NULL,hInstance,NULL); 35. ShowWindow(wndhwnd,SW_SHOWNORMAL); 36. UpdateWindow(wndhwnd); 37. while(GetMessage(&msg,NULL,0,0)) 38. {

Excel中的窗体控件功能非常强大.

Excel中的窗体控件功能非常强大,但有关它们的资料却很少见,甚至Excel帮助文件也是语焉不详。本文通过一个实例说明怎样用窗体控件快速构造出动态图表。 假设有一家公司要统计两种产品(产品X,产品Y)的销售情况,这两种产品的销售区域相同,不同的只是它们的销售量。按照常规的思路,我们可以为两种产品分别设计一个图表,但 更专业的办法是只用一个图表,由用户选择要显示哪一批数据——即,通过单元按钮来选择图表要显示的数据。 为便于说明,我们需要一些示例数据。首先在A列输入地理区域,如图一,在B2和C2分别输入“产品X”和“产品Y”,在B3:C8区域输入销售数据。 一、提取数据 接下来的步骤是把某种产品的数据提取到工作表的另一个区域,以便创建图表。由于图表 是基于提取出来的数据创建,而不是基于原始数据创建,我们将能够方便地切换提取哪一种产 品的数据,也就是切换用来绘制图表的数据。 在A14单元输入=A3,把它复制到A15:A19。我们将用A11单元的值来控制要提取的是哪一种产品的数据(也就是控制图表要描述的是哪一批数据)。现在,在A11单元输入1。在B13单元输入公式=OFFSET(A2,0,$A$11),再把它复制到B14:B19。 OFFSET函数的作用是提取数据,它以指定的单元为参照,偏移指定的行、列数,返回新 的单元引用。例如在本例中,参照单元是A2(OFFSET的第一个参数),第二个参数0表示行偏移量,即OFFSET返回的将是与参照单元同一行的值,第三个参数($A$11)表示列偏移量,在

本例中OFFSET函数将检查A11单元的值(现在是1)并将它作为偏移量。因此, OFFSET(A2,0,$A$11)函数的意义就是:找到同一行且从A2(B2)偏移一列的单元,返回该单元 的值。 现在以A13:B19的数据为基础创建一个标准的柱形图:先选中A13:B19区域,选择菜单“插入”→“图表”,接受默认的图表类型“柱形图”,点击“完成”。检查一下:A13:B19和图表是否确实显示了产品X的数据;如果没有,检查你是否严格按照前面的操作步骤执行。把A11单元的内容改成2,检查A13:B19和图表都显示出了产品B的数据。 二、加入选项按钮 不要第一步是加入选项按钮来控制A11单元的值。选择菜单“视图”→“工具栏”→“窗体”(,点击工具栏上的“选项按钮”,再点击图表上方的空白位置。重复这个过 选择“控件工具箱”) 程,把第二个选项按钮也放入图表。 右击第一个选项按钮,选择“设置控件格式”,然后选择“控制”,把“单元格链接”设置为 A11单元,选中“已选择”,点击“确定”,如图二。 把第一个选项按钮的文字标签改成“产品X”,把第二个选项按钮的文字标签改成“产品Y”(设置第一个选项按钮的“控制”属性时,第二个选项按钮的属性也被自动设置)。点击第一个选项按钮(产品X)把A11单元的值设置为1,点击第二个选项按钮把A11单元的值设置为2。 点击一下图表上按钮之外的区域,然后依次点击两个选项按钮,看看图表内容是否根据当

ACCESS数据查询窗体设计

复习: 1、窗体按其功能可以分为哪几种? 2、窗体常用的视图有哪三种? 3、窗体的组成?基本组成部分有哪三部分?默认是哪个部分。 4、在窗体中,对象的属性有哪几种? 5、控件可以分为哪几种? 6、窗体的数据源有哪几种? 新授课: 任务二数据查询窗体设计 任务描述:通过设计数据查询窗体,了解数据查询窗体的基本功能及结构;理解掌握主/子窗体的作用、设计数据查询窗体的基本步骤;学会设计数据查询窗体,并能够为用户简单查询交互界面。 一、设计数据查询窗体 例7-3:设计一个查询学生成绩窗体,实现按学号或姓名查询学生的学号、姓名、班级名称课程名称及成绩。窗体样张如下: 具体功能分析:运行查询窗体时,如果在主窗体对应文本框不输入学号和姓名时,子窗体中显示所有学生的信息;当只输入学号并单击搜索时,显示该学生的信息;当只输入姓名全名或部分并单击搜索时,子窗体显示满足条件的信息;当输入学号和姓名并单击搜索时,子窗体显示满足条件的信息;单击关闭按钮时,关闭该窗体。 操作步骤:

1、创建主窗体,保存为MAIN1。 在主窗体中添加两个文本框,文本框名称分别为xh1,xm1;使用标签在添加“查询学生成绩”标题文本;添加窗体标题“按学号或姓名查询学生成绩(学号)”;修改窗体的相关格式属性。 2、创建一个查询,保存为query1。查询代码如下: SELECT stu.xh, stu.xm AS 姓名, stu.bjmc AS 班级名称, kcb.kcmc AS 课程名称, cjb.cj AS 成绩 FROM stu INNER JOIN (kcb INNER JOIN cjb ON kcb.kch = cjb.kch) ON stu.xh = cjb.xh WHERE ((([forms]![main1].[xh1]) Is Null) AND (([forms]![main1].[xm1]) Is Null)) OR (((stu.xh)=[forms]![main1].[xh1]) AND (([forms]![main1].[xm1]) Is Null)) OR (((stu.xm) Like "*" & [forms]![main1].[xm1] & "*") AND (([forms]![main1].[xh1]) Is Null)) OR (((stu.xh)=[forms]![main1].[xh1]) AND ((stu.xm) Like "*" & [forms]![main1].[xm1] & "*")); 3、创建数据表窗体,保存为ZCT1。(修改数据表窗体的相关格式和数据属性)。 4、创建主子窗体,将数据表窗体(ZCT1)拖动到主窗体中,并为“子窗体/子报表”对象命名为ZCTDX。 5、向主窗体添加命令按钮,并保存窗体。 (1)搜索按钮:按钮名称为SS1,标题“搜索”,该按钮的单击事件代码为“ME!ZCTDX.REQUERY”。 (2)关闭按钮:按钮名称为GB1,标题“关闭”,该钮的单击事件代码为“DOCMD.CLOSE”。 提高篇设置: (1)运行窗体设计设置主/子窗体的格式及数据属性。 (2)为接收数据的文本框设置获得焦点事件 Private Sub xh1_GotFocus() xh1 = Null End Sub Private Sub xm1_GotFocus() xm1 = Null End Sub 二、数据查询窗体相关知识 1、主/子窗体

设计视图创建窗体

设计视图创建窗体 江苏宿迁市宿城中等专业学校蔡淑红 【教学背景】 1、面向学生:高一计算机专业班 2、学科:ACCESS数据库 3、课时:1课时 4、学生准备: (1)认真复习“自动创建窗体向导创建窗体”,“自动窗体功能创建窗体”,两种方法的异同点,并比较窗体界面的区别。 (2)认真预习本节内容,带着事先给定的问题预习,即设计视图创建窗体的特点是什么?它和前面两种方法本质上有何不同?设想要想修改装饰窗体的结构在什么环境下可以完成? 【课题】§5.2.4设计视图创建窗体 【教材分析】《数据库应用基础-ACCESS》教材是北京邮电大学出版社出版,作者: 侯春瑶。它介绍了数据库技术的基础知识,使用了实例,内容基本是由浅入深,循序渐进,图文茂。本书教学重点是“查询”、“窗体”和“报表”,教学难点是窗体,本节是教学重点中的重点,起到承上启下作用。 【教学目标】 知识与技能: 1、能熟练识别“设计视图创建窗体”的窗口; 2、撑握“设计视图创建窗体”创建方法; 3、能懂“窗体属性表”在窗体的作用。 过程与方法: 通过提问“能否在设计视图窗口”的“主体”节空白画面上设计一幅自己想象的窗体画面”这样的一个情境,让学生发现问题----自主探索----解决问题等一系列探究过程,引导学生在画面上添加数据、设计布局,在此过程中去分析引导,学生在不知不觉中学会了属性表的使用,主体出来了,那么整体上是否需要修饰呢?引出下面的内容(任务二)。 情感态度价值观: 通过“小组成员的讨论协作与合理的分工,来设计布局主体窗口”活动,紧密联系学生生活实际,进一步培养学生动手操作技能,加强了他们的团队精神,让他们体会到团队协作的重要性,同时也培养了他们的空间想象力与审美能力。 【教学重点】 窗体的布局与属性表的使用 【教学难点】 用属性表为窗体设计服务。 【教学法设计】

窗体知识点整理

窗体知识点整理 在窗体中,经常考到的知识点包括窗体常用属性的设置,窗体中常用控件的属性的设置,控件类型的相互转换,计算型控件,Tab键次序的更改以及VBA代码的补充。 基础知识 考点一、窗体属性的设置 1.窗体标题设置 例如3.3.6,将窗体标题设置为“测试窗体”。 操作步骤: 步骤1:在窗体对象中右击窗体"fTest",在弹出的快捷菜单中选择"设计视图"。 步骤2:选择"窗体设计工具"选项卡中的"标签"控件,单击窗体页眉节区适当位置,输入"窗体测试样例"。右键单击"窗体测试样例"标签选择"属性",在"名称"行输入"bTitle",关闭属性界面。 2.窗体记录源 例如35.3.1,将窗体“tCollect”的记录源改为查询对象“qT”。 操作步骤: 步骤1:选中"窗体"对象,右键单击"fCollect"选择【设计视图】。 步骤2:右键单击窗体空白处,选择【属性】,在【全部】选项卡中的"记录源"行右侧下拉列表中选中"qT",关闭属性表。 3.边框样式,水平滚动条和垂直滚动条,记录选择器,浏览按钮,分隔线, 最大化和最小化按钮。 例如25.3.2,将“fStud”窗体的边框改为“细边框”样式,取消窗体中的水平和垂直滚动条、最大最小化按钮;取消子窗体中的记录选择器、浏览按钮(导航按钮)和分隔线。 操作步骤: 步骤1:右键单击【窗体选择器】|【属性】,在"边框样式"行下拉列表中选择"细边框"。 步骤2:在"滚动条"行下拉列表中选择"两者均无"。 步骤3:在"最大最小化按钮"行下拉列表中选择"无";分别在"记录选择器","导航按

钮"和"分隔线"行下拉列表中选择"否";关闭属性界面。 考点二、控件属性的设置 1.添加控件,修改标题,名称。 例如3.3.1,在窗体的窗体页眉节区添加一个标签控件,名称为Title,标题为“窗体测试样例”。 操作步骤: 步骤1:在窗体对象中右击窗体"fTest",在弹出的快捷菜单中选择"设计视图"。 步骤2:选择"窗体设计工具"选项卡中的"标签"控件,单击窗体页眉节区适当位置,输入"窗体测试样例"。右键单击"窗体测试样例"标签选择"属性",在"名称"行输入"bTitle",关闭属性界面。 2.单击事件 例如3.3.5,设置命令按钮bTest的单击事件为给定的宏对象m1。 操作步骤: 步骤1:右键单击命令按钮"bTest",选择"属性"。 步骤2:在"事件"选项卡的"单击"行列表中选中"m1",关闭属性界面。 3.更改文字颜色,字体粗细 例如8.3.1,将窗体中名称为“Lremark”的标签控件上的文字颜色改为红色(红色代码为255),字体粗细改为“加粗”。 操作步骤: 步骤1:在"窗体"属体对话框的"边框样式"行右侧下拉列表中选中"对话框边框" 步骤2:分别在"滚动条"、"记录选择器"、"导航按钮"和"分隔线"的右侧下拉列表中选择"两者均无"或"否"。 4.上边距、左边距 例如11.3.1,对窗体进行如下设置:在距窗体左边1厘米、距上边0.6厘米处,依次水平放置3个命令按钮:"显示修改产品表"(名为"bt1")、"查询"(名为"bt2")和"退出"(名为

实验一(C#窗体应用程序)

实验一 一.步骤 例1 1.添加控件 在Windows窗体中添加两个标签控件和两个文本控件,控件的名称分别为label1、label2和textBox1、textBox2。在添加一个命令按钮控件,名称为button1。 2.编写事件处理代码 private void button1_Click(object sender, EventArgs e) { string sno, psw; double num; sno = textBox1.Text; psw = textBox2.Text; if (Double.TryParse(sno, out num)) { if (psw=="123456") MessageBox.Show("输入正确,欢迎使用本系统!", "欢迎"); else { MessageBox.Show("密码输入错误,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); textBox2.Text = ""; } } else { MessageBox.Show("输入错误,学号不能有非数字字符,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); textBox2.Text = ""; } } 例2 3.添加控件 在Windows窗体中添加三个标签控件和三个文本控件,将textBox2。在添加二个命令按钮控件,名称为button1、button2。 4.编写事件处理代码 private void button1_Click(object sender, EventArgs e) { n1 = Convert.ToInt32(textBox1.Text); n2 = Convert.ToInt32(textBox2.Text); if (n1 > n2) { int t = n1; n1 = n2; n2 = t;

C#程序设计实验报告(基于窗体的程序设计)

实验报告 专业班级:姓名:学号:实验日期: 一、实验目的: 熟练运用程序控制结构,掌握窗体程序的开发、设计。了解窗体的常用控件、消息对话框、菜单和工具栏的属性、方法和事件,并掌握基于这些控件和组件的窗体应用程序的开发方法。 二、实验内容: 1、编写一个C#控制台应用程序,对于输入的正整数n,计算1!+2!+3!+…+n! 的值并输出。 二、2、编写一个C#控制台应用程序,要求从键盘输入一个正整数n,然后输出n的所有 因子。 3、编写一个C#控制台应用程序,对于输入的年份year,判断该年份是否为闰年。 三、实验过程: 1、 using System; using System.Collections.Generic; using https://www.360docs.net/doc/8c13383978.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

private void button1_Click(object sender, EventArgs e) { int n = int.Parse(textBox1.Text); string result; long ln = 0; int j = 1; while (j <= n) { long sum = 1; for (int i = 1; i <= j; i++) sum = sum * i; ln = ln + sum; j++; } result = "1!+2!+...+" + n.ToString() + "!=" + ln.ToString(); label2.Text = result; } } } 运行结果: 2、 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program 2

Windows窗体程序课程总结

《Windows窗体课程总结》报告 课设题目C#上机考试&邮件管理系统 学院 班级 学生姓名 学号 序号 指导教师 时间2020.01.09

1.需求分析 1.1任务概述 在整个课程学习过程中,总共进行了2个程序的上机测试,分别是C#语言程序设计上机考试系统和邮件用户管理信息系统。 前者不需要连接数据库,而后者需要。 1.2 需求说明 前者需完成主界面与初级试题的设计,共5道题,具备计时功能,具有提交打分功能 后者需连接SQL server数据库,并实现对用户信息进行增删查改的功能,程序共分为窗体设计部分与数据库设计部分。 1. 3 系统开发环境简介 Visual Studio 2017 & SQL server2008. 2.数据库设计

3.功能实现与系统测试 1.C#上机考试系统(不连接数据库) 上图为主界面,以下代码为题型选择-初级自测试题 private void初级自测试题PToolStripMenuItem_Click(object sender, EventArgs e) { PrimaryExamForm PFrm = new PrimaryExamForm();//instance PFrm.Show();//调用Show(),显示窗体PFrm } 如下图所示

初级自测题窗体设计 在上述图片中主要为题目的设置,计时器设置,进度条设置和交卷评分系统设计 (1)计时器设置 private void PrimaryExamForm_Load(object sender, EventArgs e) { timer1.Enabled = true; timer1.Interval = 1000; } (2)进度条设置 private void ToolStripProgressBar1_Click(object sender, EventArgs e) { btnGrade.Enabled = true; } (3)评分设置 private void BtnGrade_Click(object sender, EventArgs e) { ExamScore();//调用评分方法

ACCESS入门教程(十一)如何建立数据窗体

ACCESS入门教程(十一)如何建立数据窗体 自动创建窗体 首先让我们看看创建一个窗体的最简单方法:用Access自动创建一个纵栏式表格的窗体。 打开“客户信息数据库”, 在数据库窗口的选项卡上选择“窗体”对象,然后在数据库菜单上单击“新建”按钮,并在弹出的“新建窗体”对话框中选择“自动创建窗体:纵栏式”选项, 选完以后在这个对话框下部的“该对象的数据来源表或查询”下拉框中选择需要的表或查询,这时先要将鼠标移动到下拉框右面的向下按钮上,单击鼠标左键,会弹出一个下拉列表框,选取我们需要的表“客户信息表”,完成选择对象的数据来源表或查询,这些都完成以后单击“新建窗体”对话框中“确定”按钮。 接着Access就会给我们自动创建一个纵栏式的表格了。

注意在创建以后可别忘了保存这个窗体为“客户信息窗体”。 在这个窗体中看到的数据和前面课中看到的数据表有所不同:纵栏式表格每次只能显示一个记录的内容,而前面课中的数据表每次可以显示很多记录。这是它们最大的区别。 现在我们利用自动窗体建立一个表格式的窗体。在下面的学习中我们将用到这个窗体。这种窗体在建立上和纵栏式窗体在建立的方式基本上没有什么区别,也是先单击“数据库”菜单中的“新建”按钮,然后在“新建窗体”对话框中选择“自动窗体”。和上次不同, 这次选择“自动创建窗体:表格式”,而数据的来源是表“产品信息表”。将这些选定以后,单击“确定”按钮,然后给新的窗体取名“产品信息窗体”就可以了。 如何建立数据窗体 如果你想修改窗体的设计,这个很简单,首先你要将这个窗体保存。保存的方法和保存查询和表的方法是一样的。先将鼠标移动到Access菜单栏上,单击“文件”,在随后弹出的子菜单中选择“保存”命令。如果你现在是第一次保存这个窗体,就会弹出一个对话框,要求你输入一个新窗体名称。

一、窗体的常用属性

一、窗体的常用属性 1、Name属性 Name属性设置在程序代码中用于标识窗体的名字,即在编写代码时用于称呼某个窗体。 说明: 该属性只能在设计时属性窗口中(名称)更改,运行时只读。 注: ME是VB中的一个关键字,代表当前窗体。 2、Caption属性 语法:object.Caption=string Caption属性设置在窗体的标题栏中的文本,当窗体被最小化时,该文本将显示在Windows 的任务栏中相应窗体的图标上。 3、ControlBox、MaxButton和MinButton属性 ControlBox、MaxButton和MinButton属性用于控件窗体是否有控制菜单和最大化、最小化按钮。默认值均为T rue ●若将ControlBox属性设为False,则将取消窗体的控件菜单和所有的控制按钮 ●若将MaxButton属性设为False,则最大化按钮将失效 ●若将MinButton属性设为False,则最小化按钮将失效 说明: ①、控件菜单 ●为了显示控制菜单,还必须将窗体的BorderStyle属性值设置为1(固定单边框)、2(可调 整的边框)或3(固定对话框)。 ●相关属性的取值将决定窗体控制菜单中可以使用的命令。如:MaxButton和MinButton 属性设置为False,控件菜单中的最大化和最小化命令交变为无效。 ●当ControlBox属性设为False时不显示控制菜单,此时窗体右上角将不显示“最大化” 按钮、“最小化”按钮和“关闭”按钮。 ●要在窗体中显示“最大化”按钮,应将BorderStyle属性值设置为1(固定单边框)、2(可 调整的边框),且ControlBox属性设为True。

计算机二年级Access窗体功能补充事件代码设计精编WORD版

计算机二年级A c c e s s 窗体功能补充事件代码 设计精编W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

一、在窗体中还有“修改”和“保存”两个命令按钮,名称分别为“CmdEdit”和“CmdSave”,其中“保存”命令按钮在初始状态为不可用,当单击“修改”按钮后,“保存”按钮变为可用,同时在窗体的左侧显示出相应的信息和可修改的信息。如果在“口令”文本框中输入的内容与在“确认口令”文本框中输入的内容不相符,当单击“保存”按钮后,屏幕上应弹出如下图所示的提示框。现已编写了部分VBA代码,请按照VBA代码中的指示将代码补充完整。 【解题步骤】 步骤1:在设计视图中右键单击命令按钮“保存”选择【事件生成器】,在空行内输入代码: ********Add********* MsgBox“请重新输入口令!”,vbOKquit ********Add********* 步骤2:关闭界面,单击工具栏中“保存”按钮,关闭设计视图。 二、在窗体中有一个“显示全部记录”命令按钮(名称为bList),单击该按钮后,应实现将“tStudent”表中的全部记录显示出来的功能。现已编写了部分VBA代码,请按照VBA 代码中的指示将代码补充完整。 要求:修改后运行该窗体,并查看修改结果。 注意:不允许修改窗体对象“fQuery”和“fStudent”中未涉及的控件和属性;不允许修改表对象“tStudent”。对于VBA代码,只允许在“************”与“**********”之间的一空行内补充语句、完成设计,不允许增删和修改其它位置已存在的语句。 【解题步骤】 步骤1:右键单击“显示全部记录”命令按钮选择【事件生成器】。 步骤2:在空行内输入代码:

自动创建窗体

自动创建窗体 4.2 创建窗体 创建窗体有两种途径:一种是在窗体的“设计”视图中手动创建;另一种是使用Access提供的各种向导快速创建。 4.2.1 自动创建窗体 Access提供了两种方法自动创建窗体。第一种是在“表”对象下使用“自动窗体”功能;第二种是在“窗体”对象下使用“自动创建窗体”功能。 1.使用“自动窗体” 使用“自动窗体”功能是创建具有数据据维护功能窗体最快捷的方法,它可以快速创建基于选定表或查询中所有字段及记录的窗体,其窗体布局结构简单、整齐。区别于其他窗体创建方法的是,使用“自动窗体”创建窗体寸,需要先选定表对象或查询对象,而不是在窗体对象下启动向导或进入窗体“设计”视图。 例4.1 以“教师”表为数据源,使用“自动窗体”功能,创建“教师”窗体。操作步骤如下: (1)在“数据库”窗口的“表”对象下,选中“教师”表。 (2)单击“插入”菜单中的“自动窗体”命令,或单击工具栏中“新对象”按钮右侧的向下箭头,从打开的下拉列表中选择“自动窗体”选项。系统自动生成如图4.10所示的窗体。

2.使用“自动创建窗体” 利用“自动创建窗体”向导,可以创建3种形式的具有数据编辑功能的窗体,包括纵拦式窗体、农格式窗体和数据表窗体。虽然,3种窗体显示记录的形式不同。但创建步骤是一样的。 例4.2 以“课程”表为数据源,使用“自动创建窗体”向导,创建纵栏式窗体。操作步骤如下: (1)在“数据库”窗口的“表”对象下,选中“课程”表。单击工具栏上的“新对象”按钮右侧的向下箭头,从打开的列表中选择“窗体”选项,打开“新建窗体”对话框,如图4.11所示。也可以在“窗体”对象下直接单击“新建”按钮,并在打开的“新建窗体”对话框的“请选择该对象数据的来源表或查询”下拉列表中选择“课程”表。 (2)选择“自动创建窗体:纵栏式”选项,单击“确定”按钮。此时,屏幕上立即显示新建的窗体,如图4.12所示。 (3)单击工具栏上的“保存”按钮,打开“另存为”对活框,在“窗体名称”框内输入窗体的名称,单击“确定”按钮。

实验:Windows窗体应用程序设计

实验六、七:Windows窗体应用程序设计 一、实验目的: 熟悉Windows窗体应用程序设计具体应用 二、实验内容: 1、主菜单设计 1)新建一个名为MainMenu的窗体应用程序,将窗体Text属性设为“主菜单演示” 2)工具箱->公共控件->TextBox,拖动其进入窗体,在窗体中添加一个文本框textBox1 3)工具箱->菜单和工具栏->MenuStrip,拖动其进入窗体,如下图: 4)建立如下所示菜单: 在输入菜单选项名称时,用符号“&”引导一个英文字母表示可用快捷键Alt加该英文字母调出该选项。 5)双击各菜单项,给各菜单项添加如下代码: using System; using System.Collections.Generic;

using https://www.360docs.net/doc/8c13383978.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace E23 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { } private void 重置RToolStripMenuItem_Click(object sender, EventArgs e) { textBox1.Text = "欢迎使用主菜单"; } private void 清空DToolStripMenuItem_Click(object sender, EventArgs e) { textBox1.Text = ""; } private void 退出XToolStripMenuItem_Click(object sender, EventArgs e) { this.Close(); } private void 关于AToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("主菜单演示,菜单选项的使用", "提示"); } } } 运行程序,测试菜单功能,如下图:

计算机二级Access窗体功能补充事件代码设计

一、在窗体中还有“修改”和“保存”两个命令按钮,名称分别为“CmdEdit”和“CmdSave”,其中“保存”命令按钮在初始状态为不可用,当单击“修改”按钮后,“保存”按钮变为可用,同时在窗体的左侧显示出相应的信息和可修改的信息。如果在“口令”文本框中输入的内容与在“确认口令”文本框中输入的内容不相符,当单击“保存”按钮后,屏幕上应弹出如下图所示的提示框。现已编写了部分VBA代码,请按照VBA代码中的指示将代码补充完整。 【解题步骤】 步骤1:在设计视图中右键单击命令按钮“保存”选择【事件生成器】,在空行内输入代码: ********Add********* MsgBox“请重新输入口令!”,vbOKquit ********Add********* 步骤2:关闭界面,单击工具栏中“保存”按钮,关闭设计视图。 二、在窗体中有一个“显示全部记录”命令按钮(名称为bList),单击该按钮后,应实现将“tStudent”表中的全部记录显示出来的功能。现已编写了部分VBA代码,请按照VBA代码中的指示将代码补充完整。 要求:修改后运行该窗体,并查看修改结果。 注意:不允许修改窗体对象“fQuery”和“fStudent”中未涉及的控件和属性;不允许修改表对象“tStudent”。对于VBA代码,只允许在“************”与“**********”之间的一空行内补充语句、完成设计,不允许增删和修改其它位置已存在的语句。 【解题步骤】 步骤1:右键单击“显示全部记录”命令按钮选择【事件生成器】。 步骤2:在空行内输入代码: ***请在下面双引号内添入适当的SELECT语句*** ******************* 步骤3:关闭界面。

C#设计由按钮类控件实现的功能窗体实验

实验01 设计由按钮类控件实现的功能窗体 【实验目的】 熟悉C#中按钮型控件的使用,锻炼代码编写。 【实验要求】 按要求设计一个窗体,并实现其功能。 【示范模仿】 实验1.1 设计一个点菜窗口,用户只能在“龙虾、青蟹、鲍鱼”中选择一项,对佐料“酱油、芥末、醋”任意选择哪些项,提交后生成选择内容的文本。 (1) 进入C#开发环境 单击Windows的【开始】菜单【所有程序】→【Microsoft Visual Studio 2005】→【Microsoft Visual Studio 2005】。 (2) 创建项目 单击“文件”菜单下的“新建”菜单项中的“项目”子菜单项,在“新建项目”对话框中选择“Windows 应用程序”项,设置合适的名称和位置(文件所在的路径、文件夹),单击“确定”按钮。这时C#创建了一个项目和一个窗体单元文件,我们直接对窗体设置大小和字体等属性。 (3) 添加控件 首先往窗体中添加1个textBox控件textBox1、2个groupBox控件groupBox1~groupBox2和2个button控件button1~button2,在groupBox1中添加3个radioButton控件radioButton1~radioButton3,再在groupBox2中加3个checkBox控件checkBox1~checkBox3。 (4) 设置控件属性 控件属性设置如表1-1所示。 表1-1 控件属性设置 设置完控件属性后,窗体中控件及其布局如图1-1所示。 (5) 添加并编写控件事件代码 为按钮button1添加Click事件,响应过程为button1_Click;button1_Click程序的作用是按用户设置的radioButton和checkBox的值提交内容,从而让textBox1控件做出相应的显示,其代码如下: private void button1_Click(object sender, EventArgs e) { string choice1="",choice2=""; bool flag=false; if (radioButton1.Checked) choice1 = "龙虾"; else if (radioButton2.Checked) choice1 = "青蟹"; else if (radioButton3.Checked) choice1 = "鲍鱼";

相关文档
最新文档