kunkun_129 の回答履歴

全58件中21~40件表示
  • 正弦波DATAの各サイクルでの位相を求めるプログラムについて

    いつもお世話になっております。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

  • 正弦波DATAの各サイクルでの位相を求めるプログラムについて

    いつもお世話になっております。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

  • 正弦波DATAの各サイクルでの位相を求めるプログラムについて

    いつもお世話になっております。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

  • Double型への値の設定で「#」を付ける意味は何ですか?

    VB2005で開発しています。 分からないので、自分なりにサンプルプログラムを作ってみましたが、 結果が変わりません。 以下のような感じで、試しました。 ------------------------------------------ Dim dbl As Double dbl = 120.1# MessageBox.Show(dbl.ToString) dbl = 120.1 MessageBox.Show(dbl.ToString) ------------------------------------------ 「#」を使うことに、どのような意味があるのでしょうか? うまく調べられませんでしたので、教えて頂けませんか? お願いいたします。

  • 変更されるファイル名のファイルの開き方

    お世話になります。 VBAである別のWorkbookのファイルを開きたいのですが、 開きたいファイルのファイル名が不定期に変わります。 「○月○日○時○分集計表.xls」見たいな感じです。 こう言う場合の開く方法がどうしても分かりませんでした。 どなたか、ご教示頂きたく宜しくお願い致します。

  • タイマーで動かすselect caseのタイミング

    今、プログラムを勉強しているものです。 ボタンをクリックするとTimer1が指定したインターバルで動き始め、Timer_Tickにあるselect caseがループし始めるということをしています。 しかし、どうしてもタイマーを動かしてからselect caseに行くまでにインターバルが一回入ってしまうのです。これをどうにかタイマーが動いたときにすぐselect caseを動かすようにはならないのでしょうか?

  • SOP

    お世話になります。 人がプログラムしたVBを解読しています。 その中で Call Sop(1)と言う記述があり、この記述は結構 出てきます。そしてこの括弧()内の数字はどうやら、モジュール の数と同じで、例えばモジュール2のプロシージャの中に出てくる 記述は、Call Sop(2)と記述されています。 しかし、分からないのは、CallのSubプロシージャがどこにも見あたら ないのです。どこか見えないところに記述!?してたりするのでしょうか? ダメもとで質問して見ます。 何かヒントになる様な事でも構いません。 ご教示頂けたら幸いです。

  • 正弦波DATAの各サイクルでの位相を求めるプログラムについて

    いつもお世話になっております。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

  • ダブルクォーテーション付きの文字列を含むファイルを読み込む方法?

    Visual Basic 2008 Express Editionを使用しています。 IE上の範囲選択のHTMLテキストをテキストファイルに保存しています。 保存日時(Date型):time "文字列":moji のように保存しています。 FileOpen(n, "Data.dat", OpenMode.Append)  WriteLine(n, time, moji) ~保存されたファイルの例~ #2008-08-31 10:21:05# , "この記事に関するコメントを投稿するには、下のボタンをクリックしてください。投稿フォームが表示されます。通常のご質問、ご意見等は<A href=""/vb/bbs/index.html"">掲示板</A>へご投稿ください。 " このファイルを以下のように読み込もうとしています。 FileOpen(n, "Data.dat", OpenMode.Input) Do While Not EOF(n) Input(n, time) Input(n, moji) TextBox1.Text += vbCrLf & time & vbCrLf & moji & vbCrLf Loop  ところが、HTMLの文字配列の中には、<a href="" http://・・・・ "">のようにダブルクォーテーションが含まれています。ダブルクォーテーションが2つなら、文字列として扱ってもらえると思っていましたが、文字列の終了位置として認識してしまうようです(エラーの内容から判断しました。) ダブルクォーテーションを含む文字列の場合どのように処理したらよいでしょうか?

  • ステートメントについて

    お世話になります。 Option Explicitステートメント を記述するのとしない場合の違いが今一良く 分かりません。 どなたかサルにでも分かるようにご教示 頂けませんか? よろしくお願い致します。

  • 配列のデータをボタンを押すことによって確認したい

    お願いいたします。 例えば、data(0)~data(9)までの配列データを作ります。 そのデータの中身をボタンを押すとdata(0)の内容から順番にdata(9)までtextbox内に表示させたいのですが、上手くできません。 (1回押す毎にdata(0)、data(1)・・data(9)と表示させたいのです) どのように書いたらよいか教えてください。 お願いいたします。

  • ダブルクォーテーション付きの文字列を含むファイルを読み込む方法?

    Visual Basic 2008 Express Editionを使用しています。 IE上の範囲選択のHTMLテキストをテキストファイルに保存しています。 保存日時(Date型):time "文字列":moji のように保存しています。 FileOpen(n, "Data.dat", OpenMode.Append)  WriteLine(n, time, moji) ~保存されたファイルの例~ #2008-08-31 10:21:05# , "この記事に関するコメントを投稿するには、下のボタンをクリックしてください。投稿フォームが表示されます。通常のご質問、ご意見等は<A href=""/vb/bbs/index.html"">掲示板</A>へご投稿ください。 " このファイルを以下のように読み込もうとしています。 FileOpen(n, "Data.dat", OpenMode.Input) Do While Not EOF(n) Input(n, time) Input(n, moji) TextBox1.Text += vbCrLf & time & vbCrLf & moji & vbCrLf Loop  ところが、HTMLの文字配列の中には、<a href="" http://・・・・ "">のようにダブルクォーテーションが含まれています。ダブルクォーテーションが2つなら、文字列として扱ってもらえると思っていましたが、文字列の終了位置として認識してしまうようです(エラーの内容から判断しました。) ダブルクォーテーションを含む文字列の場合どのように処理したらよいでしょうか?

  • ダブルクォーテーション付きの文字列を含むファイルを読み込む方法?

    Visual Basic 2008 Express Editionを使用しています。 IE上の範囲選択のHTMLテキストをテキストファイルに保存しています。 保存日時(Date型):time "文字列":moji のように保存しています。 FileOpen(n, "Data.dat", OpenMode.Append)  WriteLine(n, time, moji) ~保存されたファイルの例~ #2008-08-31 10:21:05# , "この記事に関するコメントを投稿するには、下のボタンをクリックしてください。投稿フォームが表示されます。通常のご質問、ご意見等は<A href=""/vb/bbs/index.html"">掲示板</A>へご投稿ください。 " このファイルを以下のように読み込もうとしています。 FileOpen(n, "Data.dat", OpenMode.Input) Do While Not EOF(n) Input(n, time) Input(n, moji) TextBox1.Text += vbCrLf & time & vbCrLf & moji & vbCrLf Loop  ところが、HTMLの文字配列の中には、<a href="" http://・・・・ "">のようにダブルクォーテーションが含まれています。ダブルクォーテーションが2つなら、文字列として扱ってもらえると思っていましたが、文字列の終了位置として認識してしまうようです(エラーの内容から判断しました。) ダブルクォーテーションを含む文字列の場合どのように処理したらよいでしょうか?

  • シリアル通信ができません

    VBの5.0を使っています RS232Cケーブルで計測器の制御・情報取得を目指していますが上手くいきません このサイト(http://spectrum123.at.infoseek.co.jp/vb/vb_5/vb_5.htm) を参考にしています 現状では実行すると制御機器が「Remote Mode」を表示するので何らかの信号が出ていることは間違いないのですが 計測器の説明書にしたがってコマンドを送信してもリアクションがありません どうか、よろしくお願いします

  • シリアル通信ができません

    VBの5.0を使っています RS232Cケーブルで計測器の制御・情報取得を目指していますが上手くいきません このサイト(http://spectrum123.at.infoseek.co.jp/vb/vb_5/vb_5.htm) を参考にしています 現状では実行すると制御機器が「Remote Mode」を表示するので何らかの信号が出ていることは間違いないのですが 計測器の説明書にしたがってコマンドを送信してもリアクションがありません どうか、よろしくお願いします

  • シリアル通信ができません

    VBの5.0を使っています RS232Cケーブルで計測器の制御・情報取得を目指していますが上手くいきません このサイト(http://spectrum123.at.infoseek.co.jp/vb/vb_5/vb_5.htm) を参考にしています 現状では実行すると制御機器が「Remote Mode」を表示するので何らかの信号が出ていることは間違いないのですが 計測器の説明書にしたがってコマンドを送信してもリアクションがありません どうか、よろしくお願いします

  • ダブルクォーテーション付きの文字列を含むファイルを読み込む方法?

    Visual Basic 2008 Express Editionを使用しています。 IE上の範囲選択のHTMLテキストをテキストファイルに保存しています。 保存日時(Date型):time "文字列":moji のように保存しています。 FileOpen(n, "Data.dat", OpenMode.Append)  WriteLine(n, time, moji) ~保存されたファイルの例~ #2008-08-31 10:21:05# , "この記事に関するコメントを投稿するには、下のボタンをクリックしてください。投稿フォームが表示されます。通常のご質問、ご意見等は<A href=""/vb/bbs/index.html"">掲示板</A>へご投稿ください。 " このファイルを以下のように読み込もうとしています。 FileOpen(n, "Data.dat", OpenMode.Input) Do While Not EOF(n) Input(n, time) Input(n, moji) TextBox1.Text += vbCrLf & time & vbCrLf & moji & vbCrLf Loop  ところが、HTMLの文字配列の中には、<a href="" http://・・・・ "">のようにダブルクォーテーションが含まれています。ダブルクォーテーションが2つなら、文字列として扱ってもらえると思っていましたが、文字列の終了位置として認識してしまうようです(エラーの内容から判断しました。) ダブルクォーテーションを含む文字列の場合どのように処理したらよいでしょうか?

  • 1行ごとに取得して、その改行文字が何か知る方法

    CR,LF,CRLFが混在しているテキストで難儀しております。 VB.NETでReadLine()を使えば、どんな改行コードでも削除した文字列を取得できますが、同じ内容を書き込む場合にどのような改行コードわからないと同じファイルができません。 安直にNewLineやWriteLine()を使うと、どんな改行コードでWindowsの場合はCRLFになります。 ReadLine()で取得した文字列+改行コードがわかる方法がありますか? 以下、例です。 dim s as String Dim sr As New System.IO.StreamReader("yomu", "ISO-2022-JP") Dim sw As New System.IO.StreamWriter("kaku", false, "ISO-2022-JP") While sr.Peek() > -1 s = sr.ReadLine() '改行文字を取り除いた文字列 sw.Write(s) '書き込む end While sr.close() sw.close()

  • CSVデータ集計プログラムをおしえてください

    エクセルでは対応し切れないCSVファイル数値測定データ(65500個以上)があります。ある程度狭い範囲の値の数値が不規則にカンマ区切りで連続していてグラフにすると横に波のようにいくつもの山と谷が連続するかんじです。この数値郡に下限値を自由に変えられるようして設定し下限ラインから上に出た山毎の最大値を拾い出す。というプログラムをVBAで作りたいのですが、うまく出来ません。今はCSVデータをVBで開き、新たなファイルへ移せるところまで出来たのですが。その後が複雑すぎてわかりません。データが100万位になるのでVB単体で作ってます。助けてください(;o;)

  • CSVデータ集計プログラムをおしえてください

    エクセルでは対応し切れないCSVファイル数値測定データ(65500個以上)があります。ある程度狭い範囲の値の数値が不規則にカンマ区切りで連続していてグラフにすると横に波のようにいくつもの山と谷が連続するかんじです。この数値郡に下限値を自由に変えられるようして設定し下限ラインから上に出た山毎の最大値を拾い出す。というプログラムをVBAで作りたいのですが、うまく出来ません。今はCSVデータをVBで開き、新たなファイルへ移せるところまで出来たのですが。その後が複雑すぎてわかりません。データが100万位になるのでVB単体で作ってます。助けてください(;o;)