Windows上でシリアルポートから送られる固定長の文字列を表示する常駐アプリの開発環境は?

このQ&Aのポイント
  • 質問文章では、Windows上でシリアルポートから送られる固定長の文字列を表示する常駐アプリの開発環境について尋ねています。
  • 現在、ハードウェアの環境は整っており、ハイパーターミナルで固定長の文字列を表示しています。
  • 質問者はプログラムについて知識がないため、まずはシリアルからの文字列を表示する常駐アプリケーションを作成したいと考えています。
回答を見る
  • ベストアンサー

シリアルポートから送られる固定長の文字列をwindows上で表示する常

シリアルポートから送られる固定長の文字列をwindows上で表示する常駐アプリの開発環境は? タイトルの通り、そのようなアプリケーションを作りたいと思います。 現在ハードウェアの環境は整っており、 ハイパーターミナルで固定長の文字列を表示しています。 プログラムについては知識がないため、 windows用の常駐アプリケーションとして、まずはシリアルから来た文字を表示、 それだけでもやってみたいのです。 上手くいくようであれば、そこから発展したアプリケーションを作りたいのですが、 どのようなアプリケーションと、言語、知識があれば、 このような事ができますでしょうか? それは有料のものなのか、無償で利用できるかも御教示ください。 また、シリアルからプログラムが受け取るライブラリのようなものがあれば、 アドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mindatg
  • ベストアンサー率48% (110/227)
回答No.1

どの辺までを常駐とするかで結構違ってきますが 単純にアプリケーションを起動している間は絶えずシリアルポートを監視するのが目的なら 言語は特に問わずだと思います。 ライブラリなんかで言えば、.net framework2.0以降ならSerialPortコンポーネントがあるので GUIを伴った開発は非常に楽です。 開発環境のExpressEditionも無償で入手できる為、簡便なインストール→即プログラミング が可能かと サービスレベルの開発はExpressEditionでは出来なかったような気がしますが、画面に表示させる程度なら 上記で十分でしょう。 参考 http://www.robotsfx.com/robot/robohow/RoboHow60/RoboHow60.html

apricot777
質問者

補足

早速のご回答ありがとうございました。 実は、10分前にVisual Studio 2010を入れたのですが、 Visual Basic, Visual C#, どちらを選ぼうかと悩んでいます。 どちらもシリアルに関するライブラリが用意されているのでしょうか? 10年前にVBでhello worldぐらいで満足していたのですが、 Cは大学時代に、ポインターで挫折しました。 今ではPerlがほんのそこそこと、Javascriptを少しな感じです。 VC#もやはりポインターという概念をマスターしないとシリアル監視はできないのでしょうか?

その他の回答 (2)

  • hor
  • ベストアンサー率0% (0/1)
回答No.3

>常駐と言ってもwindows起動時にサービスレベルで動かすのではなく、 >スタートアップでタスクトレイに入れておく感じでシリアルポートの監視を >したいのですが、VB or VC# 2010 expressでも作れるのでしょうか。 結論からいえばできます。 No2さんの回答にもありますがVBでの通信方法については参考ページに記載のとおりで 常駐させるならばコネクトクローズしないで受信処理を続ければいいだけで、 タスクトレイについては以下のページが参考になりそうですね。 http://msdn.microsoft.com/ja-jp/library/cc440880.aspx

  • mindatg
  • ベストアンサー率48% (110/227)
回答No.2

VBやった事があるならVBの方が楽かもしれません。 C#はCほど難しいわけでもなく、ポインタとかメモリ管理とかあまり気にしなくても作れます。 むしろ用途によってはポインタを用いたプログラミング自体しないかも。 VBによるシリアルポート通信の参考 http://nypage.at.webry.info/200905/article_1.html No1に提示した参考URLの方はC#で書かれていますが、そう大した違いはありません。 気持ちC#の方が参考資料が多くて調べやすいかもしれません。 http://gps.way-nifty.com/around_gps/2006/01/c_627e.html

apricot777
質問者

補足

直前に上のほうのアドレスは既読になっていました(直前に読んでいました) System.IO.Ports これがない.NETが無い時代では諦めていたかもしれません。 昔の人は、そんな楽なやり方ではプログラムとは認めてくれないかも知れませんが、 私からすれば、フレームワークと言いますか、色々な関数等が用意されている この時代に再び興味を持てたことに嬉しく思います。 perlとデータベースでwebアプリを苦労した昔、 あっさりとphpとデータベースでwebアプリが作れる時代というように、 便利になって色々な人がプログラムに興味が持てればいいですね。 常駐と言ってもwindows起動時にサービスレベルで動かすのではなく、 スタートアップでタスクトレイに入れておく感じでシリアルポートの監視を したいのですが、VB or VC# 2010 expressでも作れるのでしょうか。

関連するQ&A

  • 文字列を次々に表示するアプリケーション

    文字列を次々に表示するアプリケーション Javaで文字列を次々に表示するアプリケーションを作りたいんですが、どうすればいいですか? 例えば、 実行ボタンを押すと文字列abを表示 その1秒後に文字列abが消えて文字列cdを表示 さらにその1秒後に文字列cdが消えて文字列efを表示 のような感じです。 それと、文字の表示速度を変える機能もできればほしいです。 どなたか、教えていただければ助かります。

    • ベストアンサー
    • Java
  • 大文字の文字列→小文字の文字列

    C言語初心者です。 ある演習問題をやっていて詰まっています。 自分で入力した大文字の文字列を小文字にするプログラムを作るという問題なのですが、↓の条件があり、こんがらがってしまいました。 ・入力した文字列に小文字が含まれていたら、エラーと表示して再び入力を促し、0を入力するとプログラム終了という流れにする。 ・ポインタ変数を使う。 ・continue文を使う。 ・標準ライブラリ関数は使わない。 です。 ・continue文というのがよくわからない。 ・宣言した関数でどの処理をすればいいのかわからない。 ・大文字を小文字にするというプログラムがわからない。 (アスキーコードをどう使うのか) でつまっています。 どなたかアドバイス・解説・模範解答・指摘などしていただけないでしょうか。 よろしくお願い致します。

  • char*型の文字列を表示させたい。

    char*型の文字列を表示させたい。 char*型の文字列をウィンドウに表示させるプログラムを作っているのですが、 調べても分からなかったので、質問させていただきます。 コンパイラはBorland C++で、プラットフォームはウィンドウズです。 Textoutのようにウィンドウに出力させたいのですが、うまくいきません。 うまく行かないと言うのは、C言語でのプログラムの書き方が分からないと言う事です。 ある文字列をファイルから読み込んで、ウィンドウに表示させると言うプログラムを作っています。 http://wisdom.sakura.ne.jp/system/winapi/win32/win15.html このような感じにしたいのですが…。宜しくお願い致します。 ちなみにこの質問をさせていただいたものです。 http://oshiete1.goo.ne.jp/qa3342727.html

  • シリアルポートから送られてくる文字の指定方法

    現在VB2010で作成中のアプリと測定器のデーターをシリアル通信で記録採取したと考えています。 測定機からの通信が下記の通りにPCに送られてきますが、必要な部分の採取す方法が分かりませんので教えてください。 ハイパーターミナルでの測定器からの文字受信は12文字送られてきます。 VBで作成中のアプリでは5文字目から9文字目のみをテキストに表示したいと思いますが、分かる方教えてください。現在制作中のソースも一部表示しますので、よろしくお願いします。今年から勉強してる、初心者です。 Delegate Sub AddDataDelegate(ByVal str As String) Private Sub AddData(ByVal str As String) '受信データー表示' If SerialPort1.IsOpen = False Then 'シリアルポートをオープンしていないときは、処理しない Return End If '受信データー読み込み Dim data As String data = SerialPort1.ReadExisting()    上記のソースが受信するようにしていますが、受信データーは1s毎に更新されておりますその都度テキストへ表示するようにしたいと思います。データーが更新されても、数値は残るようにしたいと思います。

  • シリアル値から○○-○○-○○の形で文字列にしたい

    助けてください(泣)難しいです。 環境は WindowsXP Professional Excel2003 です 「21-01-01」のような形の商品コードがあって、このデータをCSV出力してファイルを開くと、「2021/1/1」というデータで、日付として認識されてしまいました。 セルの書式設定にて文字列に変換すると、「44197」というシリアル値になってしまいます。 最終的に「21-01-01」の形で文字列として扱いたい場合、どのような処理をすれば良いでしょうか?一括で変換できる方法があれば是非教えてください。よろしくお願い致します。

  • VFD蛍光表示管の文字化けについて

    VFDモジュールというパーツを入手したので、PCにつないで、ハイパーターミナルから打ち込んだ文字を表示させてみたいと思いました。しかし、PCにつないで表示できたのはいいのですが、文字化けしてしまいます。フォントの設定とかなのかなー、とも思っています。 入手したVFDは、ノリタケ伊勢電子製「GU280X16G」です。PCのCOM(シリアル)ポートにつなぎ、WIndowsXPのハイパーターミナルから文字入力してみたのですが、アルファベットを入力すると、文字化けするのか、1文字で"Pt"とか、一文字で”yの上にドットが2つあるような文字”ですとかが表示されます。数字を打ち込むと、”○”(丸)が表示されます。 どうしたら、打ち込んだ通りのアルファベットや数字が表示されるでしょうか?心当たりのある方よろしくお願いいたします。

  • 長い文字列だと文字化け?表示がおかしくなる

    Windows2000を使っています。 1行で長い文字列があると、メモ帳などで表示がかぶさったような おかしな表示になります。マウスでドラッグすると直ります。 すごい不便です。 VBのデバッグウィンドウなどでSQLの中身を見ようとして ?ssql とした結果も長いと同じような表示になります。 文字は化けてないので何がおかしいのかわかりません。 長い文字列だとなります。 どなたか手がかりでも教えてくださいませんでしょうか?

  • NTL 文字列に変換

    現在VC++ 2010で円周率を計算するプログラムを作っています(Windowsフォームアプリケーション)。それで、NTLというライブラリのRR型を使って計算をしています。しかし、算出された値をテキストファイルに出力したいのですが、文字列への変換ができません。どうか教えてくださらないでしょうか。

  • 【開発】動画に固定の文字列を入れる方法

    お世話になっております。 検索しても期待している内容がなかったためにご質問させていただきます。 やりたいことは、 「撮影した動画」→「動画の最初から最後まで固定文字列を画面の隅に入れ込む」→「DVD-Videoを作成」 これを自動で実現できるようなアプリケーションを開発したいと考えておりますが、できればVisual Studio2005、2010を持っているのでそれでできればと思っていますが、可能でしょうか。 不可能であればどういった開発環境で実現できるかを教えていただけたらと思います。 プライベートで使用するので、コピーガード、ダビング防止等は必要ありません。 想定している動作環境は、Windows7、8 32bit、64bit。 以上、よろしくお願いいたします。

  • ブラウザなどで入力された文字列を取得する方法

    ブラウザやワードのようなアプリケーションで入力された文字列(特に漢字)をプログラムで取得する方法を探しています。 プログラム内で用意したテキストボックスに入力された文字列を取得するサンプルコードはそこかしこで見かけるのですが、 他のアプリケーションで入力した文字列を取得するような方法がどうしてもわかりません 文字列を取得するImeAPIの中のImmGetCompositionStringの存在や アクティブウインドウのハンドルを取得するGetActiveWindowの存在は知っているのですが この2つを組み合わせて出来るものなのでしょうか? ほかにも「フック」を使うという方法も考えましたがIMEで入力が確定した文字列を 「フック」してくることは可能なのでしょうか? 「これなら取得できる」といった良い方法があれば教えていただきたいです。 長文になりましたがなにとぞよろしくお願いいたします。 開発環境:windows7 64bit 開発言語:できればC言語 ↓テキストボックスに入力された文字列を取得するサンプルコード↓ http://shinshu.fm/MHz/95.83/archives/0000025041.html#comments http://www.atmarkit.co.jp/fdotnet/dotnettips/875imeyomi/imeyomi.html ↓IME APIの関数リスト↓ http://msdn.microsoft.com/ja-jp/library/cc422019.aspx

専門家に質問してみよう