今から、わくてかしながら、買いたいソフトを考える。
- 地球防衛軍3
- デッドライジング
- ライオットアクト
- エースコンバット6
- バイオショック
- GTA
- L4D
最新版のSoftalkに対応(笑)。古いver.は非対応に。すごく使いづらくなってったけど、一応うごく。問題いろいろ。ただ、Softalkはずっと起動してくれるので、起動処理がないぶん、多少は軽くなったんじゃなかろうか。
問題一覧
旧ver.の方がいいような感じかも。まあ、一旦起動して、いじらないで、ずっと放置するとか、Softalkしかつかわないんなら、問題はないかな?
Softalkの更新頻度がすごい。仕様や挙動も変わり続けてるようですな。
さっき、最新版のSoftalkで読み上げツールをつかったら、うまく動作してくれなかった。使用するSoftalkのver.によって、読み上げツールがうまく動作しなかったりするみたい。どのver.では、こちらの意図した動作をするか、調べる必要があるかも。
とりあえず、動作確認したのは、VB.NET版のVer.1.57、VB6.0版のVer.1.56とVer.1.39.。
最新版では、どれもうまく動作しない。そもそも、VB.NET版のVer.1.57は、.NET Framework2.0を入れた環境では、softalk単体ですら起動しなかった。.NET Framework3.5をいれた環境では動作できた。ヘルプには、.NET Framework2.0以上で動作すると書いてあったのだけど、なぜだろう?
VB6.0版のVer.1.56では、コメント1つにつき、Softalkが開いて、ウィンドウを閉じないと、つぎのコメントを読み込まなくなった。これは、読み上げツールが、ソフトークが終了するのを待っているためでしょう。
今まで使ってきた、ver.1.39ではきちんと動作した。
最新版は、オプションでいろいろ設定できるから、対応できたらいいね。
デリゲートにデリゲートを入れる。プログラム全部はやっぱり長いから一部だけ。
static void Main(string[] args) { string[] name = new[] { "aaa", "bbb", "ccc" }; MessageGroup mg = Nothing; foreach ( String str in name ) { Person a = new Person(str); MessageName ma = Hello; ma += a.ShowName; ma += GoodBye; ma += EOL; // 暗黙の型変換ができないので、newが必要 mg += new MessageGroup(ma); } mg(); }
出力結果
Hello! My name is aaa. GoodBye Hello! My name is bbb. GoodBye Hello! My name is ccc. GoodBye
短いから全部のせちゃえ。
プログラム
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace DelegateTestConsoleApplication { class Program { /// <summary> /// 現在の繰り返した回数を表示 /// 繰り返すたびにスリープ /// </summary> /// <param name="num">繰り返す回数</param> /// <param name="time">スリープする時間</param> public delegate void MessageNum( int num, int time ); static void Main(string[] args) { const int num = 10; const int time = 200; MessageNum mn = ForLoopNumber; IAsyncResult ar = mn.BeginInvoke(num, time, null, null); for (int i = 0; i < num; i++) { Thread.Sleep(time * 2); Console.Write("<<{0}>> ", i); } mn.EndInvoke(ar); Console.WriteLine(); mn(num, time); Console.WriteLine(); } static void ForLoopNumber( int num, int time ) { for (int i = 0; i < num; i++) { Console.Write("({0}) ", i); Thread.Sleep(time); } } } }
出力結果
(0) (1) <<0>> (2) (3) <<1>> (4) (5) <<2>> (6) (7) <<3>> (8) (9) <<4>> <<5>> <<6>> <<7>> <<8>> <<9>> (0) (1) (2) (3) (4) (5) (6) (7) (8) (9)
参考サイト
目覚まし時計のアラーム音が嫌いです。だから、部屋にある目覚まし時計は、いまや、ただの時計。それ以前に、時計機能も壊れているので、ただの置物になっている。現在、目覚ましには、TVのタイマーをつかっている。
以前より、光で起こす目覚ましがほしかった。ぐぐって探していたら、案外はやく見つかった。
36,180円に、17,980円か。高い、高すぎる。1万超え余裕ですね。XBOX360が買えてしまうじゃないか。
他にないものかと探して見つけたのが、
タイマー付電源コードとでもいえばいいのかな。上の二つと比べたら、2,328円と安い。これに照明をつけてやれば、目覚ましとしてつかえそう。ただ、徐々に光が強くなるといった使い方はできないね。安上がりなら仕方ないか。
/// <summary> /// key が押されたら実行。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void PaintForm_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) { if (e.KeyCode == Keys.Enter) { saveImageFile(@"test.png"); } else if (e.KeyCode == Keys.Space) { ReplayForm_Show(); } }
前にpreタグをつかったとき、表示がばぐったのは、<や>をエンコードし忘れてたからみたい。これでプログラムも載せれるようになったはず。長い行がある場合、IE7、safari、Google Chromeだと、スクロールバーがでてこないで、折り返しがおこるみたいだけど、まあいいか。Opera、FireFoxはスクロールバーが表示される。
CSSを用いて、長い行に対してスクロールバーではなく、折り返しを行わせることもできるみたい。半角が入ってないと、折り返しが行われないみたいだから、今回はやめておこう。
今回、CSSでpreに指定したスタイル。一部、機能がよくわからないけど、コピペコピペ。
pre { font-family:monospace;/* 等幅フォント */ border:1px solid white; background-color:black; line-height: 120%; margin: 2em 1em; padding: 0.5em 1em; width: auto; _width: 90%; overflow: auto; _overflow: scroll; }
追記
word-wrap:normal;
上のコードを入れることで、IEやSafariなどのブラウザでも、長い行に対して、折り返しではなく、スクロールバーが表示できるようになった。Mac版のウェブブラウザでは未確認。
参考サイト
ソニー エレクトレットコンデンサーマイクロホン ECM-PC50を購入。レビューを読んで、小さいというのは知ってたけど、予想よりかなり小さい。かわいらしいサイズ。さて、その性能はいかに。そのうち、マイクのテストするかも。
前のヘッドセット、PLANTRONICS .Audio 325もなかなかいいのだけど、ヘッドセットだから、マイクの位置を調整するのも限界がある。そんなわけで、マイクの位置を自由に移動できるマイクを購入した。
最近、お金の出費が激しいな。スイッチングHUBも買ったし、LANケーブルも買ったし、高い本も買ったし。これでXbox360も買うと、残金がすばらしいことになるね。
MacでもC#、.NETができると聞いて、MonoProjectをあーだこーだ調べてみました。
フォームのデザインができない、日本語がつかえない、ちょっとした動作でエディタの文字が消えたりする、Macのショートカットキーと異なるなど、問題部分は多いです。まず、MonoDevelopを最初に起動したとき、メニューなどが文字化けしててあせった。なんとか直ったけれど、文字化けするなら、デフォルトは英語のメニューにしてほしかった。
これでプログラムを本格的にやるのはきつそう。ただ、簡単なものなら、Visual Studioでつくったものも、そのままMono Developでつかえるのはいいですね。今後に期待って感じかな。
参考サイト
とりあえず、記事だけつくって、あとで追記。
しっかり精神的に休んだので、追記いきます。
穂下さんがつくった、らいつべのコメントをソフトークで読み上げるツールの機能追加を行いました。といっても、そんなに追加してないですけど。
と、わかりづらい説明ですけど、以上が追加した主な6つの機能。大幅な改編はないですね。すでにあるコードにつけたしていったかんじかな。C#の勉強しながらやったので、コードはめちゃくちゃで、コメントもほとんど書いてない。新たなバグも増えてるかも。勉強が主の目的だったからいいか、と自分に言い訳してみる。
つぎに機能を追加するとしたら、コメント一覧ウィンドウには、コテの名前と画像がないので、それが表示されるようにすること。コメント書き込みとか、BAN機能とかは面倒そうなのでやらない。
配布は、ソースコードのライセンスが不明なので見送り。
プログラミングしてて楽しかった。あと、C#は日本語のドキュメントが多くていいですね。Qtとかは、ドキュメントが英語だから大変です。C#、とくに.NETはいろんなことができていいね。C#の勉強をもう少ししたら、またいじってみましょうか。
フィードのデザインやらを少しだけいじった。かわいいアイコンをみつけたから、ついやってしまった。
タグクラウドがjavascriptがオフになっていると、単なるタグ一覧になっていたのを修正。javascriptがオフになっていても、タグクラウドで表示されるようにしました。
タグに登録されている数が、15、7、3、1を超えているかどうかで、大きさと色が変わるようになっているそうな。タグの登録総数で、色などが決まるのでないのが、少々不満か。ただ、javascript版と違うのは、CSSで設定したものが、タグクラウドできちんと反映される点ですね。javascriptだと、どうやったらいいかわからん。ほとんど、コピペだしね。とりあえずはこれでいいかな。
他には、ブログ内で、ラベルとなっていたものをタグに変更。
ブログいじりは今日はこのくらいにしよう。そのうち、テンプレートもどこからか探してみようかな。
参考サイト
PictureBoxに画像をロードしたり、PictureBoxを移動させたり、文字や図形を描画したり、大きさを変えたりする方法を調べた。画像はそのときの様子。
兄弟のPictureBoxでは、透過ができないとかなんとか。なので、左上に映ってるコブンの画像には、背景の白が映ってる。
背景を透過しているようにみせるには、PictureBoxの形を変える必要があるみたい。形が複雑だと面倒くさそう。
つぎは、PictureBoxをアニメーション表示させてみようかな。割込みイベント(エンターが押されたとか)が発生したら、異なるアニメーションになる感じなのをつくってみようか。
参考サイト
何度も見たことあるけど、タグクラウドって呼ぶのをはじめて知った。
タグの一覧を、タグクラウドで表示してみた。javascriptがオフになってると、タグクラウドにならないけれど、タグの一覧は表示されるから問題ないかな。
いまさらだけど、タグって言っているのは、このブログ内ではラベルのこと。
参考サイト