Foxtable(狐表)用户栏目专家坐堂 → 下一行随机


  共有3424人关注过本帖树形打印复制链接

主题:下一行随机

帅哥哟,离线,有人找我吗?
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/29 20:38:00 [只看该作者]

没问题

 回到顶部
帅哥哟,离线,有人找我吗?
yangwenghd
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2705 积分:18035 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2016/12/4 23:05:00 [只看该作者]

Dim lbl1 As WinForm.Label = e.Form.Controls("Label1")
Dim txt1 As WinForm.TextBox = e.Form.Controls("TextBox1")
If lbl1.text <> txt1.text Then
    msgbox("不匹配")
    'Audio.Play("d:\test.wav")
Else
    Dim t As Table = Tables("英语")
    If Forms("考核窗口").Controls("CheckBox1").Checked
        Dim idx As Integer = Rand.Next(t.rows.count)
        t.Position = idx
    Else       
        Dim r As Row = t.current
        r("目录_状态") = "已学习"
    End If
End If

能帮我看看这个吗?
点击 下一行不选中 目录_状态 为 已学习
当最后一行时候点击 下一行 跳到第一行。

我把之前上次帮我做的代码改了又改还是不行 麻烦了 

 回到顶部
帅哥哟,离线,有人找我吗?
有点酸
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2016/12/4 23:11:00 [只看该作者]

代码看不出问题,别人也不懂你的设计逻辑。

学会自己调试分析:

这种代码只有逻辑问题,没有技术问题,最清楚自己设计逻辑的,就是你自己,用上面的代码可以很快找出原因来。

 回到顶部
帅哥哟,离线,有人找我吗?
yangwenghd
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2705 积分:18035 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2016/12/4 23:17:00 [只看该作者]

Dim lbl1 As WinForm.Label = e.Form.Controls("Label1")
Dim txt1 As WinForm.TextBox = e.Form.Controls("TextBox1")
If lbl1.text <> txt1.text Then
    msgbox("不匹配")
    'Audio.Play("d:\test.wav")
Else
    Dim t As Table = Tables("英语")
    If Forms("考核窗口").Controls("CheckBox1").Checked
        Dim idx As Integer = Rand.Next(t.rows.count)
        t.Position = idx
    ElseIf t.Position < t.Rows.Count - 1
        t.Position = t.Position - 1
        Dim r As Row = t.current
        r("目录_状态") = "已学习"
        
    End If
End If

代码没问题 我想在上面加两个功能 
一个是 当最后一行的时候点击按钮 跳到第一行 
就是 点击按钮的时候 下一行 不是 ("目录_状态") = "已学习"  感谢 感谢  

 回到顶部
帅哥哟,离线,有人找我吗?
有点酸
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2016/12/4 23:29:00 [只看该作者]

Dim lbl1 As WinForm.Label = e.Form.Controls("Label1")
Dim txt1 As WinForm.TextBox = e.Form.Controls("TextBox1")
If lbl1.text <> txt1.text Then
    msgbox("不匹配")
    'Audio.Play("d:\test.wav")
Else
    Dim t As Table = Tables("英语")
    Dim p As Integer
    If t.Position = t.Rows.Count - 1 '如果是最后一行
        p = 0 
    Else '否则
        p = t.Position + 1
    End If
    For i As Integer = p To t.Rows.count - 1
        If t.Rows(i)("目录_状态") <> "已学习" Then
            t.Position = i
            r.Rows(i)("目录_状态") = "已学习"
            Exit For
        End If
    Next
End If

 回到顶部
帅哥哟,离线,有人找我吗?
yangwenghd
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2705 积分:18035 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2016/12/4 23:39:00 [只看该作者]

Dim lbl1 As WinForm.Label = e.Form.Controls("Label1")
Dim txt1 As WinForm.TextBox = e.Form.Controls("TextBox1")
If lbl1.text <> txt1.text Then
    msgbox("不匹配")
    'Audio.Play("d:\test.wav")
Else
    Dim t As Table = Tables("英语")
    Dim r As Row = t.current
    r("目录_状态") = "已学习"
    If Forms("考核窗口").Controls("CheckBox1").Checked
        Dim idx As Integer = Rand.Next(t.rows.count)
        t.Position = idx
Dim drs As List(Of DataRow) = t.DataTable.Select("目录_状态 Is null Or 目录_状态 <> '学习中'")
    Else
        If t.Position < t.Rows.Count - 1
            t.Position = t.Position + 1
        Else
            t.Position = 0
        End If
        msgbox("已学完")
    End If
End If

能帮我看看吗 为什么还是会选到 目录_状态 为'学习中 以为的 列表啊 感谢感谢  
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20161204233422.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点酸
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2016/12/4 23:45:00 [只看该作者]

错误提示,已经告诉你是这一行代码出错:

 r.Rows(i)("目录_状态") = "已学习"

很明显,这是一个笔误,正确的应该是:

t.Rows(i)("目录_状态") = "已学习"

别人帮你写的代码,应该认真取理解学习,不要只是机械地复制粘贴,我们做的是技术支持,不是自动代码编写器。


 回到顶部
帅哥哟,离线,有人找我吗?
yangwenghd
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2705 积分:18035 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2016/12/5 9:52:00 [只看该作者]

谢谢 给你们添麻烦了 
能帮忙看看这段吗?
Dim lbl1 As WinForm.Label = e.Form.Controls("Label1")
Dim txt1 As WinForm.TextBox = e.Form.Controls("TextBox1")
If lbl1.text <> txt1.text Then
    msgbox("不匹配")
    'Audio.Play("d:\test.wav")
Else
    Dim t As Table = Tables("英语")
    Dim r As Row = t.current
    r("目录_状态") = "已学习"
    If Forms("考核窗口").Controls("CheckBox1").Checked
        Dim idx As Integer = Rand.Next(t.rows.count)
        t.Position = idx
Dim drs As List(Of DataRow) = t.DataTable.Select("目录_状态 Is null Or 目录_状态 <> '学习中'")
    Else
        If t.Position < t.Rows.Count - 1
            t.Position = t.Position + 1
        Else
            t.Position = 0
        End If
        msgbox("已学完")
    End If
End If
当 目录_状态 列没有 '学习中 才显示 已学完 这个窗口, msgbox("已学完") 应该放在那里啊?


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/5 10:14:00 [只看该作者]

Dim lbl1 As WinForm.Label = e.Form.Controls("Label1")
Dim txt1 As WinForm.TextBox = e.Form.Controls("TextBox1")
If lbl1.text <> txt1.text Then
    msgbox("不匹配")
    Return
    'Audio.Play("d:\test.wav")
Else
    Dim t As Table = Tables("英语")
    Dim r As Row = t.current
    r("目录_状态") = "已学习"
    If Forms("考核窗口").Controls("CheckBox1").Checked
        Dim idx As Integer = Rand.Next(t.rows.count)
        t.Position = idx
        
    Else
        If t.Position < t.Rows.Count - 1
            t.Position = t.Position + 1
        Else
            t.Position = 0
        End If
        
    End If
End If

If Tables("英语").DataTable.Find("目录_状态 = '学习中'") Is Nothing Then
    msgbox("已学完")
End If

 回到顶部
帅哥哟,离线,有人找我吗?
yangwenghd
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2705 积分:18035 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2016/12/5 11:00:00 [只看该作者]

能帮忙看看这个吗 感谢 感谢 

Dim lbl1 As WinForm.Label = e.Form.Controls("Label1")
Dim txt1 As WinForm.TextBox = e.Form.Controls("TextBox1")
If lbl1.text <> txt1.text Then
    msgbox("不匹配")
    'Audio.Play("d:\test.wav")
Else
    Dim t As Table = Tables("英语")
    'Dim r As Row = t.current
    r("目录_状态") = "已学习"
    't.Current("听写_次数") += 1
    If e.Form.controls("checkbox1").checked Then
        Dim drs As List(Of DataRow) = t.DataTable.Select("目录_状态 Is null Or 目录_状态 <> '学习中'")
        If drs.count > 0 Then
            Dim idx As Integer = Rand.Next(drs.count-1)
            t.position = t.FindRow(drs(idx))
            Dim r = t.current
            Dim sp As New DotNetSpeech.SpVoice()
            sp.Speak(r("目录_英文"), DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync)
            txt1.text = ""
        Else
            msgbox("已学完")
        End If
    Else
        Dim idx As Integer = t.FindRow("目录_状态 is null or 目录_状态 <> '学习中'", t.Position+1, True)
        If idx = -1  Then
            msgbox("已学完")
        Else
            Dim r As Row = t.Rows(idx)
            t.Position = idx
            Dim sp As New DotNetSpeech.SpVoice()
            sp.Speak(r("目录_英文"), DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync)
            txt1.text = ""
        End If
    End If
End If


图片点击可在新窗口打开查看此主题相关图片如下:啊啊啊啊.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2016/12/5 11:01:33编辑过]

 回到顶部
总数 32 上一页 1 2 3 4 下一页