このたび、情報の授業で班ごとにプログラムを作ることになりました
しかし、私にはセンスが皆無なのでしょうが、プリントを読んだり調べたりしてもさっぱり理解できません
このままだと私が足を引っ張ることになり、とても困ります
どうやら、やる内容は、西暦と第何曜日かを決めて、日にちを求めるプログラムを組まなくてはならないようです
今のところなんとか足掻いて書いたのが以下のようなものです
Sub hi()
nserial = DateSerial(seireki, tsuki, hi)
Select Case hiindex
case1
hi = 1
case2
hi = 2
case3
hi = 3
case4
hi = 4
case5
hi = 5
case6
hi = 6
case7
hi = 7
case8
hi = 8
case9
hi = 9
case10
hi = 10
case11
hi = 11
case12
hi = 12
case13
hi = 13
Case14
hi = 14
case15
hi = 15
case16
hi = 16
case17
hi = 17
case18
hi = 18
case19
hi = 19
case20
hi = 20
case21
hi = 21
case22
hi = 22
case23
hi = 23
case24
hi = 24
case25
hi = 25
case26
hi = 26
case27
hi = 27
case28
hi = 28
case29
hi = 29
case30
hi = 30
case31
hi = 31
End Sub
どなたか助けてください!!!
もうさっぱり手も足もでないので、どんなアドバイスでもうれしいです!!
いつもお世話になっております。VB超初心者です。
現在VB6にてオシロ測定DATAの解析プログラムを作成しています。
DATAは電圧-時間の正弦波が約100サイクル続くDATAです。
この正弦波の各位相0°に相当するポイント(-→+へ移る際の0ポイント)をピックアップしていきたいのですが+-の境目で数値がバタつき、
うまく0°の場所を拾えず180°も拾ってしまいます。
数値の並びは-→+の境目は下記のかんじで
-0.16
-0.16
0
-0.08
-0.08
-0.16
-0.08
-0.08
-0.08
-0.08
0
0
-0.08
-0.08
-0.08
-0.08
-0.08
0
-0.08
-0.08
-0.08
0
-0.16
-0.08
-0.08
0
とここから0が増えて+が現れる感じです。バタつきの幅や並びの傾向
から下記のプログラムをとりあえず作ったのですが結果は180°も
一緒に拾ってしまいます。カウント10で1ポイント拾うものなので
20で拾わずにカウント0に戻せばいいのでしょうか?
というよりSGN関数使うとかすべきなのでしょうか?何かいいやり方
ありませんか?
Private Sub StartCommand_Click()
Dim rs, r:
Dim ws, w:
Dim rLine As String
Dim wLine As String
Dim nowVolt As Double
Dim beforeVolt As Double
Dim start As Integer
Dim counter As Integer
Dim point As Integer
Dim LineX
'事前準備
Set rs = CreateObject("Scripting.FileSystemObject")
Set r = rs.OpenTextFile(ReadFile.Text, 1)
Set ws = CreateObject("Scripting.FileSystemObject")
Set w = _
ws.CreateTextFile(WriteFile.Text, True)
counter = 0
point = 0
nowVolt = 0
beforeVolt = 0
start = 0
Last = 0
'実際の計算
Do Until r.AtEndOfStream
'電圧値取得
rLine = r.readLine
LineX = Split(rLine & ",,,,,,,", ",")
nowVolt = Val(LineX(4))
'ゼロ点検出用カウンタ処理
If (beforeVolt < 0) Then
If (nowVolt >= 0) Then
counter = counter + 1
End If
End If
'ゼロ点検出処理
If counter = 1 Then
start = point
End If
If counter = 10 Then
Last = LineX(3)
wLine = Last
w.WriteLine (wLine)
counter = 0
End If
'次処理
beforeVolt = nowVolt
Loop
'事後処理
r.Close:
w.Close:
End Sub
いつもお世話になっております。VB超初心者です。
現在VB6にてオシロ測定DATAの解析プログラムを作成しています。
DATAは電圧-時間の正弦波が約100サイクル続くDATAです。
この正弦波の各位相0°に相当するポイント(-→+へ移る際の0ポイント)をピックアップしていきたいのですが+-の境目で数値がバタつき、
うまく0°の場所を拾えず180°も拾ってしまいます。
数値の並びは-→+の境目は下記のかんじで
-0.16
-0.16
0
-0.08
-0.08
-0.16
-0.08
-0.08
-0.08
-0.08
0
0
-0.08
-0.08
-0.08
-0.08
-0.08
0
-0.08
-0.08
-0.08
0
-0.16
-0.08
-0.08
0
とここから0が増えて+が現れる感じです。バタつきの幅や並びの傾向
から下記のプログラムをとりあえず作ったのですが結果は180°も
一緒に拾ってしまいます。カウント10で1ポイント拾うものなので
20で拾わずにカウント0に戻せばいいのでしょうか?
というよりSGN関数使うとかすべきなのでしょうか?何かいいやり方
ありませんか?
Private Sub StartCommand_Click()
Dim rs, r:
Dim ws, w:
Dim rLine As String
Dim wLine As String
Dim nowVolt As Double
Dim beforeVolt As Double
Dim start As Integer
Dim counter As Integer
Dim point As Integer
Dim LineX
'事前準備
Set rs = CreateObject("Scripting.FileSystemObject")
Set r = rs.OpenTextFile(ReadFile.Text, 1)
Set ws = CreateObject("Scripting.FileSystemObject")
Set w = _
ws.CreateTextFile(WriteFile.Text, True)
counter = 0
point = 0
nowVolt = 0
beforeVolt = 0
start = 0
Last = 0
'実際の計算
Do Until r.AtEndOfStream
'電圧値取得
rLine = r.readLine
LineX = Split(rLine & ",,,,,,,", ",")
nowVolt = Val(LineX(4))
'ゼロ点検出用カウンタ処理
If (beforeVolt < 0) Then
If (nowVolt >= 0) Then
counter = counter + 1
End If
End If
'ゼロ点検出処理
If counter = 1 Then
start = point
End If
If counter = 10 Then
Last = LineX(3)
wLine = Last
w.WriteLine (wLine)
counter = 0
End If
'次処理
beforeVolt = nowVolt
Loop
'事後処理
r.Close:
w.Close:
End Sub
いつもお世話になっております。VB超初心者です。
現在VB6にてオシロ測定DATAの解析プログラムを作成しています。
DATAは電圧-時間の正弦波が約100サイクル続くDATAです。
この正弦波の各位相0°に相当するポイント(-→+へ移る際の0ポイント)をピックアップしていきたいのですが+-の境目で数値がバタつき、
うまく0°の場所を拾えず180°も拾ってしまいます。
数値の並びは-→+の境目は下記のかんじで
-0.16
-0.16
0
-0.08
-0.08
-0.16
-0.08
-0.08
-0.08
-0.08
0
0
-0.08
-0.08
-0.08
-0.08
-0.08
0
-0.08
-0.08
-0.08
0
-0.16
-0.08
-0.08
0
とここから0が増えて+が現れる感じです。バタつきの幅や並びの傾向
から下記のプログラムをとりあえず作ったのですが結果は180°も
一緒に拾ってしまいます。カウント10で1ポイント拾うものなので
20で拾わずにカウント0に戻せばいいのでしょうか?
というよりSGN関数使うとかすべきなのでしょうか?何かいいやり方
ありませんか?
Private Sub StartCommand_Click()
Dim rs, r:
Dim ws, w:
Dim rLine As String
Dim wLine As String
Dim nowVolt As Double
Dim beforeVolt As Double
Dim start As Integer
Dim counter As Integer
Dim point As Integer
Dim LineX
'事前準備
Set rs = CreateObject("Scripting.FileSystemObject")
Set r = rs.OpenTextFile(ReadFile.Text, 1)
Set ws = CreateObject("Scripting.FileSystemObject")
Set w = _
ws.CreateTextFile(WriteFile.Text, True)
counter = 0
point = 0
nowVolt = 0
beforeVolt = 0
start = 0
Last = 0
'実際の計算
Do Until r.AtEndOfStream
'電圧値取得
rLine = r.readLine
LineX = Split(rLine & ",,,,,,,", ",")
nowVolt = Val(LineX(4))
'ゼロ点検出用カウンタ処理
If (beforeVolt < 0) Then
If (nowVolt >= 0) Then
counter = counter + 1
End If
End If
'ゼロ点検出処理
If counter = 1 Then
start = point
End If
If counter = 10 Then
Last = LineX(3)
wLine = Last
w.WriteLine (wLine)
counter = 0
End If
'次処理
beforeVolt = nowVolt
Loop
'事後処理
r.Close:
w.Close:
End Sub
いつもお世話になっております。VB超初心者です。
現在VB6にてオシロ測定DATAの解析プログラムを作成しています。
DATAは電圧-時間の正弦波が約100サイクル続くDATAです。
この正弦波の各位相0°に相当するポイント(-→+へ移る際の0ポイント)をピックアップしていきたいのですが+-の境目で数値がバタつき、
うまく0°の場所を拾えず180°も拾ってしまいます。
数値の並びは-→+の境目は下記のかんじで
-0.16
-0.16
0
-0.08
-0.08
-0.16
-0.08
-0.08
-0.08
-0.08
0
0
-0.08
-0.08
-0.08
-0.08
-0.08
0
-0.08
-0.08
-0.08
0
-0.16
-0.08
-0.08
0
とここから0が増えて+が現れる感じです。バタつきの幅や並びの傾向
から下記のプログラムをとりあえず作ったのですが結果は180°も
一緒に拾ってしまいます。カウント10で1ポイント拾うものなので
20で拾わずにカウント0に戻せばいいのでしょうか?
というよりSGN関数使うとかすべきなのでしょうか?何かいいやり方
ありませんか?
Private Sub StartCommand_Click()
Dim rs, r:
Dim ws, w:
Dim rLine As String
Dim wLine As String
Dim nowVolt As Double
Dim beforeVolt As Double
Dim start As Integer
Dim counter As Integer
Dim point As Integer
Dim LineX
'事前準備
Set rs = CreateObject("Scripting.FileSystemObject")
Set r = rs.OpenTextFile(ReadFile.Text, 1)
Set ws = CreateObject("Scripting.FileSystemObject")
Set w = _
ws.CreateTextFile(WriteFile.Text, True)
counter = 0
point = 0
nowVolt = 0
beforeVolt = 0
start = 0
Last = 0
'実際の計算
Do Until r.AtEndOfStream
'電圧値取得
rLine = r.readLine
LineX = Split(rLine & ",,,,,,,", ",")
nowVolt = Val(LineX(4))
'ゼロ点検出用カウンタ処理
If (beforeVolt < 0) Then
If (nowVolt >= 0) Then
counter = counter + 1
End If
End If
'ゼロ点検出処理
If counter = 1 Then
start = point
End If
If counter = 10 Then
Last = LineX(3)
wLine = Last
w.WriteLine (wLine)
counter = 0
End If
'次処理
beforeVolt = nowVolt
Loop
'事後処理
r.Close:
w.Close:
End Sub
いつもお世話になっております。VB超初心者です。
現在VB6にてオシロ測定DATAの解析プログラムを作成しています。
DATAは電圧-時間の正弦波が約100サイクル続くDATAです。
この正弦波の各位相0°に相当するポイント(-→+へ移る際の0ポイント)をピックアップしていきたいのですが+-の境目で数値がバタつき、
うまく0°の場所を拾えず180°も拾ってしまいます。
数値の並びは-→+の境目は下記のかんじで
-0.16
-0.16
0
-0.08
-0.08
-0.16
-0.08
-0.08
-0.08
-0.08
0
0
-0.08
-0.08
-0.08
-0.08
-0.08
0
-0.08
-0.08
-0.08
0
-0.16
-0.08
-0.08
0
とここから0が増えて+が現れる感じです。バタつきの幅や並びの傾向
から下記のプログラムをとりあえず作ったのですが結果は180°も
一緒に拾ってしまいます。カウント10で1ポイント拾うものなので
20で拾わずにカウント0に戻せばいいのでしょうか?
というよりSGN関数使うとかすべきなのでしょうか?何かいいやり方
ありませんか?
Private Sub StartCommand_Click()
Dim rs, r:
Dim ws, w:
Dim rLine As String
Dim wLine As String
Dim nowVolt As Double
Dim beforeVolt As Double
Dim start As Integer
Dim counter As Integer
Dim point As Integer
Dim LineX
'事前準備
Set rs = CreateObject("Scripting.FileSystemObject")
Set r = rs.OpenTextFile(ReadFile.Text, 1)
Set ws = CreateObject("Scripting.FileSystemObject")
Set w = _
ws.CreateTextFile(WriteFile.Text, True)
counter = 0
point = 0
nowVolt = 0
beforeVolt = 0
start = 0
Last = 0
'実際の計算
Do Until r.AtEndOfStream
'電圧値取得
rLine = r.readLine
LineX = Split(rLine & ",,,,,,,", ",")
nowVolt = Val(LineX(4))
'ゼロ点検出用カウンタ処理
If (beforeVolt < 0) Then
If (nowVolt >= 0) Then
counter = counter + 1
End If
End If
'ゼロ点検出処理
If counter = 1 Then
start = point
End If
If counter = 10 Then
Last = LineX(3)
wLine = Last
w.WriteLine (wLine)
counter = 0
End If
'次処理
beforeVolt = nowVolt
Loop
'事後処理
r.Close:
w.Close:
End Sub