⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spooling.txt

📁 这是我用VB编写的一个SPOOLING模拟程序
💻 TXT
字号:
附录:程序代码

Dim I As Integer              '定义输入的作业排序值
Dim J As Integer              '定义输出的作业排序值
Dim InTime As Integer         '定义输入作业进度显示时钟的进度值
Dim OutTime As Integer        '定义输出作业进度显示时钟的进度值
Dim DataArray() As String     '定义模拟输入井和输出井的数组,输入井和输出井共用

Private Sub Form_Activate()
    I = 1                     '设定输入作业值从1开始
    J = 1                     '设定输出作业值从1开始
    InTime = 0                '设定输入作业进度显示时钟的进度值从0开始
    OutTime = 0               '设定输出作业进度显示时钟的进度值从0开始
    InTimer.Enabled = False   '将输入作业进度显示时钟关闭
    OutTimer.Enabled = False  '将输出作业进度显示时钟关闭
    
    spooling.Caption = "SPOOLing系统的模拟实现"    '改变窗口标题栏
End Sub

Private Sub Input_Click()      '输入作业
    
    Dim Str As String, Info As String    'Str为暂存字符串,Info存储作业内容
    Str = "输入作业 "
    Str = Str & I
    Info = InputBox("请输入作业内容!", "输入对话框!")   '输入作业内容
    
    If Info = "" Then   '判断作业是否为空,若空则退出本次操作
        Exit Sub
    End If
    
    InputStat.AddItem (Str)   '将作业加入等待队列
    
    InTimer.Enabled = True    '开始将作业输入输入井
    
    If I = 1 Then             '将作业内容存储到模拟输入井的数组中
        ReDim DataArray(0)
    Else
        ReDim Preserve DataArray(UBound(DataArray) + 1)
    End If
    
    DataArray(UBound(DataArray)) = Info
    
    I = I + 1              '输入作业顺序值增1
End Sub

Private Sub InputStat_Click()    '输入作业队列显示,单击作业为查看作业内容,在InputInfo中显示内容
    Dim temp As Integer
    If Len(InputStat.List(InputStat.ListIndex)) > 6 Then
        temp = Right(InputStat.List(InputStat.ListIndex), 2)
        InputInfo.Caption = DataArray(temp - 1)
    Else
        temp = Right(InputStat.List(InputStat.ListIndex), 1)
        InputInfo.Caption = DataArray(temp - 1)
    End If
End Sub

Private Sub InTimer_Timer()     '输入作业进度显示时钟
    If InputStat.ListCount = 0 Then
        InTimer.Enabled = False
        InProgress.Value = 0
        InputInfo.Caption = ""
        Exit Sub
    End If
    
    If InTime = 100 Then
        InTime = 0
        InputStat.RemoveItem (0)
        Dim Str As String, Info As String
        Str = "输出作业 "
        Str = Str & J
        OutputStat.AddItem (Str)
        J = J + 1
    Else
        InTime = InTime + 5
    End If
    
    InProgress.Value = InTime
End Sub

Private Sub Output_Click()     '输出作业
    OutTimer.Enabled = True
    If OutputStat.ListCount = 0 Then
        OutTimer.Enabled = False
        OutProgress.Value = 0
    End If
End Sub

Private Sub OutputStat_Click()     '输出作业队列显示,单击作业为查看作业内容,在OutputInfo中显示内容
    Dim temp As Integer
    If Len(OutputStat.List(OutputStat.ListIndex)) > 6 Then
        temp = Right(OutputStat.List(OutputStat.ListIndex), 2)
        OutputInfo.Caption = DataArray(temp - 1)
    Else
        temp = Right(OutputStat.List(OutputStat.ListIndex), 1)
        OutputInfo.Caption = DataArray(temp - 1)
    End If
End Sub

Private Sub OutTimer_Timer()    '输出作业进度显示时钟
    If OutputStat.ListCount = 0 Then
        OutTimer.Enabled = False
        OutProgress.Value = 0
        OutputInfo.Caption = ""
    End If
    
    If OutTime = 100 Then
        OutTime = 0
        OutputStat.RemoveItem (0)
    Else
        OutTime = OutTime + 5
    End If
    
    OutProgress.Value = OutTime
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -