文档库 最新最全的文档下载
当前位置:文档库 › VB与单片机的温度测控系统实习报告

VB与单片机的温度测控系统实习报告

VB与单片机的温度测控系统实习报告
VB与单片机的温度测控系统实习报告

粮库温度监控管理系统

实习报告

系别:电气工程系

班级:应电121班

姓名:啜文彬

学号:27号

指导教师:曹世超老师、李鑫老师

VB与单片机实习

一、实习内容

实习名称:粮库温度监控管理系统

实习时间:14-15周 A312 CAD实训室

所需软件:https://www.wendangku.net/doc/c511630988.html, 、Proutues、Keil、串口调试助手、虚拟串口。

实习目的:1、掌握MCS51单片机与上位机的串行通信方法

2、掌握MCS51单片机的程序汇编

3、掌握仿真器使用方法

4、掌握MCS51单片机的调试步骤

5、掌握VB的图形绘制

二、电路仿真图

三、MCS51单片机程序

#include

unsigned char i=0,z;

unsigned char IDD[8][5]={{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},

{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},}; void DelayMs(unsigned char n)

{

unsigned char i=0,j=0;

for(i=0;i

for(j=0;j<123;j++);

}

bit flag1s = 0; //1s定时标志

unsigned char T0RH = 0; //T0重载值的高字节

unsigned char T0RL = 0; //T0重载值的低字节

void ConfigTimer0(unsigned int ms);

extern void ConfigUART(unsigned int baud);

unsigned char IntToString(unsigned char *str, int dat);

extern bit Start18B20();

extern unsigned char lcdadd,tmp;

extern bit Get18B20Temp(int *temp);

extern void InitLcd1602();

extern void LcdShowStr(unsigned char x, unsigned char y, unsigned char *str); void main()

{

bit res;

int temp; //读取到的当前温度值

int intT, decT; //温度值的整数和小数部分

unsigned char len;

unsigned char str[12];

EA = 1; //开总中断

ConfigTimer0(10); //T0定时10ms

ConfigUART(9600);

Start18B20(); //启动DS18B20

InitLcd1602(); //初始化液晶

while (1)

{

if (flag1s) //每秒更新一次温度

{

flag1s = 0;

res = Get18B20Temp(&temp); //读取当前温度

if (res) //读取成功时,刷新当前温度显示

{

intT = temp >> 4; //分离出温度值整数部分

decT = temp & 0xF; //分离出温度值小数部分

len = IntToString(str, intT); //整数部分转换为字符串

str[len++] = '.'; //添加小数点

decT = (decT*10) / 16; //二进制的小数部分转换为1位十进

制位

str[len++] = decT + '0'; //十进制小数位再转换为ASCII字符

while (len < 4) //用空格补齐到6个字符长度

{

str[len++] = ' ';

}

str[len] = '\0'; //添加字符串结束符

switch(lcdadd)

{

case 0:LcdShowStr(0, 0, "1:");LcdShowStr(2, 0, str) ;break;

//显示到液晶屏上

case 1:LcdShowStr(8, 0, "2:");LcdShowStr(10, 0, str);break;

case 2:LcdShowStr(0, 1, "3:");LcdShowStr(2, 1, str) ;break; //显示到液晶屏上

case 3:LcdShowStr(8, 1, "4:");LcdShowStr(10, 1, str);break;

case 4:LcdShowStr(0, 0, "5:");LcdShowStr(2, 0, str) ;break; //显示到液晶屏上

case 5:LcdShowStr(8, 0, "6:");LcdShowStr(10, 0, str);break;

case 6:LcdShowStr(0, 1, "7:");LcdShowStr(2, 1, str) ;break; //显示到液晶屏上

case 7:LcdShowStr(8, 1, "8:");LcdShowStr(10, 1, str);break;

default: break;

}

for(z=0;z<2;z++)

IDD[lcdadd][z]=str[z];

IDD[lcdadd][2]='\0';

}

else //读取失败时,提示错误信息

{

LcdShowStr(0, 0, "error!");

}

/*********************************************************/

if(tmp==1)

{

while(IDD[lcdadd][i]!='\0')

{

SBUF=IDD[lcdadd][i];

while(!TI);

TI=0;

i++;

DelayMs(30);

}

// SBUF=lcdadd+1+0x30;

// while(!TI);

// TI=0;

i=0;

}

Start18B20(); //重新启动下一次转换

}

}

}

/* 整型数转换为字符串,str-字符串指针,dat-待转换数,返回值-字符串长度 */ unsigned char IntToString(unsigned char *str, int dat)

{

signed char i = 0;

unsigned char len = 0;

unsigned char buf[6];

if (dat < 0) //如果为负数,首先取绝对值,并在指针上添加负号

{

dat = -dat;

*str++ = '-';

len++;

}

if((dat<10)&(dat>0))

{

*str++ = '0';

len++;

}

do { //先转换为低位在前的十进制数组

buf[i++] = dat % 10;

dat /= 10;

} while (dat > 0);

len += i; //i最后的值就是有效字符的个数

while (i-- > 0) //将数组值转换为ASCII码反向拷贝到接收指针上

{

*str++ = buf[i] + '0';

}

*str = '\0'; //添加字符串结束符

return len; //返回字符串长度

}

/* 配置并启动T0,ms-T0定时时间 */

void ConfigTimer0(unsigned int ms)

{

unsigned long tmp; //临时变量

tmp = 11059200 / 12; //定时器计数频率

tmp = (tmp * ms) / 1000; //计算所需的计数值

tmp = 65536 - tmp; //计算定时器重载值

tmp = tmp + 12; //补偿中断响应延时造成的误差

T0RH = (unsigned char)(tmp>>8); //定时器重载值拆分为高低字节 T0RL = (unsigned char)tmp;

TMOD &= 0xF0; //清零T0的控制位

TMOD |= 0x01; //配置T0为模式1

TH0 = T0RH; //加载T0重载值

TL0 = T0RL;

ET0 = 1; //使能T0中断

TR0 = 1; //启动T0

}

/* T0中断服务函数,完成1秒定时 */

void InterruptTimer0() interrupt 1

{

static unsigned char tmr1s = 0;

TH0 = T0RH; //重新加载重载值

TL0 = T0RL;

tmr1s++;

if (tmr1s >= 100) //定时1s

{

tmr1s = 0;

flag1s = 1;

}

}

四、VB登录窗体

VB登录界面窗体

VB登录界面窗体

VB登录界面窗体程序:

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

TextBox1.Text = ""

TextBox2.Text = ""

TextBox1.MaxLength = 8

TextBox2.MaxLength = 6

TextBox2.PasswordChar = "*"

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If Not IsNumeric(TextBox1.Text) Then

MsgBox("用户名必须为数字", , "提示!")

TextBox1.Text = ""

End If

If TextBox1.Text = "" Then

MsgBox("请输入用户名!", MsgBoxStyle.RetryCancel + 48, "提示!")

Exit Sub

Else

If TextBox1.Text = "1" And TextBox2.Text = "1" Then

MsgBox("登陆成功,欢迎进入!")

Form2.Show()

Me.Hide()

Else

MsgBox("你输入的用户名或密码有错误!", MsgBoxStyle.RetryCancel + 48, "提示!")

TextBox1.Text = ""

TextBox2.Text = ""

End If

End If

End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

If ComboBox1.Text = "保存" Then

TextBox1.Text = TextBox1.Text

TextBox2.Text = TextBox2.Text

Else

If ComboBox1.Text = "不保存" Then

TextBox1.Text = TextBox1.Text

TextBox2.Text = ""

End If

End If

End Sub

End Class

五、VB主窗体

VB主窗体程序:

Imports system.drawing.drawing2d

Public Class Form2

Dim tada As String

Dim s As Integer

Dim h, z As Single, a!, i, x1!, y1!, x2!, y2!

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.Text = "粮仓温度监控管理系统"

Timer1.Enabled = True

Timer4.Enabled = False

Timer2.Enabled = False

Timer5.Enabled = False

TextBox1.Visible = False

Button1.Enabled = False

Button9.Visible = False

PictureBox10.Visible = False

PictureBox2.Visible = False

PictureBox3.Visible = False

PictureBox4.Visible = False

PictureBox5.Visible = False

PictureBox6.Visible = False

PictureBox7.Visible = False

PictureBox8.Visible = False

PictureBox9.Visible = False

End Sub

Private Sub ComboBox8_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox8.SelectedIndexChanged

If ComboBox8.Text = "仓库监控" Then

Button9.Visible = False

PictureBox10.Visible = False

PictureBox2.Visible = False

PictureBox3.Visible = False

PictureBox4.Visible = False

PictureBox5.Visible = False

PictureBox6.Visible = False

PictureBox7.Visible = False

PictureBox8.Visible = False

PictureBox9.Visible = False

End If

If ComboBox8.Text = "全部仓库" Then

Button9.Visible = False

PictureBox10.Visible = False

PictureBox2.Visible = True

PictureBox3.Visible = True

PictureBox4.Visible = True

PictureBox5.Visible = True

PictureBox6.Visible = True

PictureBox7.Visible = True

PictureBox8.Visible = True

PictureBox9.Visible = True

End If

If ComboBox8.Text = "仓库1" Then

PictureBox10.Visible = False

PictureBox2.Visible = True

Button9.Visible = False

PictureBox3.Visible = False

PictureBox4.Visible = False

PictureBox5.Visible = False

PictureBox6.Visible = False

PictureBox7.Visible = False

PictureBox8.Visible = False

PictureBox9.Visible = False

End If

If ComboBox8.Text = "仓库2" Then

Button9.Visible = False

PictureBox2.Visible = False PictureBox3.Visible = True

PictureBox4.Visible = False PictureBox5.Visible = False PictureBox6.Visible = False PictureBox7.Visible = False PictureBox8.Visible = False PictureBox9.Visible = False End If

If ComboBox8.Text = "仓库3" Then Button9.Visible = False

PictureBox10.Visible = False PictureBox2.Visible = False PictureBox3.Visible = False PictureBox4.Visible = True

PictureBox5.Visible = False PictureBox6.Visible = False PictureBox7.Visible = False PictureBox8.Visible = False PictureBox9.Visible = False End If

If ComboBox8.Text = "仓库4" Then Button9.Visible = False

PictureBox10.Visible = False PictureBox2.Visible = False PictureBox3.Visible = False PictureBox4.Visible = False PictureBox5.Visible = True

PictureBox6.Visible = False PictureBox7.Visible = False PictureBox8.Visible = False PictureBox9.Visible = False End If

If ComboBox8.Text = "仓库5" Then Button9.Visible = False

PictureBox10.Visible = False PictureBox2.Visible = False PictureBox3.Visible = False PictureBox4.Visible = False PictureBox5.Visible = False PictureBox6.Visible = True

PictureBox7.Visible = False PictureBox8.Visible = False

End If

If ComboBox8.Text = "仓库6" Then

PictureBox10.Visible = False

Button9.Visible = False

PictureBox2.Visible = False

PictureBox3.Visible = False

PictureBox4.Visible = False

PictureBox5.Visible = False

PictureBox6.Visible = False

PictureBox7.Visible = True

PictureBox8.Visible = False

PictureBox9.Visible = False

End If

If ComboBox8.Text = "仓库7" Then

Button9.Visible = False

PictureBox10.Visible = False

PictureBox2.Visible = False

PictureBox3.Visible = False

PictureBox4.Visible = False

PictureBox5.Visible = False

PictureBox6.Visible = False

PictureBox7.Visible = False

PictureBox8.Visible = True

PictureBox9.Visible = False

End If

If ComboBox8.Text = "仓库8" Then

Button9.Visible = False

PictureBox10.Visible = False

PictureBox2.Visible = False

PictureBox3.Visible = False

PictureBox4.Visible = False

PictureBox5.Visible = False

PictureBox6.Visible = False

PictureBox7.Visible = False

PictureBox8.Visible = False

PictureBox9.Visible = True

End If

End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

TextBox7.Text = ComboBox1.Text

If ComboBox1.Text = "" Then

Button1.Enabled = False

End If

If ComboBox1.Text = "1号仓库" Then x1 = 0

PictureBox10.Refresh()

TextBox1.Text = ""

Button1.Enabled = True

End If

If ComboBox1.Text = "2号仓库" Then x1 = 0

PictureBox10.Refresh()

TextBox1.Text = ""

Button1.Enabled = True

End If

If ComboBox1.Text = "3号仓库" Then x1 = 0

PictureBox10.Refresh()

TextBox1.Text = ""

Button1.Enabled = True

End If

If ComboBox1.Text = "4号仓库" Then x1 = 0

PictureBox10.Refresh()

TextBox1.Text = ""

Button1.Enabled = True

End If

If ComboBox1.Text = "5号仓库" Then x1 = 0

PictureBox10.Refresh()

TextBox1.Text = ""

Button1.Enabled = True

End If

If ComboBox1.Text = "6号仓库" Then x1 = 0

PictureBox10.Refresh()

TextBox1.Text = ""

Button1.Enabled = True

End If

If ComboBox1.Text = "7号仓库" Then x1 = 0

PictureBox10.Refresh()

TextBox1.Text = ""

Button1.Enabled = True

End If

If ComboBox1.Text = "8号仓库" Then

x1 = 0

PictureBox10.Refresh()

TextBox1.Text = ""

Button1.Enabled = True

End If

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

TextBox2.Text = Now

End Sub

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick

Dim g As Graphics = PictureBox10.CreateGraphics

h = PictureBox10.Height

g.TranslateTransform(40, h - 55)

Dim p1 As Pen = New Pen(Color.LimeGreen)

z = Val(TextBox3.Text)

a = 4.2

i = 20

x2 = x1 + i

y2 = -z * a

g.DrawLine(p1, x1, y1, x2, y2)

x1 = x2

y1 = y2

If x2 = 780 Then

x1 = 0

PictureBox10.Refresh()

End If

g.Dispose()

p1.Dispose()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

PictureBox10.Visible = True

End Sub

Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged

SerialPort1.Close()

Button2.Text = "打开串口"

SerialPort1.PortName = ComboBox2.Text

End Sub

Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged

SerialPort1.BaudRate = ComboBox3.Text

End Sub

Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem3.Click

Me.Close()

End Sub

Private Sub 当前温度ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 当前温度ToolStripMenuItem.Click 当前温度ToolStripMenuItem.Text = TextBox3.Text

End Sub

Private Sub 上限温度ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 上限温度ToolStripMenuItem.Click

上限温度ToolStripMenuItem.Text = "45℃"

End Sub

Private Sub 下限温度ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 下限温度ToolStripMenuItem.Click

下限温度ToolStripMenuItem.Text = "0℃"

End Sub

Private Sub 关于ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 关于ToolStripMenuItem1.Click

MsgBox("如有问题请登录www.坑你一会儿.com")

End Sub

Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged

Button9.Text = TextBox3.Text & "℃"

End Sub

Private Sub PictureBox10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox10.Click

Button9.BackColor = Color.Green

Button9.Visible = True

If Timer2.Enabled = False Then

Timer2.Enabled = True

Timer4.Enabled = True

Else

Timer2.Enabled = False

Timer4.Enabled = False

End If

End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

If Button6.Text = "记录数据" Then

Button6.Text = "已打开"

TextBox1.Visible = True

Else

Button6.Text = "记录数据"

TextBox1.Visible = False

End If

End Sub

Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick

If s = 0 Then

TextBox1.Text &= TextBox2.Text & " " & TextBox7.Text & " " & TextBox3.Text & "℃" & vbCrLf

Else

TextBox1.Text &= TextBox2.Text & " " & TextBox7.Text & " " & TextBox3.Text & "℃" & vbCrLf

End If

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

Dim SaveFileDialog1 As New SaveFileDialog

SaveFileDialog1.FileName = "数据.txt"

SaveFileDialog1.InitialDirectory = "d:\"

SaveFileDialog1.Filter = "文本(*.txt)|*.txt|文档(*.doc)|*.doc|全部(*.*)|*.*"

SaveFileDialog1.DefaultExt = "txt"

SaveFileDialog1.ShowDialog()

FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)

Print(1, TextBox1.Text)

FileClose()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

If SerialPort1.IsOpen = False Then

'如果串口没有打开

Try

SerialPort1.Open()

Catch ex As Exception

MsgBox("该串口以被占用", MsgBoxStyle.OkOnly + 64, "错误")

End Try

If SerialPort1.IsOpen = True Then

Button2.Text = "已打开" '显示以打开

Timer5.Enabled = True

End If

End If

End Sub

Private Sub Timer5_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer5.Tick

tada = SerialPort1.ReadExisting

TextBox8.Text = tada

TextBox3.Text = TextBox8.Text

If Microsoft.VisualBasic.Left(tada, 2) = "08" Then

'If Microsoft.VisualBasic.Right(tada, 2) = "66" Then

' TextBox1.Text &= Microsoft.VisualBasic.Mid(tada, 3, 4)

End If

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

If Button5.Text = "接收数据" Then

Button5.Text = "已打开"

Else

Button5.Text = "接收数据"

End If

End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click

SerialPort1.Write(TextBox4.Text) '自动把TextBox1.Text 内容发到串口

End Sub

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click

s = Button9.Text

If s < 45 Then

Button9.BackColor = Color.Green

End If

If s > 45 Then

Button9.BackColor = Color.Red

Timer2.Enabled = False

Timer4.Enabled = False

End If

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

SerialPort1.Close()

End Sub

End Class

六、调试过程及遇到的问题

1、编写程序过程中,由于对串行通信不了解,使读取得温度出错,

出现乱码。

2、在将数据存入数据库时,由于对数据库的属性、事件的不了解,

没有成功把数据存入数据库。

3、在用VB绘制温度曲线时,显示不连续问题。

4、记录数据对不齐。

VB期末考试试题及答案

二、选择题 1、菜单控件只包括一个事件,即 C ,当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别该事件。 A、GotFocus B、Load C、Click D、KeyDown 2、滚动条控件(如图所示)的Max属性所设置的是 A 。 A、滚动框处于最右位置时,一个滚动条位置的Value属性最大设置值 B、单击滚动条和滚动箭头之间的区域时,滚动条中滚动块的最大移动量 C、单击滚动条的箭头区域时,滚动条中滚动块的最大移动量 D、滚动条控件无该属性 3、SQL 语句 Select * Form student 中的 *表示 B 。 A、所有记录 B、所有字段 C、所有表 D、都不对 4、以下选项中,不属于标签的属性是 C 。 A、Enabled B、Caption C、Default D、Font 5、要求改命令按钮显示的文本,应当在属性窗口中改变的属性是 A 。 A、Caption B、Name C、Text D、Label 6、设置一个单选按钮(OptionButton)所代表选项的选中状态,应当在属性窗口中改变的属性是 D 。 A、Caption B、Name C、Text D、Value

7、允许在菜单项的左边设置打勾标记,下面哪种论述是正确的 D 。 A、在标题项中输入&,然后打勾 B、在索引项中打勾 C、在有效项中打勾 D、在复选项中打勾 8、当执行以下过程时,在窗体上将显示 A 。 Private Sub Command1_Click( ) Print "VB"; Print "Hello! "; Print "VB" End Sub A、 VBHello!VB B、 VB Hello!VB C、 VB D、 VB Hello! VB Hello! VB 9、语句Print "The answer is:";20/4-2的结果为 B 。 A、The answer is 20/4-2 B、The answer is 3 C、The answer is "20/4-2" D、非法语句 10、下列哪个控件是容器控件 B 。 A、Image B、Picture C、ComboBox D、FileListBox 11、若要将窗体从内存中卸载出去,其实现的方法是 D 。 12、以下选项中,不是 Visual Basic控件的是 A 。 A.窗体 B.定时器 C.单选框 D.命令按钮 13、双击窗体中的对象后,Visual Basic将显示的窗口是 A 。 A.代码窗口 B.工具箱 C.项目(工程)窗口 D.属性窗口 14、可决定窗体的左上角是否有控制菜单的属性是 A 。 15、设有如下语句: Strl=InputBox("输人","","练习") 从键盘上输人字符“示例”后,Strl的值是 D 。 A.“输入” B.“” C.“练习” D.“示例” 16、窗体Form1的Name属性是Frm1,它的单击事件过程名是 C 。 A. Form1_Click C. Frm1_Click D. Me_Click 17、窗体的hide属性的含义是 A 。 A.隐藏 B.展现 C.装入 D.卸载 18、若要设置定时器控件的定时时间,需设置的属性是 C 。 A.Enabled B.Value C.Interval D.Text 19、能够改变复选框中背景颜色的属性是 C 。

VB课设报告

沈阳航空航天大学 课程设计任务书 学院:机电工程学院专业:机械设计制造及其自动化班级:94060106 学号:2009040601204 题目:简单的汽车站售票系统 一、课程设计时间 2011年3月14日~20日(第二周),共计一周。 二、课程设计内容 假设每天“沈阳→植物园”有4个班次的汽车,具体的数据如下: 班次发车时间载客量已售票数 1 06:40 50 0 2 09:30 40 0 3 13:00 40 0 4 16:00 40 0 数据保存在文本文件或Access数据库中,请你为售票员开发一个程序,实现每天的“沈阳→植物园”的售票、退票等业务。要求:售票时按旅客要求选择班次,如果某个班次已过了发车时间,则该班次今天不再售票,如果某个班次的票已售完,则也不能再售票。 用户界面中的菜单至少应包括“售票”、“退票”、“显示当前售票情况”、“退出”4项。 三、课程设计要求 程序质量: ?贯彻事件驱动的程序设计思想。 ?用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。 ?代码应适当缩进,并给出必要的注释,以增强程序的可读性。 课程设计说明书: ?课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字 指导教师:________ 学生签名:________ 五、成绩 六、教师评语

目录 需求分析 (4) 设计分析 (4) 技术要点 (6) 主要界面截图 (7) 总结 (9) 完整的源程序 (10) 参考文献 (15)

需求分析 介于乘客买票十分麻烦,需要开发一套自动的售票系统,实现乘客自主的买票,退票,查询,为乘客创造方便。 设计分析 (1)概述: 本次设计涉及到数据库系统,SQL查询语言,ADO数据控件技术,实现了用户买票,退票,售票查询等功能,并且在售票界面,根据时间判断车次是否已经发车,且在查询系统中可以显示售票情况。 (2)总体设计: 汽车站售票系统应该有一个主界面,在主界面下,应该有售票界面,退票界面和查询界面。 (3)详细设计:

VB图书管理系统 课程设计报告

VB语言程序设计课程设计报告 系 (部) 专业班级 学生姓名 学号/序号 指导教师 完成时间

图书管理系统 一、功能描述 使用VB6.0中各种控件的常用属性和事件、数组的各种操作以及数据库的相关操作(数据库的建立、编辑、查找、删除等),建立了这个简易的图书管理系统,方便图书管理人员对图书的管理。用户可以通过此系统的添加、删除,还回,借出等功能对书籍信息、书籍流通进行编辑同时也可以通过直接输入想要查询的书籍信息来获得书籍的流通及库存等相关信息。 二、概要设计 1、系统功能模块框图设计 首先程序运行,出现一个MDI主窗体,里面分别有登录,书籍信息管理系统,退出三个菜单选项,登录前,管理按钮不可用,当正确输入用户名以及密码以后,点管理按钮,图书管理窗体显示,用户可对图书信息进行管理。 2、数据库设计 创建一个数据库为mydb.mdb,该数据库共包含3张表,分别为“书籍信息表”、“图书归还表”和“图书借出表”,表结构如下:

书籍信息表:图书编号、图书名、作者、出版社、数量、出版日期、价格 图1. 书籍信息表 图书归还表:图书编号、图书名、作者、出版社、数量、图书是否损坏、借出日期、归还日期; 图2. 图书归还表 图书借出表:图书编号、图书名、作者、出版社、借出数量、借出时间、联系电话、借出期限、借出者姓名。 图3. 图书借出表

三、详细设计 1、MDI主界面 用户登录模块中登录与取消两按钮,单击登录会进入系统进行下一步的操作,用户名文本框与数据库相连接,当在用户名文本框输入用户名后点击登录按钮后,会在数据库中进行查询看数据库中是否会有该用户名,且该用户名的密码是否与密码框中输入的相同,如果相同会进入系统,如果不存在该用户名或密码与用户名不相匹配,则会提示“密码错误”,用户名文本框会得到焦点,让重新输入。 (1)窗体截图(如图5.1) 图1 MDI主界面

VB上机综合测试题(十五套)

VB上机综合测试题(一) 一、如下所示,在窗体上,放置一个文本框text1(文本框中的文字为“改变字形”,居中显示)。三个复选框check1,check2和check3,如图设置属性。要求:当用户单击“加粗”、“斜体”、“下划线”这三个复选框时(即当复选框被选中时)能将文本框的字形变为“粗体、斜体、加下划线”(25分) 二、在窗体上添加一个命令按钮(名称为Cmd1,标题为"输出平均值")。程序运行后,单击命令按钮完成以下工作:①随机产生20个0到1000的整数,将其放入一个一维数组中②求出所有元素的平均值,并显示在窗体上(如下图所示)(35分) 三、请设计如下图所示窗体界面。运行程序时,先向左侧文本框中输入一个不超过10的正整数,然后选择"N的阶乘"或"(N+2)的阶乘"单选钮,即可进行计算,计算结果在右侧文本框中显示。请编写程序完成上述功能。(40分)

答案: 一、 界面设计------10分 Private Sub Check1_Click() = ------5分 End Sub Private Sub Check2_Click() = 分 End Sub Private Sub Check3_Click() = ------5分 End Sub 二、 界面设计------10分 Private Sub Cmd1_Click()------2分Dim a%(19), i%, sum!, aver! ------4分Randomize ------3分 For i = 0 To 19------3分 a(i) = Int(Rnd * 1001) ------3分 sum = sum + a(i) ------3分 Next i ------2分 aver = sum / 20 ------3分 Print aver ------2分 End Sub 三、 界面设计------10分 Dim? n%------2分 Private Sub Form_Load() End Sub

VB程序设计课程设计报告完整版

V B程序设计课程设计 报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

《VB程序设计》 课程设计报告(2016 — 2017 学年第 1 学期) 题目:排序演示 学院:经济与管理学院 班级:物流管理1502 学号: 姓名: 指导教师:阮冰 时间:起 2017年1月3日止 1月6日

一、课程设计基本信息 课程代码:05190124 课程名称:计算机基础课程设计 课程英文名称: Computer-based Course Design 课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群 课程面向专业:生物科学类、制药工程、制药工程(生物制药)、药物制 剂、物流管理 课程类型:必修课 先修课程:大学计算机基础通识选修课程、Visual Basic程序设计课程学分:1 总学时:16 二、课程设计目标 掌握所学语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能: 1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 3.系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。 4.根据个人的设计调试过程,撰写设计报告。 三、课程设计内容 利用已掌握的VB程序设计语言基础,以及面向对象的程序设计方法、事件驱动的编程方式,进行应用程序和系统的开发设计。在强化巩固已有编程知识基础之上,训练新的设计与编程思路,通过综合应用所学知识设计、编制、调试实用的Visual Basic程序。 四、课程设计要求 1.要求每个同学都要认真对待,积极参与。 2.课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同 时填写并完成《课程设计报告册》。 3.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计 中完全未参与的将作不及格处理。 五、考核方式

VB解析算法及程序实现

3.1解析算法及程序实现 1.计算长方体体积的算法描述如下:(h) (z)、宽(w)、高①输入长方体的长 v = z * w * h ②计算长方形体积③输出结果④结束()上述算法属于 A. 枚举算法 B. 排序算法 C. 解析算法 D. 递归算法 2.下列问题适合用解析算法求解的是() A.将十三张纸牌按从小到大进行排列 B.统计100内偶数的各位数字之和恰好为10的个数 C.计算一辆车行驶100公里的油耗 D.寻找本年级身高最高的同学 3.有如下问题: 12求出此圆锥体的体积。 V=πr ①已知圆锥的半径和高度h,使用公式hr3②已知班级每位同学的其中成绩总分s,按照s的值从大到小进行成绩排名。 ③已知圆的周长s,利用公式r=s/(2*3.14)求出圆的半径。 ④已知“水仙花数”的定义,找出1~10000范围内所有的水仙花数。 用计算机解决上述问题时,适合用解析算法的是() A.①② B.①③ C.③④ D.②④ 4.出租车计价规则:3公里以内,10元;超出3公里每公里增加2元。假定公里数为x,金额为y.解决此问题的公式和流程图如下图所示: 流程图加框处部分的算法属于:() A.解析算法 B.排序算法 C.枚举算法 D.递归算法

程序实现如下功能:分别现要求编写VB5.中输入Text3、和Text1、Text2在文本框Command1单击三条线段的长度,“判断”按钮中显示判断结果。程序后,在标签Label1 运行界面如图:按此要求编写的程序如下:Private Sub Command1_Click() Dim a As Single ,b As Single Dim c As Single ,st As String a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) If Not (a + b > c And b + c > a And c + a > b) Then st = “这三条线不能构成一个三角形” ElseIf a * a + b * b = c * c Or a * a + c * c = b * b Or b * b + c * c = a * a Then “可以构成一个直角三角形” st = Then ① ElseIf “可以构成一个等边三角形” st = Else st = “可以构成一个不等边的斜三角形” End If Label1.Caption = ② End Sub 划线处应填写正确的语句是: (1)划线处① (2)划线处② 6.下列VB程序段实现计算s=1+1/2+2/3+3/4+…+99/100的值。请将下面划线处代码补充完整。 Private Sub Command1_Click() Dim i As Integer Dim s As Double s=1 For i=2 To 100 s= Next i

排序演示 vb课程设计论文

成绩南京工程学院课程设计报告(论文) 题目排序演示 课程名称程序设计基础---VB 院(系、部、中心)先进制造技术工程中心 专业机械制造及其自动化 班级D机加工091 学生姓名钱丽 学号231090406 设计地点图书馆A307 指导教师黄陈蓉 设计起止时间: 2011 年 1月4 日至 2011 年 1月 6日

目录 一、设计任务 (3) 二、总体设计思路 (4) 三、画出程序总体框图 (4) 四、系统的调试 (6) 五、收获体会 (8) 六、源代码 (9) 七、主要参考资料 (23)

一、设计任务 (1)程序启动后,显示主界面。首先单击“产生10个随机数”按钮来产生10个随机数,并显示在10个文本框中;然后选择一种“演示模式”和“排序方式”,其中演示模式可以直接给出排序结果,也可以通过动画动态演示整个排序过程,排序方式可以按从小到大顺序,也可以按从大到小顺序排序。 (2)在主窗口的空白区单击鼠标右键,弹出快捷菜单。从中选择“排序算法”命令,打开对话框,从中选择一种排序方式,单击不同排序方式时,“算法描述”中简要介绍了这种算法。单击“确定”按钮返回到主窗口,主窗口中最上方框架控件的标题文字显示当前所选的排序算法。 (3)设置完毕,单击“开始排序”按钮(此按钮在生成数据之前是不可用的),启动排序过程。若选择了动画方式,红色背景的文本框表示当前正在比较的元素,黄色的代表已排序的元素,2个运动的文本框表示交换过程。在排序过程中可以调节水平滚动条的位置来控制演示过程的速度。排序结束后程序以消息框的形式报告数据交换的次数。可以使用快捷菜单中的“将数据写入文件”命令将排序后的数据保存到“data.txt”中覆盖原有内容。 (4)选择窗口主菜单中的“颜色设置”命令,主窗口扩大,底部显示“颜色设置”框架,可以对“文本背景色”、“文本前景色”、“已排序元素色”和“交换结点色”进行设置。再选择此命令,窗口恢复到原来的大小。(5)选择主菜单中的“退出”命令可退出本程序,程序显示消息对话

VB上机程序调试题_题目及参考答案

第二部分VB上机考试模拟试题 一、程序调试题(改错或填空) (二)程序调试题 [题1] Modify.bas模块中的getanswer过程是用于计算一元二次方程的根,并将结果输出来。 Option Explicit Public Sub getanswer() '该过程是用于计算一元二次方程的根,并将结果输出来。 Dim dalt!, a#, b#, c# a = InputBox("输入系数a") b = InputBox("输入系数b") c = InputBox("输入系数c") dalt = b * b - 4 * a * c If ----1---- dalt >0 then dalt = Sqr(dalt) MsgBox Format((-b + dalt) / 2 / a), "0.00" + Chr(13) + Chr(10) + Format((-b - dalt) / 2 / a, "0.00") Elseif ---2---- dalt =0 then MsgBox Format(-b / 2 / a, "0.00") + Chr(13) + Chr(10) + Format(-b / 2 / a, "0.00") Else dalt= ---3---- Sqr(-dalt) MsgBox Format((-b + dalt) / 2 / a, "0.00") + "+i" + Chr(13) + Chr(10) + Format((-b - dalt) / 2 / a, "0.00") + "-i" End If End Sub [题2] 打印输出一菱形图案。 Public Sub prt() '打印由#组成的菱形图案 ' # ' ### ' ##### ' ####### ' ######### ' ####### ' ##### ' ### Dim start As String '每行起始空格数 Dim count As Integer '每行#个数 For i = 1 To 9 If i <= 5 Then '------1------ start=space(21-i) count = 2 * i - 1 Else start = Space(11 + i) '-------2------ count=19-2*i End If '------3------ form1.print start; For j = 1 To count Form1.Print "#"; Next j '------4------ form1.print Next i [题3] 过程pyramid用以打印一个数字金字塔,请在横线上填入必要的内容(将横线删除掉后填入正确的内容),使其完整。 Option Explicit Public Sub pyramid() '打印数字金字塔 ' 1 ' 222 ' 33333 ' 4444444 ' 555555555 ' 6666666 ' 77777 ' 888 ' 9 Dim i As Integer Dim j As Integer Dim start As String '每行起始空格数 Dim num As Integer '每行数字个数 For i = 1 To 9 If i <= 5 Then start = Space(20 - i) num = 2 * i - 1 Else start= '------1------ Space(10 + i) num= '------2------ 2 * (10-i) - 1 End If Form1.Print start; For j = 1 To num '------3------ form1.print trim(str(i)); Next j '------4------ form1.print Next i End Sub [题4] 改错。 Option Explicit Public Sub prt() '打印由数字组成的如下所示金字塔图案 ' 9 ' 888 ' 77777 ' 6666666 ' 555555555 ' 44444444444 ' 3333333333333 ' 222222222222222 ' 11111111111111111 Dim i As Integer, j As Integer '****** 错误1 ****** For i = 9 To 1 step -1 Form1.Print Space(i); '****** 错误2 ****** For j = 1 To 2 *(10- i) - 1 '****** 错误3 ****** Form1.Print trim(str(i)); Next j

VB练习题(上机)含答案

第一部分 1 在窗体上添加一个命令按钮(名称为Cmd1,标题为"输出平均值")。程序运行后,单击命令按钮完成以下工作: ①随机产生20个0到1000的整数,将其放入一个一维数组中 ②求出所有元素的平均值,并显示在窗体上(如下图所示) Private Sub Cmd1_Click() Dim a%(19), i%, sum!, aver! Randomize For i = 0 To 19 a(i) = Int(Rnd * 1001) sum = sum + a(i) Next i aver = sum / 20 Print aver End Sub 2 请在名称为Form1的窗体上添加一个名称为Text1的文本框和一个名称为C1、标题为"转换"的命令按钮,如下图所示。在程序运行时,单击"转换"按钮,可以把Text1中的小写字母转换为大写,把大写字母转换为小写,其他字符不变。 Private Sub C1_Click() Dim ch As String, ch1 As String, i% ch = Text1 For i = 1 To Len(ch) If Asc(Mid(ch, i, 1)) >= 65 And Asc(Mid(ch, i, 1)) <= 90 Then ch1 = ch1 + LCase(Mid(ch, i, 1)) Else

ch1 = ch1 + UCase(Mid(ch, i, 1)) End If Next i Text1 = Text1 + vbCrLf Text1 = Text1 + ch1 End Sub 3 在窗体上添加一个命令按钮(名称为MyCmd1,标题为"输出最大值")。程序运行后,单击命令按钮完成以下工作: ①随机产生30个0~1000的整数,将其放入一个一维数组中 ②求出其中的最大值,并显示在窗体上。 Private Sub MyCmd1_Click() Dim a%(29), i%, max% Randomize For i = 0 To 29 a(i) = Int(Rnd * 1001) Next i max = a(0) For i = 1 To 29 If a(i) > max Then max = a(i) Next i Print max End Sub 4 请设计如下图所示窗体界面。程序运行时,在选中一个或两个复选框和一个单选按钮时,单击命令按钮,则对文本框中的文本内容做相应的设置。请编写适当的事件过程,完成上述功能。

[心得体会]vb程序设计实验心得4篇

[心得体会]vb程序设计实验心得4篇数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇文章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。 首先,让我的记忆追溯到大二暑假,在老大的指引下,我接触到Microsoft 公司的.NET产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.网络是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sql serverXX,以前学asp的时候用的是aess,那个时候只是照着人家做,理论是什么也不是很清楚。

通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么 用也不是很清楚。但是这为这学期的课程设计打下了铺垫。 来到学校后,随着这学期的数据库课程大赛开始了,我有一个看 法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,just do it!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseUML 建模工具。在此之前,我脑袋里面没有软件建模的思想,什么UML建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。 开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上网搜索现在最流行的架构是什么。结果搜到了MVC架构,就是你啦。我决定用这个架构,不会,没关系,咱学。Just do it!

vb课程设计心得体会范文

vb课程设计心得体会范文 vb课程设计心得体会范文 vb课程设计心得体会范文1 经过近一个月的设计与制作,我们组的《20xx世界杯观战指南》终于完成了,现将过程中遇到的问题、获得的体会记录如下。 这次数据库课程设计中我主要负责用户登录、注册及数据库维护方面的设计。 1.Delphi是一款功能很强大的软件,其控件之多超出了我的想象,因此在运用时要借助很多资料。要学会查找和利用现有资料来解决问题 2.在设计中用到了很多SQL语句,因此对SQL及程序语句地掌握也是必不可少的。 3.后期的软件制作都是以前期的工作为基础的,因此在前期的需求分析及数据库设计阶段要认真、细致。 4.我们是三个人的小组,在设计过程要互相协调,合作。这样才能充分发挥每个人的作用。 vb课程设计心得体会范文2 首先了解到VB的特点,VB是在原来的Basic语言基础上发展而来的。Visual指的是可视的图形用户界面开发方法。不需编写大量代码去描述界面元素的外观和位置,只要把预先建立的对象添加到屏

幕上的某点即可。如果使用者诸多PAINT之类的绘图程序,则实际上已经掌握了创建用户界面的必要技巧。 BASIC指的是B语言,一种在计算机技术发展历史上应用得最为广泛的语言之一。VB在原来BASIC语言的基础上进一步发展至今包含了数百条语句,函数及关键词,其中很多和WINDOWS GUI有直接关系,VB不仅是可视语言,而且是面向对象的编程语言。其特点是概念多,实践性强,涉及面广。 之后,了解到一些基本的概念,含义。例如类,就是创建对象实例的模板包含了创建的属性描述和行为特征的定义。而此中的对象又是类的一个实例,继承了类的属性,方法,而VB中长用的对象有窗体,控件等。但我们在建立之前必须清楚对象的三要素:属性,方法和事件。而建立程序的步骤大致可分为: (1)启动程序,装载和显示窗体。 (2)窗体等待事件的发生。 (3)事件发生时,执行对应的事件发生过程。 (4)再重复(2)(3)的过程(5)最后直接遇到“END”结束语句结束程序的运行或按“结束”强行停止程序的运行。 再用VB创建一个应用程序,第一步骤是创建窗体,它是用户与应用程序进行交互操作的可视部分,窗体是创建界面的基本构造模块,也是创建应用程序所使用的对象。而后必要设置窗体的属性,从而构出窗体的外观,设置好的窗体,窗体就作为对象,能够对其定义的事件作出响应,这也是所谓的窗体事件,而窗体事件又包括窗体本

VB课程设计实验报告

第1章 统设计的目的与意义: 客房管理系统用于宾馆旅客入住情况登记,包括旅客的姓名及身份证号的登记,以及入住房间信息.当旅客离开时,需要办理退房结帐手续.对于一定时间没的旅客入住情况实现基本查询,报表打印功能.对于宾馆本身也实现了客房增减,入住情况查询等功能. 无论各种等级的宾馆,使用客房管理系统都具有非常实用的价值.使用该系统可以大大节省时间,提高办公效率,而且非常方便的实现旅客信息的查询,以及对宾馆本身客房入住情况及时了解.因此,客房管理系统的开发无疑具有深远的意义. 系统功能设计 系统设计包括数据库设计,主界面设计,菜单设计以及功能设计.而其他功能设计包括系统登录设计,旅客信息登记,旅客信息查询,退房信息处理设计以及报表输入等功能设计,系统功能设计流程图如图所示

第2章 数据库设计 旅客信息表为旅客的个人信息加入住客房信息,数据结构如表 表2.1 客房信息表为客房入住情况的基本信息,数据结构如表 表2.2 旅客退房记录表为旅客退房相关的一些记录信息,数据结构如表 旅客退房记录表设置 表2.3 管理人员信息表存储宾馆管理人员使用该系统的帐号密码,数据结构表 管理人员信息表设置

表2.4 第3章 主体内容 3.1 设计标准模块 本系统设计过程中,创建一个通用函数模块,用于实现数据库连接及按需要打开一个数据表。程序代码如下: Option Explicit Public Sub opentable(pado As Adodc, precordsource As String) With pado .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/Total.mdb" .CommandType = adCmdUnknown .RecordSource = precordsource .Refresh End With End Sub 3.2 户登录界面设计 用户登录的作用是判断使用本程序的用户是否是合法用户。在程序进入登录界面时要求输入用户名和密码,如果用户名,密码正确程序继续执行。当密码错误输入的次数超过设定次数时,给出提示信息退出程序,这样防止了非法用户对本程序的使用。 3.2.1工作界面设计

VB课程设计总结

通过几周对VB的学习,使我增加了对VB课程的了解. 首先了解到VB的特点,VB是在原来的Basic语言基础上发展而来的.Visual指的是可视的图形用户界面开发方法.不需编写大量代码去描述界面元素的外观和位置,只要把预先建立的对象添加到屏幕上的某点即可.如果使用者诸多PAINT之类的绘图程序,则实际上已经掌握了创建用户界面的必要技巧.BASIC指的是B语言,一种在计算机技术发展历史上应用得最为广泛的语言之一.VB在原来BASIC语言的基础上进一步发展至今包含了数百条语句,函数及关键词,其中很多和WINDOWS GUI有直接关系,VB不仅是可视语言,而且是面向对象的编程语言.其特点是概念多,实践性强,涉及面广. 之后,了解到一些基本的概念,含义.例如类,就是创建对象实例的模板包含了创建的属性描述和行为特征的定义.而此中的对象又是类的一个实例,继承了类的属性,方法,而VB中长用的对象有窗体,控件等.但我们在建立之前必须清楚对象的三要素:属性,方法和事件.而建立程序的步骤大致可分为:(1)启动程序,装载和显示窗体.(2)窗体等待事件的发生.(3)事件发生时,执行对应的事件发生过程.(4)再重复(2)(3)的过程(5)最后直接遇到"END"结束语句结束程序的运行或按"结束"强行停止程序的运行. 再用VB创建一个应用程序,第一步骤是创建窗体,它是用户与应用程序进行交互操作的可视部分,窗体是创建界面的基本构造模块,也是创建应用程序所使用的对象.而后必要设置窗体的属性,从而构出窗体的外观,设置好的窗体,窗体就作为对象,能够对其定义的事件作出响应,这也是所谓的窗体事件,而窗体事件又包括窗体本身事件,键盘事件和鼠标事件.在了解窗体基本知识就还应了解VB的语言基础,其中包括了代码模块(窗体模块,标准模块,类模块),注释,分行和续行,数据类节(字节型,逻辑型,数值型,日期型),变量与常数,运算符与表达式,数组,控制结构,子过程和函数.同时,为了编程,我们还应培养良好的编程习惯,首先是对象,变量及过程的命名约定,然结构化编码约定. 在VB中创建应用程序之际也就是和对象打交道之时,对象是代码和数据的组合,可以作为一个单位来处理,对象可以是应用程序的一部分,比如可以是控件,窗体,或数据访问对象.控件也是对象中的一种,主要用来获取用户的输入信息和显示输出信息.应用程序中可用的控件包括文本框,命令按扭和列表框.而通过另外一些控件可以访问其他应用程序并处理数据. VB程序设计同时可设计出一个更好的菜单系统,这样就可以使用户了解到更大量有关应用程序设计和结构的信息,精心规划菜单与工具栏有助于提高应用程序的可用性.同时在基于WINDOWS的应用程序中,对话框被用来提示应用程序继续运行所需的数据或者用户显示信息.对话框是一种特殊类型的窗体对象,在VB中按对话框的创建有三种类型的对话框,他们是

vb经典题目及答案

1、在考生文件夹下有工程文件wy7、vbp及窗体文件wy7、frm,该程序就是不完整的,请在有?号的地方填入正确的程序代码,然后删除?及所有注释符号(即 '号),但不能修改其它部分。修改后的程序文件都保存,存盘时不得修改文件夹与文件名。 本题描述如下: 在窗体上有一个名为Text1的文本框,有三个命令按钮,名称分别就是C1、C2与C3,标题分别就是"读入"、"加密"与"存盘"。要求程序运行后,点击"读入"按钮,将文本文件in7、txt(该文件在考生文件夹下)中的文本信息读入文本框Text1中;点击"加密"按钮将Text1中的英文字母加密转换,并将转换后的结果显示到Text1中。转换方式为转换成该字母对应字母表中后两个位置的字母。例如,转换前的字母就是"a",则转换后的就是"c",转换前就是"E",转换后就是"G";点击"存盘"按钮, 则将转换后的文本框中的文本保存到out7、txt 文件中(该文件保存到考生文件夹下)。 Private Sub C1_Click() Dim strinfo As String Open "in7、txt" For Input As 1 Input #1, strinfo Close #1 Text1、Text = strinfo End Sub Private Sub C2_Click() Dim strchange As String Dim i As Integer For i = 1 To Len(Text1、Text) strchange = strchange + Chr(Asc(Mid(Text1、Text, i, 1)) + 2) Next Text1、Text = strchange End Sub Private Sub C3_Click() Open "out7、txt" For Output As 1 Print #1, Text1、Text Close #1 End Sub 2、(1)在考生文件夹下有工程文件wy5、vbp及窗体文件wy5、frm,该程序就是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即'号),但不能修改其它部分。存盘时不得改变文件名与文件夹。本题描述如下: 在窗口中有一个RichText文本框控件(名称为rtx1)与一个文本框控件(名称为Text1),两个命令按钮,名称 分别为Command1与Command2,标题分别为"加入WY01、TXT"、"统计字符个数"。要求程序运行后,单击command1将考生文件夹下的wy01、txt的内容显示到rtx1中;单击"统计字符个数"按钮统计Text1中有多少个字符,将结果显示在Text1中。

vb课程设计报告心得感想模板.doc

vb课程设计报告心得感想 vb课程设计报告心得感想篇1 在课程设计过程中,虽然我对程序设计不是很熟悉,但是通过老师详细的讲解,我按照步骤去做,遇到问题的时候先自己想办法解决,解决不了的就去问同学,问老师,通过这种学习,收获很大,学会了自己解决棘手问题,知道了团结的力量。 刚开始做程序的时候,就是完全按照老师的要求,老师的步骤去做的,结果却发现,怎么运行不了?明明是按照老师的步骤去做的,明明是按照老师的要求去做的,但是就是会遇到一些问题使程序运行不了。开始也没有管那么多,仍然是按照课本上的去做。 第一次,在上机课的时候,我根据老师讲的,在机房里做了一次,但没有做完。于是把东西存在了自己的MP3里面,以便以后上机的时候再来做。但真的没有想到,我的MP3,在一次上电子阅览室的时候,忘了拔了。于是乎,我辛辛苦苦做了一大节课的程序就这样没了。心里真的很不舒服,但是,不舒服归不舒服,这个程序,还是得继续做下去,这么以点点小小的失误不算什么,然后跑到学校机房,继续我的VB程序设计。但由于时间问题,做的还是有点粗糙,还是不免存在一定的问题,比如说开始的时候打开不了文件,总是出现错误,自己总也找不出来,后来请教了一下同学,结果发现时代码的编写出现了错误,把代码改过来之后,程序终于可以打开运行了。然后,检查的时候,又发现查找运行错误,又是代码那里出现的黄色的字样,结果发现,是代码拼写错误,于是,拿着同学的代码对比一下,发现了错误所在之地,然后更正了过来。 经过一番努力,程序终于做完了。 后来,室友看了我的程序,她说运行不了的,就是出现了错误,出现了错误,就应该改过啊,这时的我才恍然大。是错误,那么就要改正的! 于是当天,我就去了学校机房,再一次运行我的程序,仍然出现错误情况,需要调试,我回忆起上课的时候,老师是怎么跟我们讲的,哪里出现了错误,需要怎么样改正。于是,我就耐着性子,一个一个,一个一个得改正,编辑代码,一个一个得检查,终于完成了。完成之后,我在运行一下,一切正常,心里终于舒了一口气。经过这次的VB程序设计,让我知道了更多学习的方法。具体如下:(1)保持良好的学习心态,第一,要有自信,自强,积极主动学习.第二,克服畏难情绪,树立学好程序设计的信心(2)要了解概念:VB程序设计本身并不复杂,变量,函数,条件语句,循环语句等概念较多.要真正能进行程序设计,就要深入理解这些概念.应该重视概念的学习. (3)自己动手编写程序,亲自动手进行程序设计是培养逻辑思维的好方法.因此我们得多动手编写程序,逐渐提高写程序的能力.自己动手,编写一些程

VB上机考试习题以及答案

VB上机考试 1、利用随机函数产生25个100到999之间的整数,构成5 5的矩阵,输出该矩阵。Dim a(1 To 5, 1 To 5) Private Sub Form_Click() Ran domize For i = 1 To 5 Forj = 1 To 5 a(i, j) = Int(Rnd * (999 - 100 + 1) + 100) Print a(i, j); Next j Print Next i End Sub 2、利用随机函数产生25个10到99之间的整数,求其平均值(要求保留3位小数,第4 位四舍五入)。Private Sub Form_Click() For i = 1 To 25 a = In t(R nd * (99 - 10 + 1) + 10) Print a; s = s + a Next i Print Avg = s / 25 Print Avg End Sub 3、在窗体上按下鼠标的右键,记录其坐标。 Private Sub Form_Load() Label1.BorderStyle = 1 Label1.Alig nment = 2 End Sub Private Sub Form_MouseDow n(Button As In teger, Shift As In teger, X As Si ngle, Y As Si ngle) If Butt on = 2 The n Label1.C apti on = X & "," & Y End If End Sub 4、利用随机函数产生25个10到99之间的整数,按从小到大的顺序显示。Dim a(1

背单词程序课程设计报告

(北京)计算机语言课程设计 ——背单词 院系:地球物理与信息工程学院 专业:自动化09 小组成员:常润秀、覃丹丹、周衍彤 陈建龙、黄冬 完成日期: 2011年7月14 日 小组设计成绩:

一、设计目的: 综合运用面向对象开发工具,设计Windows风格的软件。通过此次程序设计题目,使学生熟练掌握Windows应用程序的开发过程,为以后专业课的学习奠定基础。 二、所选编程语言:Visual Basic 6.0 三、系统总体设计思路: 背单词软件是英语学习类软件的分支,是专门针对用户背诵英语单词,掌握词汇量而制作的辅助学习软件。由于媒介为个人电脑,所以背单词软件有着其它背单词工具无法达到的智能化与互动性,但相对应的,过于依赖电脑和较差的便携性成为其缺陷。所以作为背单词的软件的设计思路应该简单为原则。用户操作必须简单、方便为原则。 (1)本题目共提供了“大学英语四级词汇”和“大学英语六级词汇”两个词库文件(分别是grade4.txt和grade6.txt),通过“词库设置”中的“词库”组合框可以选择想要的词库。默认的词库是“大学英语四级词汇”。 (2)为了便于用户使用,程序允许选择想要记忆的单词范围。默认的单词范围是“A至Z”,即全部单词。如果选择的范围是“A至C”,那么程序只显示以A、B和C字母开头的单词。程序应保证“起始字母”在“终止字母”之前,即不会出现类似于“C至A” 的情况。 (3)据需要选择“随机”或“循环”复选框。如果不选择“随机”,则显示单词时是以单词在词库中的顺序(即字母的顺序)显示的,否则以随机顺序显示。如果不选择“循 环”复选框,单词显示一遍之后自动停止回到起始状态。如果选择了“循环”复选 框,显示一遍之后会自动从头开始显示。 在随机方式之下,循环是没有意义的,所以当“随机”复选框选定时,“循环”复选 框应变为无效且呈现未选定状态。 (4)毕后,单击“开始”按钮,窗口最上方显示区域从右向左以字幕方式动态显示所选的单词,包括词性和词义。在显示过程中可以改变字体大小、滚动速度和背景显示 颜色。单击“暂停”按钮可以暂停滚动,这时“暂停”按钮变为“继续”,单击会继续滚动。单击“退出”按钮退出主界面。 设计任务分工安排: 由于小组由五名成员构成,可将界面模块分为五个部分: 1.滚动字幕以及部分相关控制控件。设计人员:陈建龙。 2.字体大小,滚动速度,背景颜色控制。设计人员:常润秀。 3.词库选择。设计人员:覃丹丹,黄冬。 4.显示方式(随机,循环)设计人员:覃丹丹,黄冬。 5.主界面其他相关控件,以及其他弹出界面和进入界面。设计人员:周衍彤。 设计进度安排: 设计时间:2011.7.7~2011.7.8, 2011.7.11~2011.7.13 7、8号找到各部分设计思路,进行初步设计

相关文档