C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[8]: textboxの入力チェックについて


(過去ログ 73 を表示中)

[トピック内 11 記事 (1 - 11 表示)]  << 0 >>

■42576 / inTopicNo.1)  textboxの入力チェックについて
  
□投稿者/ motu (16回)-(2009/10/18(Sun) 18:45:06)

分類:[C#] 

motuと申します。
Visual C# 2008でプログラムを作成しています。

質問なのですが、textboxの中に文字があるかを判定する方法についてです。

作ろうとしているものは、
1秒ごとにtextboxの中身をチェックして中身があれば指定の動作を行うといったものです。
ですので、textboxに入力があったときに動作を起こすTextChangedのようなものを
if文での判定に使う…?(ちょっと、文が拙くてすいませんが;;)というものを考えています。

どのようにしたらよいのでしょうか?
よろしくお願いしますm(_ _)m
引用返信 編集キー/
■42577 / inTopicNo.2)  Re[1]: textboxの入力チェックについて
□投稿者/ Ajax (1回)-(2009/10/18(Sun) 19:48:14)
No42576 (motu さん) に返信
> motuと申します。
> Visual C# 2008でプログラムを作成しています。
>
> 質問なのですが、textboxの中に文字があるかを判定する方法についてです。
>
> 作ろうとしているものは、
> 1秒ごとにtextboxの中身をチェックして中身があれば指定の動作を行うといったものです。
> ですので、textboxに入力があったときに動作を起こすTextChangedのようなものを
> if文での判定に使う…?(ちょっと、文が拙くてすいませんが;;)というものを考えています。
>
> どのようにしたらよいのでしょうか?
> よろしくお願いしますm(_ _)m

AJAXのTimer Controlで実現できるのでは。
引用返信 編集キー/
■42578 / inTopicNo.3)  Re[1]: textboxの入力チェックについて
□投稿者/ やじゅ (1388回)-(2009/10/18(Sun) 19:50:12)
やじゅ さんの Web サイト
No42576 (motu さん) に返信
> 1秒ごとにtextboxの中身をチェックして中身があれば指定の動作を行うといったものです。

Timerイベントで、textboxのプロパティのLength>0なら中身があるとして指定の動作をさせればいい
どういう意図でこのようにしたいのでしょうか?
どこが分かって、どこが分かってないのですか?
引用返信 編集キー/
■42580 / inTopicNo.4)  Re[1]: textboxの入力チェックについて
□投稿者/ 倉田 有大 (744回)-(2009/10/18(Sun) 21:59:48)
1秒毎でいいならTimerコントロール
すぐに反映したいなら、TextChangedイベントですね。

一秒ごとに確認って珍しいパターンだと思いますが。
引用返信 編集キー/
■42735 / inTopicNo.5)  Re[2]: textboxの入力チェックについて
□投稿者/ motu (17回)-(2009/10/20(Tue) 20:17:22)
Ajaxさん、やじゅさん、倉田 有大さん、返信ありがとうございます。

みなさんのアドバイスのおかげで問題が解決しました。

しかし、このやり方でまた新たに解決できない問題がでてきたので、
アドバイスをいただけないでしょうか?


私は現在、リアルタイムに入力される音声を文字化したものに、取得時間をつけるといったプログラムを作成しています。
音声を文字化するのはあるソフトを使って、文字化しているのですが、その取得時間を付けるといった動作がうまくできていません。

当初は、textbox内に音声による文字を入力させていき、timerイベントによって計算された時間をそれにつけ、textbox内をclear、再び、textbox内の文字を取得、といった動作をさせていました。(データはdatagridviewにset)

しかし、入力文字は場合によって常に入力され続けているため、タイミングによっては、textboxのclearのタイミングで入力され、入力文字を取得できない場合がでてきてしまう状況です。

それを回避するため、textboxはclearさせずに、前時間で取得した文字データのみをtextboxから削除して、
残ったデータを現時間での文字データとして取得するようにしました。
しかし、これも前時間で取得した文字データを削除する際に発生するカーソル移動によって、そのタイミングにおける文字を取得することができませんでした。


どのようにすれば、処理にじゃまされることなくきれいに文字データを取得、時間をつけることができるのでしょうか。

どうかアドバイスよろしくおねがいしますm(_ _)m

引用返信 編集キー/
■42738 / inTopicNo.6)  Re[3]: textboxの入力チェックについて
□投稿者/ やじゅ (1391回)-(2009/10/20(Tue) 20:37:27)
やじゅ さんの Web サイト
No42735 (motu さん) に返信
> 私は現在、リアルタイムに入力される音声を文字化したものに、取得時間をつけるといったプログラムを作成しています。
> 音声を文字化するのはあるソフトを使って、文字化しているのですが、その取得時間を付けるといった動作がうまくできていません。

音声を文字に変換していて、その取得時間っていうのは具体的にどういうことですか
例があると分かりやすいかと・・・、それでいてtextboxが使い方がいまいち結びつかない

引用返信 編集キー/
■42742 / inTopicNo.7)  Re[4]: textboxの入力チェックについて
□投稿者/ motu (18回)-(2009/10/20(Tue) 21:07:13)
やじゅさん返信ありがとうございます。

説明不足ですいません;;

取得時間は、そのプログラムにSTARTボタンを用意しているので、
それを押してからの時間となっています。

最初につくった不完全なプログラムを例にあげると、

1.作成した字幕データを保存するので、最初に、その保存するファイル名を指定のtextboxに入力する。(空の保存ファイルを作成)
2.入力された文字データを1秒ごとにDatagridviewのsetに取得するtextboxを用意しているので、
 そこに、リアルタイムで文字化されているデータをいれていく。(普通にタイピングしていくようにtextboxに文字が入っていきます)
3.文字を入力する際、最初にSTARTボタンを押し、それからの経過時間を同時にdatagridviewのsetにいれていく。
4.textboxの文字は1秒ごとに取得された後、毎回クリアされる。
5.文字を入力し終わったら、STOPボタンを押し、timerカウンタを止め、datagridviewに入っているデータを最初の空のファイルに保存する。

といったものを作りました。
しかし、以前に述べたように、clearのタイミングによって、うまく文字が取得できない場合が発生しています。

うまく説明できてないかもしれませんが、どうかアドバイスよろしくお願いしますm(_ _)m
引用返信 編集キー/
■42743 / inTopicNo.8)  Re[5]: textboxの入力チェックについて
□投稿者/ やじゅ (1393回)-(2009/10/20(Tue) 21:27:22)
やじゅ さんの Web サイト
No42742 (motu さん) に返信

textboxは必要? 内容が見える分にはいいのかもしれないけど
textboxはあくまで内容表示するだけにして、Multiline = True で過去の内容が見れるようにいいし

入力された文字と取得時間はStringBuilderクラスやListクラスなどを使って、DataGridViewにセットするとか

引用返信 編集キー/
■42875 / inTopicNo.9)  Re[6]: textboxの入力チェックについて
□投稿者/ motu (19回)-(2009/10/22(Thu) 16:55:32)
やじゅさん返信ありがとうございます。

文字列の操作に特化したStringBuilderクラスなるものがあったんですね…。
知りませんでした。文字列の操作に関してはこれを使わせていただきます、ありがとうございます。

それと、textboxは必要か?とおっしゃられてますが、
textboxを使わずに外部から入力される文字を取得するにはどうすればよいのでしょうか?
StringBuilderのメソッドを見る限り、あくまで文字列の操作に関するものばかりにみえるのですが。
引用返信 編集キー/
■42878 / inTopicNo.10)  Re[7]: textboxの入力チェックについて
□投稿者/ かずき (48回)-(2009/10/22(Thu) 18:22:26)
かずき さんの Web サイト
No42875 (motu さん) に返信
> それと、textboxは必要か?とおっしゃられてますが、
> textboxを使わずに外部から入力される文字を取得するにはどうすればよいのでしょうか?
> StringBuilderのメソッドを見る限り、あくまで文字列の操作に関するものばかりにみえるのですが。
もしかして、別に使われている音声入力のソフトというのは
フォーカスのあるテキストボックスなんかに文字入力してくれるという
形のものですか?
それなら、TextBoxでいいと思います。

もし、別に使われているソフトが、何かしらのAPIを提供しているなら
裏で入力を受け取って、GridViewなんかに表示するという方法がいいかなと
思います。
引用返信 編集キー/
■42882 / inTopicNo.11)  Re[8]: textboxの入力チェックについて
□投稿者/ motu (20回)-(2009/10/22(Thu) 19:08:02)
かずきさん、返信ありがとうございます。

なるほど、そういうことだったのですね、
今使用している音声認識ソフトは[Dragon Naturally Speaking]
というソフトなのですが、MVC#2008に対して、少しながらCOMコンポーネントの提供などされているので、
もしかしたらそのようなAPIもあるかもしれないので、調べてみたいと思います。

みなさんありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -