带计时器问卷

 收藏

你好

我是Visual Basic的新手。我的老师要求我创建一个3页的问卷(每页1个问题),其中有一个倒计时的计时器。时间到时,它将显示“时间已到”,并将问题保存在文本文件中。

请帮我。

回复
  • rqui 回复

    我从头开始,因为我想完成将文本框中的值保存在文本文件中的部分。 (稍后我将处理计时器问题)。

    我做了一个新表格(Form1)和一个按钮(Button1)。我粘贴了您上面提供的代码,并附带了我所得到的。

  • 唯1的唯一 回复

    一旦回答问题的人在文本框中输入了答案,然后单击了提交或保存,答案将如何保存在单独的文本文件中?

  • kalias 回复

    再次感谢你。

    您可以通过code_dude8@yahoo.com将整个文件发送给我吗?

  • 你带走了爱 回复

    附图片

  • 网名已过期 回复

    使用此API函数。将其放在模块中:

    Public Declare Function WritePrivateProfileString Lib "KERNEL32" _
       Alias "WritePrivateProfileStringA" _
      (ByVal lpSectionName As String, _
       ByVal lpKeyName As String, _
       ByVal lpValue As String, _
       ByVal lpFileName As String) As Long
    'SAVING PROFILE SETTINGS TO .INI
    Public Sub ProfileSaveItem(lpSectionName As String, _
                               lpKeyName As String, _
                               lpValue As String, _
                               lpFileName As String)
    
    Call WritePrivateProfileString(lpSectionName, _
                                      lpKeyName, _
                                      lpValue, _
                                      lpFileName)
    
    End Sub
    
    'Now here is the writing/saving part to notepad as .ini file
    Public Sub write_settings_to_ini(ByVal keyname As String, ByVal keyvalue As String)
    lpFileName = App.Path & "\Answers.ini" 'file name of the notepad .ini, must be in app folder
    Call ProfileSaveItem("Answers", keyname, keyvalue, lpFileName)
    End Sub
    
    'Answers.ini must have this profile content
    '[Answers]
    'textbox1_ans=""
    
    'Do this on the form!
    Private Sub_Next()
    write_settings_to_ini "textbox1_ans", textbox1.text)
    End Sub
    

  • qet 回复

    我尝试了它,但它带有错误。我真的很抱歉,对此我真的很陌生。

    “使用此API函数。将其放入模块:”是什么意思?

  • 洋子舒 回复

        Public logintime    As Date
        Public timelimit    As Date
        Public timetoout    As Date
        Public timeleft     As Date
        public currtimeof   As Date
    
        Private Sub StartTest_Click() 'Command button 
        logintime = Now
        timelimit = TimeValue("00:05:00") 'example time limit is 5 seconds. 
        timetoout = (logintime) + (timelimit)
        timetoout.Caption = Format(timetoout, "mm/dd/yyyy hh:mm:ss AM/PM")
        end sub
    
        'Set Timer Interval to 1000 first in order for the next block of code to run perfectly
        Private Sub Timer1_Timer()
        currtimeof = Format(Now)
        timeleft = CDate(currtimeof) - CDate(timetoout)
        timeleftshow.Caption = Format(timeleft, "hh:mm:ss") 'to display time left
    
        'This will detect if user has reach time limit
        If Format(timeleftshow.Caption, "hh:mm:ss") = "00:00:00" Then
            Timer1.Enabled = False
            msgbox "Time is up. Thank you!",vbinformation,"Time Up"
        End If
        end sub
    
        'Thats it!
        'Ive seen you have text box, you can save the value of the textbox in notepad or array!
    

  • yut 回复

    您在错误的论坛中发帖。看来您正在使用VB.Net。请将您的问题发布到VB.Net论坛!

  • zearum 回复

    我认为您不需要在表单上看到的富文本框。.我已根据您的需要在下面进行了编码。.对其进行更改以适合您的程序。

  • 夏子洛 回复

    非常感谢您的回复!我是VB的新手,所以抱歉,如果我可能有点迟钝。我实际上拥有的是3种形式(每个1个问题)和1个应该对所有3种形式进行计时的计时器。 我不确定如何为VB做.rtf事情。至于计时器,我该如何继续/继续倒计时到下一个表格?我已经附上了界面外观的图片。 我知道我要求太多,但请帮助我。 非常感谢。

  • wrerum 回复

    抱歉,您遇到了这个阻碍。无论如何,我能够完成我的项目。谢谢你的想法...

  • hipsum 回复

    设计您的问题并将其保存为.rtf格式。在vb中使用富文本框加载该问卷。并使用计时器控制来控制时间限制。

  • 幸福棒棒糖 回复

    我认为上面的代码将使您的程序运行。我没有整个程序。我已经根据您的问题进行了编码!