• C语言经典题库V2.1


    C语言经典题库V2.1,‎September ‎28, ‎2018那天晚上写的新版本。

    一个ExcelVBA的项目,功能是能够从题库中随机抽题,并利用了新版(即07年往后)的office的UI。

    UI配置文件(customUI.xml):

    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    
        <ribbon startFromScratch="true">
    
            <tabs>
    
                <tab id="myTab" label="C Language">
    
    
    
    <group id="g1" label="Rnd">
    
        <button id="r5" label="Rnd_5" imageMso="BorderBottomNoToggle" size="large" supertip="Rand_5" onAction="act11"/>
    
        <button id="r10" label="Rnd_10" imageMso="BorderDoubleBottom" size="large" supertip="Rand_10" onAction="act12"/>
    
        <button id="r20" label="Rnd_20" imageMso="AlignBottomExcel" size="large" supertip="Rand_20" onAction="act13"/>
    
        <button id="r40" label="Rnd_40" imageMso="AlignCenter" size="large" supertip="Rand_40" onAction="act14"/>
    </group>
    <group id="g2" label="More">
    
        <button id="finish" label="finish" imageMso="Spelling" size="large" onAction="act21"/>
        <button id="about" label="about" imageMso="FunctionsLogicalInsertGallery" size="large" onAction="act22"/>
    </group>
    
    
                </tab>
    
            </tabs>
    
        </ribbon>
    
    </customUI>

    act模块(主模块):

    Public Sub act11(a11 As IRibbonControl)
        Call RndFind(5)
    End Sub
    
    Public Sub act12(a12 As IRibbonControl)
        Call RndFind(10)
    End Sub
    
    Public Sub act13(a13 As IRibbonControl)
        Call RndFind(20)
    End Sub
    
    Public Sub act14(a14 As IRibbonControl)
        Call RndFind(40)
    End Sub
    
    Public Sub act21(a21 As IRibbonControl)
        On Error GoTo Err
        Sheet2.Select
        If Sheet2.Columns("C:C").EntireColumn.Hidden Then
            If MsgBox("Do you want to finish the exam?", 36, "Please confirm") = 6 Then
                Dim ipy As Byte
                Sheet2.Unprotect Password:=""
                Sheet2.Columns("C:C").EntireColumn.Hidden = False
                Sheet2.Columns("B:B").Validation.Delete
                For ipy = 1 To 40
                    If Sheet2.Cells(ipy, 2) <> Sheet2.Cells(ipy, 3) Then
                        Sheet2.Cells(ipy, 2).Interior.Color = 65535
                    Else
                        Sheet2.Cells(ipy, 2).Interior.Pattern = xlNone
                    End If
                Next
                Sheet2.Cells(1, 1).Select
            End If
        Else
            MsgBox "No examinations.", 16, "ERROR"
        End If
        Exit Sub
    Err:
        MsgBox "Unexpect ERROR!", 16, "ERROR"
    End Sub
    
    Public Sub act22(a22 As IRibbonControl)
        MsgBox "Powered By Leisureeen." & vbCrLf & "E-mail:  leisureeen@qq.com", 64, "About The Designer"
    End Sub
    
    Public Sub RndFind(Num)
        Dim rndn%, i As Byte
        On Error GoTo Err
        Sheet2.Select
        If Sheet2.Columns("C:C").EntireColumn.Hidden Then
            MsgBox "Under examination.", 16, "ERROR"
            Exit Sub
        End If
        Sheet2.Cells = ""
        For i = 1 To 40
            Sheet2.Cells(i, 2).Interior.Pattern = xlNone
        Next
        Sheet2.Columns("C:C").EntireColumn.Hidden = True
        Randomize
        For i = 1 To Num
            rndn = Int(Rnd * 559 + 1)
            Sheet2.Cells(i, 1) = Sheet1.Cells(rndn, 1)
            Sheet2.Cells(i, 2).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="A,B,C,D"
            Sheet2.Cells(i, 3) = Sheet1.Cells(rndn, 2)
        Next
        Sheet2.Columns("B:B").Locked = False
        Sheet2.Protect Password:=""
        Sheet2.Cells(1, 2).Select
        Exit Sub
    Err:
        MsgBox "Unexpect ERROR!", 16, "ERROR"
    End Sub
  • 相关阅读:
    Kostya Keygen#2分析
    一个简单的windows勒索软件分析
    MSRHook与SSDTHook
    VS2013中调驱动
    VMProtect1.63分析
    Linux内核分析总结
    进程的切换和系统的一般执行过程
    可执行程序的装载
    进程的描述和进程的创建
    扒开系统调用的三层皮(下)
  • 原文地址:https://www.cnblogs.com/leisureeen/p/12705112.html
Copyright © 2020-2023  润新知