ポケモン低レベルクリアシリーズ

ポケモン金銀をLv5以下で全ボス撃破してみる
「初代ポケモンをLv3以下で全ボス撃破してみる」シリーズ作者さんの最新作です。
理論立てた戦略で圧倒的なレベル差の相手を打ち破る様は感心するばかりです。
何も考えずに突っ込む ひとばしら はみんなのアイドル。

VB参考ページ

VisualBasicについての参考ページ

配列について
VBの配列についての基礎、関数、可変長配列など

引数について
値渡しと参照渡し、配列の渡し方など

リストビューについて
リストビューの使い方など

おもしろそうなゲーム

暇なのでちょっと世界征服してくる (。)
数日前にランキングで見つけたPSPソフト「勇者のくせになまいきだor2」のプレイ動画です。
プレイヤーさんの腕が良いだけでなく、ソフト自体のネタだけでも見ごたえ十分です。

会社のリクルート活動として母校に行ってきました

半年と少ししか経っていませんが、変わったもの、変わっていないもの、いろいろありました。

建物の改修工事が進んでいたり、先輩の進路が決まっていたり、新しい備品が増えていたり。
でも先生も先輩方も研究室の雰囲気も学校の雰囲気も、全く変わっていませんでした。


研究室の中でこのブログのことが広がっていたみたいです。
忙しいとかしんどいとかそんな記事を見て、就職したくない、てな感想が出ているみたいですが、ソンナコトナイヨ?
シゴト タノシイ!

さて、これから会社に戻って仕事です。




と、携帯でメール更新しようとしたのですがエラー。
少し前に設定したばかりなのにー

会社側のリクルート活動として、就活担当の先生に会いに母校に行ってきました。
私は人事の方の付き添いなんですけどね。
で、ちょうど担当の先生が私がいた研究室の先生。
知っている先輩方もいて、話す時間をいただくことができました。

学祭が終わったばかりだったためか、4年生が1人もいなかったのが残念ですが、年度が変わる頃に会社説明会のため再び学校に行くことになりそうです。
そのときはよろしくお願いします。


お世話になった先輩へ

そのときにはもういないのですよね。
もう2度と会うことはないかもしれないことが、
残念で、さびしいです。
貴方のおかげで、充実した1年間を送ることができました。
改めて、ありがとうございました。
私よりもできた方なので心配要らないとは思いますが、
これからもお体に気をつけて、お互いにがんばっていきましょう。

2008/11/10 玖白


朝、反対方向の新幹線に乗りそうになったのは秘密です。
列に並んで、新幹線が来て、乗り込むために歩き出したところで気付いたんです。

母校に行くことがうれしくて浮かれてたんですね。
そりゃあ、なかなか寝付けないわけですよ。

久々の動画紹介

続・それとなくアーマードコア3SL part1-くまたんと一緒-

去年の5月から8月にかけてアーマードコア3のプレイ動画「なんとなくアーマードコア3」シリーズをupしていた宵の鯉口さんの最新作。

ジムリーダーサトシ君(アーマードコア3 サイレントライン)

AC動画を見ていたら見つけました。射突型ブレードのみで・・・


昔はまっていたゲームのプレイ動画とか見ると久々にやりたくなってきますよね。

void tukareta(char "終わらない");

IT技術者のための コードを書いて
IT技術者のための My Projects
IT技術者のための 3:02am
WEBデザイン

SEの仕事はきついってのをよく聞きます。
SEのほうがきつい印象ですが、機械設計者も案外似たようなものなんでしょうかね?
さっき気づいたんですけど、今日も出社してますね。設計の何人か。

図面描くだけが設計じゃない

設計のお仕事は図面を描くだけじゃあありません。

ひとつの機能を持った部品(アセンブリと言っています)単位で部品のリストを作ることも設計の仕事です。

で、壊れた、消耗したなどの理由で部品の注文もあり、
その場合も設計がリストを作ります。


今週はそういった部品注文の処理をしてました。

私が生まれる前くらいに作られた機械の部品注文もあり
作られた後に図面が修正されて形が変わっていたり、
使っていた市販品の部品が生産中止になっている可能性かあるので
どんなときもまずはリストをチェック。

部品リストがファイル5冊くらいのものもあり、
のもそい面倒。

さらに、部品注文リストの仕事をやっている最中に、
「これやって」
てな感じで別に仕事が。


・・・・・・、少なくとも半年は現場で実習て話はなんだったんでしょう?

ファイル一覧

io.h を include

long _findfirst(char *file, _finddata_t *info)
第1引数の条件でファイルを検索し、
第2引数で渡された構造体にファイル情報を入れます。

ワイルドカードを使うことができるので、
例えば "*.txt" ならカレントディレクトリ内の
すべてのテキストファイルが対象となります。

戻り値はファイルハンドル。
失敗したときは-1を返します。


int _findnext(long hFile, _finddata_t *info)
_findfirst関数を使うのは始めだけで、
2つ目のファイル検索からはこちらの関数を使います。

第1引数は _findfirst の戻り値を使います。
成功したときは0を、
失敗した(ファイルがない)ときは-1を返します。


int _findclose(long hFile)
ファイルハンドルを閉じます。


_finddata_t構造体
ファイルの属性や作成時間、サイズなどが代入されます。


こちらのページを参考にさせていただきました。
目指せプログラマー

ファイル・フォルダの名前変更・移動

ファイルの名前を変更する関数renameを使ってファイルの移動をすることができます。

stdio.h を include
int rename(const char *oldpath, const char *newpath);
oldpathをnewpathに変更します。
成功すればOを帰し、失敗すると-1を返します。

例えば、ファイルtest.txtをディレクトリdirに移動したいときは、
rename("test.txt", "dir¥¥test.txt");
と記述します。


久々のプログラミング、今回は関数renameの使い方を覚えるだけだったのですが、いろいろと忘れていたせいで無駄に時間がかかってしまいました。

何でできないんだ!
と1時間近く悩んでいたのですが、

用意したファイル test.txt
ソース中の記述 text.txt

実はファイル名を間違えていただけでした。
あと、¥(半角)を文字として記述するときは¥¥としなければいけないことを忘れていました。

にこ動の動画紹介

3月中旬以降に発表されたVocalid作品で特に気に入った曲

books」 210番さん
それでも 背中を押してくれる
言葉は 大切な言葉で

はるのはるか」 sasakure.UKさん
私は おとなになる 苦さを知った

マイティハート」 comicさん
無機質なこの世界から
試行錯誤の有機的な愛を
君に届けたいよ

いこうよ。」 クラフトP
先までいこう
ね、ずっと もっと遠くへいこう




初代ポケモンをLv3以下で全ボス撃破してみる
作者さんはやりこみすぎです。

何も信じるな

大学の研究室でお世話になっていた先輩がよく言っていました。
疑り深い人間になれ、てなことじゃなくて
あくまで研究者の姿勢として、また、作業上の安全のためですよ?

機械や装置を扱う上で、前の人がどんな使い方をしたのかがわからない以上、
安全に使える常態か、設定は正しいか、ということについて確認する必要があるのです。


今日、仕事をしていて、ベテラン先輩社員から「ここに穴あけてくれ」とドリルを渡されました。
・・・・・・、まったくドリルが入っていきません。
いろいろためしてみてもだめでした。
見かねた別の先輩社員が、声をかけてくれました。
「ここに穴あけるの?」
「貸してみて」
「・・・、ドリルが切れないね」

え? だって、それ、渡されたドリル…
まさか、渡してくれたドリルが切れなかったなんて。
自分の力のかけ方が悪いんだと、ずっとがんばってたのに。



今日も保険屋さんと喫茶店。
保険て受け取るときに所得税とか贈与税とか、税金がかかるんですね。
初めて知りました。

ふと思いついて、静岡に遊びに行ってきました

静岡市に遊びに行ってきました。
前に行ったときにメロンブックスがなくなってたのですが、
今頃になって、実は移転してた、ということを知ったので、じゃあ行こう、と。

メロンブックスととらのあながある横浜とどっちにしようかと迷ったのですが、すでにお昼を過ぎた時間だったので近い方にしたわけです。
そのうち何かが発売されたタイミングで横浜にも行こうと思います。
でも、今はネット環境がないので情報が集められない・・・・・・。


で、店頭でよさげなCD発見。
つい、買っちゃいました。

電車に乗ってひとつ隣の駅で降りるとアニメイトがあるのですが、やっぱこうゆうCD買いたい時はとらかメロンです。
住処の事情で、通販はきついです。


静岡のミスドで10個で1,000円てのやってました。
ご飯を食べたばかりだったので、さすがにその場で10個は無理だし、買って帰るにも距離と時間があるのであきらめました。
残念。




いま、カーテンレールがシングルで、カーテンはレースしかありません。
なので、ダブルを買って、竹カーテンと厚めのカーテンを買おうと思います。




ところで、4月第4週とかいうようなタグがありましたが、タグがつくことだけあって投稿作品がものすごいですね。
有名Pの投稿が多い、レベルも高い。

レイニーデイズ
夕闇メロディーのioquさんの新作。
まだプレビュー版なので完成が楽しみです。

カナリア
celluloidのbakerさんの新作。
それとcarol、ついにFULLverです。
私が知っている中ではbakerさんの最も古いVocaloid曲。
ずっとFULL待っていました。

さらに、moonのirohaさんによるcarolremix

Osterさんとbakerさんの交互リミックス
Dreaming Leaf
Sound
しかも、イラストがメルトの119さん。

midiアニメのジンジャーさんがついにVocaloid参戦。
BMS作者としても活動しているSHIKIさん、Vocaloid参戦。

そういやあ、日刊もリニューアルされましたね。
静止画から動画へ。
タグも表示。
しかも、一定基準以上のオリジナル作品を全て紹介。
少し時間が長くなってしまい、気軽に、といえるか微妙なところになってしまいましたが新作発見にはかなり重宝します。

読書 失敗学のすすめ

失敗学のすすめ

失敗とは、
「人が関わっていて」「望まない結果となる」こと。

失敗の有効な活用法、
マニュアルの裏にある危険性、
技術の発展と同時に成長する失敗の芽など、
失敗と上手に付き合ってゆくことの重要性について書かれています。


私が所属している部署では、課題図書が何冊かあって、○冊以上読む、てなことになっています。
はじめにすすめられたのがこの本で、なかなかためになりました。

ここ数日の研修で、どこかで聞いたことがあるなと思ったら、この本に書いてあることだった、てな話がたくさんありました。

入社式

午前中に入社式をして、午後から会社全体でのミーティング。


ついに、今日から社会人となりました。
いや、正式にはまだ正社員ではないんですけどね。
6ヶ月間の見極め期間があります。

本社研修は終わりましたが、これからしばらくは配属先での研修です。
早く仕事を覚えるようにがんばります。


そういや、しばらくの間は他の場所に配属となった同期の仲間と会うこともなくなります。次は6ヶ月後の研修のときになるはず。
ちょっとさびしいな。

研修最終日 - 新入社員研修9日目

10日から始まった研修も、今日で最後です。

午前いっぱい応対練習をして、午後からは少しだけ社内の見学をして、社長を含めた取締役の方々との懇談会でした。


とても大変な研修でした。
朝は早いし、
丸1日、ずっと研修だし、
頭を使ったり、体を動かしたり、
緊張したり。

でも、きっと、この研修よりも会社始まってからのほうが大変なんだろうな。
ただただ、がんばるのみですね。

今日のメインは退職金 - 新入社員研修8日目

まだ入社もしていませんが、退職金についての説明を聞きました。
私が入る会社は退職時に全額を受け取る方式ではなく、月々資金を出すので投資して増やしましょう、てな方式です。

定期預金や株式・債券への投資などいくつかある金融商品に対して会社が出す資金をどう割り振るかを自分で決めるのです。
定期預金に40%、株式投資に60%、てな感じです。
うまく選択できれば、最終的に受け取ることができる退職金を増やすことができます。
当然、失敗すれば減ってしまうわけですが。

ちなみに、ある程度増やさなければ100%の額にならないそうです。
この方式を採用している会社はどこも増やすことが前提の金額設定らしいです。

だから、元のお金は減らないけれど少ししか増えない定期預金ような安全策では、結果として満額の退職金を受け取ることができないのです。


はあ、研修、盛りだくさん過ぎて疲れてきたよ。

いちにち応対練習 - 新入社員研修7日目

今日は始めに、いろんなところでよく聞く5Sについての講義、ビデオ研修をしたのですが、後はずっと応対練習のみだったので、あまり記憶に残っていません。(問題発言)

応対練習ていうのは、
お客様が会社にやって来られたとき、
お客様から電話がかかってきたとき、
お客様の会社に訪問するとき、
お客様に電話をかけるときなど
外部の方と接するときにどう対応するか、その練習です。

後半スタート - 新入社員研修6日目

今日から新入社員研修後半が始まりました。
引越したため、前半よりも移動が楽になりました。


今日は開始時間が他の日よりも30分遅くなっています。
睡眠時間が増えると喜びたいのですが、引越したため電車の時間がこれまでと違っています。
明日遅れない電車に乗れるように練習のため、他の日と同じ時間に到着する電車に乗りました。

天気予報では曇りだったのでかさを持たずに出発したら、駅に着いたときにはびしょびしょでした。
電車を降りるころにはいい天気。
タイミングが悪かったです。

ちなみに、今日の研修の内容は、お給料についてやら何やら。

それは大きな区切りのひとつだと思います

長いと思っていたけれど、短かった、そんな4年間でした。


次に皆と顔を合わせるのはいつになるかわかりません。
もしかすると、もう会うことはないかもしれません。

知り合えてよかった、
旅立ってしまうことが残念、
そう思っていただけたなら嬉しい限りです。

私は、良い出会いだったと思っています。
ありがとうございました。
お世話になりました。

合宿最終日 - 新入社員研修5日目

合宿最終日とはいっても夕方まで、1日しっかり研修です。

今日は、報告書の書き方や、電話、来客、訪問時の応対についてです。
で、宿題が増えました。今日やったことの練習みたいなやつです。
電話応対の練習中、頭が真っ白になりました。
覚えることがたくさん、普段やり慣れていないことばかり、頭が疲れてきた、ということにしておきます。
うん、そういうことにしておきましょう。

あと、読書感想文が帰ってきました。修正して再提出せよ、とのことです。


まあ、こんな感じで研修の前半終了。
うぅ~、つかれた。
後半開始まで1週間空いています。
その間に引越しと卒業式があります。
しゅくだい、がんばる。

合宿2日目、睡眠時間が増えて嬉しい - 新入社員研修4日目

しっかりとしたリズムで生活が送れるのはいいことです。

起きたら、まず外に集合してラジオ体操と朝の散歩。
程よく体をほぐしたところで朝食をとって、研修の支度。

今日は、昨日のまとめをやった後、社会人として気を付けること、敬語や挨拶など言葉遣いについて、あとビデオ研修をしました。

敬語の練習問題は悲惨な結果となりました。
いきなり問題用紙が配られたせいといっても、直前にやったばかりのないよう・・・。

お風呂の後、夜のお楽しみ会が開催されました。
昨日も開催されていたのですが、スケジュールに入っているわけではなく、人事の方が「○○にいるから何か聞きたいことがあったら来てね」てな感じで呼びかけただけだったので人が集まるまでに時間がかかっていたのです。
まあ、要はコミュニケーションの時間ですよ。

合宿研修1日目 - 新入社員研修3日目

今日から研修施設で3日間、ただひたすらに研修です。


初日の今日は、いくつかのチームに分かれて、会社での業務をどのように進めて行くのかを学ぶロールプレイ方式のゲームをしました。まる1日。

課題が出され、
計画を立て、
実行して、
反省して、
を繰り返します。

始めにリーダーを決めます。
リーダーっぽい、という理由で私に即決。

チーム名を決めます。
メンバーに案を募り、よさそうな響きの名前に決定。
名前の意味を必死で考え、どうにかこじつける。

で、ループ部分に突入。
実行パートは簡単な工作なのですが、制限時間があるうえに、私の作業が終わらなければ先に進めない、という重要な役割を担ってしまったのでプレッシャーが。
ループごとにその回の結果と反省の報告会があって、毎回チーム内の違うメンバーが発表することになっています。私の発表はぐだぐだでした。

結果は、全6チーム中1位。
そんなに疲れなかったと言う人もたけれど、
私は、ものすごく疲れたよ。

移動ばかりってのも退屈でつらい - 新入社員研修2日目

今日は工場見学。


研修は主に本社と同じ敷地にある工場で行われています。
昨日の研修には、その工場見学も含まれていました。
この工場を見学するのは、就活から数えてこれで3回目。

で、それ以外にも2つの工場があります。
今日見学するのはそっちの工場です。
敷地的にはどの工場も同じくらいの印象。

1ヶ所目。
他の工場とは違う製品を作っています。

2ヶ所目。
本社工場でも製造している機械のうちの1つを専門に製造しています。


明日から2泊3日の合宿です。
睡眠時間が2時間ほど増えるので嬉しいです。

いきなりだけど、もう疲れた - 新入社員研修1日目

会社への到着予定時間から逆算して家を出る時間を決めたはずなのですが、実際の到着時間は集合時間ぎりぎりでした。

はい! そんな感じで新入社員研修1日目です。
やっぱつらいですね。
半年間ずっと8時起きの生活だったのに、いきなり5時半起きになるのは。
数日前から体を慣らすために早起きしてましたが、まだ慣れていません。

駅に着いてから朝ごはんを買って、電車の中で食べてました。
電車に乗っている間の記憶がところどころ飛んでいるのは、きっと寝ていたからです。
家を出てから会社に着くまで2時間半。
通勤時間としては長すぎますよ。会社の近くに引っ越すまでの辛抱ですね。


今日は会社についての説明がメイン。
会社の歴史や部門、業務内容の紹介と、あとは工場見学その1。
ずっと話を聞き続けるのはつらいですね。
疲れてくると集中力がなくなってきて、話の内容が記憶に残りにくくなってしまいます。
全部大事な話なのに。

とにかく、今日は疲れたです。


明日は工場見学その2、その3。

余裕を持って到着できるように、今日よりも早く家を出なければなりません。
さらに30分はやく起きなければ・・・・・・
早起き続けられるかが心配です。

東京行ってきた - 2日目

展示会が10時からなので間に合うようにホテルを出て、1日目に見つけたカフェで朝食。

山手線で浜松町から隣の新橋に行き、ゆりかもめに乗り換えて国際展示場前まで。
思っていたよりも早く着いてしまったので、入り口で少し待ってから入場しました。

今回は複数の展示会が同時開催されていて、どれかひとつに登録すれば全てに入場できるようになっています。
印象に残ったものをいくつか紹介します。


IC CARD WORLD 2008

ホログラムICタグ
バーコードの裏や本の背表紙の中など、見えないところにあったICタグをデザインの一部として表面に出すというアイデアが面白いです。
どこの会社だっかか、覚えてなくてごめんなさい


JAPAN SHOP 2008

スゴタペ
価格が安ければ、家に飾るように作ってみたい気がします。
株式会社 トスプリント

印刷物の幅が1mを超える大きなプリンタがいっぱいありました。
私が見た中で最も大きかったのがプリント幅3,200mmのプリンタです。カタログを見ると、5,000mmのやつがあるらしい。
株式会社 ルキオ


建築・建材展 2008

ウレテック
茶筒にウレテックAとウレテックBを入れて混ぜ、膨らむ力で90kgの重さを持ち上げていました。単位面積当たり26tになるそうです。
ウレテックジャパン株式会社


SECURITY SHOW 2008

LAN Sheet
2008年7月に製品として発売予定とのことです。
無線でありながらシートとPCが近くになければつながらない。無線と有線のいいとこどりみたいな印象です。
株式会社 イトーキ

オートロック
電気配線などの面倒な工事なしで玄関をオートロックに。
電源が電池なので停電になっても動作し、電池の残りが少なくなるとちゃんと警告してくれるそうです。
でも、電源が電池・・・・・・。
電池に抵抗がない人導入を考えてみるのもいいと思います。
株式会社 セリュール

監視システム
監視カメラではなく、センサによる監視システム。人数のカウントなども可能。
北陽電機株式会社


本当はもっといろいろ見てきたのですが、忙しくて記事を書く時間があまりなかったことと、時間が経ってしまい記憶があいまいになってしまったので、書ききれませんでした。
興味本位でブースに突っ込んで行った学生に対しても丁寧に対応してくださった係の方、本当にどうもありがとうございました。

1時過ぎくらいになり、疲れてきたことと、電車で4時間かけて帰ることからお昼を食べて帰路に着きました。

さすがに、お互い疲れていたので会話はほとんどなし。
幸い、ほとんど座っていることが出来たのですが、ながいこと座っていておしりが痛くなりました。

ここんとこずっとペン習字に追われていたので、本当に良い気分転換になりました。
旅行にしては行き先がマニアックでしたが、楽しかった~!
誘ってくれてありがとう!

2人で東京に行ってきた - 1日目

青春18切符を使って友人と2人で東京に遊びに行ってきました。

予定では、
今日の朝に出発して、昼ごろに到着、
半日遊んでカプセルホテルで1泊、
明日は朝からビッグサイトの展示会を見て、
昼過ぎに向こうを出発、晩には帰宅
てな感じになっています。


友人と駅で待ち合わせ。
東海道線に乗って約4時間、品川に到着しました。
以前、在来線に1人で乗って東京まで行ったときはとっても長く感じた乗車時間も、2人で話しているといつの間にか到着したと感じるほどに短かったです。

そこでお昼を済ませてから山手線に乗り換え、目黒まで。
始めの目的地「国立科学博物館付属 自然教育園」を散策。
ここに行こうと言ったのは友人ですが、何でここを選んだのか、理由はわかりません。
2人とも自然豊かな環境で育ってきたためか、野山を歩いた話なんかで盛り上がりました。

始め、ここら辺で半日過ごすつもりだったのですがいきなり予定変更して上野にある「国立科学博物館」に行くことになりました。
品川から目黒に来た勢いでそのまま外回りに乗車。目黒から上野に行くなら内回りで品川・新橋方面を通って行ったほうが早いことに乗ってから気付きました。

博物館に着き、なぜかいきなりお土産コーナーに直行。
何でいきなり直行したのか、理由はよくわかりません。
とくにこれが見たい、てなものもなかったのでとりあえず地球館を適当に見て回ることにしました。
まず1階の多様な生物コーナーへ。模型なのか剥製なのかわからなかったですが、展示の仕方も含めてがんばりすぎだと思います。ここだけで思いのほか時間をとられました。
閉館時間が迫っていることに気付き、あとは2階の科学技術コーナーだけ見ていくことに。縦型の平削り盤の前ではしゃいでいたのが玖白さんです。
で、再びお土産コーナーへ。
もっと時間をかけて見たかったけれど、博物館に来たのは思いつきだったので仕方ありません。
もし、今度来ることがあれば1日くらいかけてゆっくり見て回りたいです。

ホテルの予約時間まで余裕があったので、買いたいものがあると言って秋葉原へ。
友人はあんまり興味なさそうにしてました。ごめんよ。
ここでVoltage of Imaginationの新作を購入。「映画のように音楽を作る」という製作スタンスのコンセプトアルバムです。
ちょむ工房のCDを見かけてつい衝動買い。

で、ホテルのある浜松町に移動。
ビッグサイトに行くから新橋周辺、安く済ませたいからカプセルホテル、ということで探して、選んだのが浜松町のカプセルホテルでした。
外出OKだったので、チェックインして荷物を置いてからラーメン屋に入店。
その後、周辺をぶらぶらしていたら偶然ポケモンセンターを見つけたのでとりあえず入ってみましたが、何も買わずに退出。
そりゃあ、さすがに、もう、ね。

ホテルに戻ってお風呂に入り、それぞれのスペースで自由時間。
電車の中で読むつもりだった読書感想文の課題図書を読み進めました。
提出期限はペン習字よりも早いので、そろそろ厳しい。
ある程度読んで、寝ようとしたのですが、最近寝つきが悪くて4時くらいまでは眠れずにいました。

そんな感じで、1日目が終了。

VBA-5 関数を使う

戻り値のある関数
1.
2.
3.
4.
Function Test() As Integer
    'なんかの処理
    Test = 値
End Function
自分の名前(関数名)に代入するのって、慣れていないせいか、なんだか違和感が。


VBてアドレス渡しがデフォルトなんですね。
知らなかった。
ソースを見直してみると危険なコード書いてました。
関数の中で値を書き換えていなかったので何も起こらなくてすんだことは良かったのですが、逆にそのためにアドレス渡しだということに気付かなかったんですね。

あと、変数を宣言しなくても使えるんですよね。
Cに慣れてしまっているせいか、はっきり言って、宣言しないで変数使うのは怖いです。
変数の綴り間違えても気付かない。
変数の有効な範囲もわからない

宣言しないで変数を使った場合、型はどうなるんですかね?

にこ動 日刊VOCALOIDランキング

日刊VOCALOIDランキング
プログラムで動画を自動生成、自動アップロードしている日刊ランキングです。
ランキングとして、よりも新着紹介として見ています。
時間が約3分と手ごろなのもいいです。


新作チェックしていて「日刊から」というコメントで知りました。
そのコメントを初めて見たときは、
え、日刊? 気は確かか?
と思いましたよ。

おすすめのバックアップソフト

BunBackup
ミラーリング、日時でフォルダ分け、暗号化、圧縮など、いろいろな設定が出来るバックアップソフト

ポータブルHDDを買ったときに、バックアップソフトがついてきたので使ってみたのですが、バックアップしたファイルは独自の形式で1つのファイルにまとめられてしまいました。
バックアップしたファイルの一部だけをリストア(バックアップファイルを元に戻すこと)したくても、バックアップしたファイル全てを元に戻すので無駄な時間がかかってしまいます。

このBunBackupならファイル構造そのままの形でバックアップできるので、必要なファイルだけ元に戻すことが出来ます。

VBA-4 配列の初期化

これまでずっとC言語でプログラミングしてきたので、
文字列 = char型の配列
という認識だったのですが、VBには文字列を扱うString型があります。
つまり、文字列の扱いが違うわけです。


セルから取得した文字列に含まれている、ある文字を別の文字に置換する必要がありました。
置換そのものはReplace関数を使えばいいです。
配列の値の置換
1.
2.
3.
4.
5.
6.
7.
' nは置換対象の文字の数
' chは置換対象の文字の配列
' swは置換する文字の配列
For i = 0 To n
    rename = Replace(name, ch(i), sw(i))
    name = rename
Next l

が、問題は置換する対象の文字が多いこと。
VBAでは配列の初期化に
Dim ar As String = {"a", "b", "c"}
みたいな書き方ができないのです。

でも、Variant型とArray関数を使えば次のように配列の初期化ができます。
正確には、配列を値として持つVariant型の変数、らしいです。
Variant型というのは簡単に言うと、何でも入る変数。
配列の初期化
1.
2.
3.
4.
5.
Sub tes()
    Dim ar As Variant
    ar = Array("a", "b", "c", "d", "e", "f", "g")
    MsgBox UBound(ar)
End Sub

でも、文字列はStringに入れたいです。整数ならIntegerに入れたいです。
始から入れるデータの型はわかっているんだから、その型で宣言したいです。

ちなみに、この方法で初期化した場合、配列の要素の数を表すLengthプロパティは使えないみたいです。
要素数が知りたいときは、添え字の上限を返すUBound関数で取得できます。

そういやあ、宣言のときに指定した数字は要素の添え字の最大値なんですね。
C言語みたいに要素数となるわけじゃあないみたいです。

C
int a(3);
// a(0)~a(2)の3つ


VB
Dim a(3) As Integer
' a(0)~a(3)の4つ

にこちゅうに認定されました

子猫は独り遥か雪に埋もれてわたしを見つめる
投稿日は12/31。全く知りませんでした。

ソニック☆サイクラー
ちゃりんこダッシュ!

眠り姫
ピアノの雰囲気が好きです。

My Brand New Love
aan aan


研究室内で、私はそういう人、となっていました。

VBA-3 セルに名前を付ける

Excelの画面左上に「A1」とか今選択しているセルの名前が表示される窓があります。
ここをクリックして文字を入力すると、そのセルに自分で名前を付けることができます。

今度はこれを自動化します。


セルA5に「せる」と名前を付ける
1.
2.
3.
4.
'マクロの記録そのまま
Sub setName()
    ActiveWorkbook.Names.Add name:="せる", RefersToR1C1:="=sheet1!R5C1"
End Sub

変数を使って書き換え
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub setName()
    Dim i, j As Integer
    Dim str As String    'ワークシートの名前
    Dim name As String   'セルにつける名前
    str = ActiveSheet.name
    i = 5
    j = 1
    name = "せる"
    ActiveWorkbook.Names.Add name:=name, _
        RefersToR1C1:="=" & str & "!R" & i & "C" & j
End Sub

文字列の扱いが力任せな気がしますが、ほかの方法を思いつかなかったんです。
でも、&で文字列がつなげるのは便利ですね。

自分で付けた名前(ここでは「せる」)を消す
1.
2.
3.
Sub delN()
    ActiveWorkbook.Names("せる").Delete
End Sub

全ての名前を消す
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub delN()
    Dim name As String
    Dim i As Integer
    i = 1
    For Each nm In ActiveWorkbook.Names
        name = nm.NameLocal
        ActiveWorkbook.Names(name).Delete
        i = i + 1
    Next
End Sub


ループなんかを使ってたくさんのセルを処理させるとき、
セルを選択→処理
を繰り返すため画面が下や横に高速で流れていきます。

別に、流れていく画面を見る必要がないなら、マクロ実行中画面を更新しないようにするといいです。
画面更新の一時停止
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub macro()    
    '画面を更新しない
    Application.ScreenUpdating = False

    'なんかの処理

    '画面を更新する
    Application.ScreenUpdating = True
End Sub

きょうはもうつかれた ~そつろんはっぴゅおかい~

卒論の発表会がありました。
で、そのとき卒論も同時に提出するので、ここ数日間は発表用の資料を作りながら卒論も書いてました。

発表の資料を作るだけでなく発表の練習もしなければならないわけで、
基本的には、発表でどのような内容で、どのような順序で説明するのかを考えながら資料を作ってゆくのですが、今回は先輩が企業への報告会用に作ったものを卒論発表用に作り直すという形だったので作ること自体は楽でした。
ただ、話す内容をほとんど考えていないので、何を言えばいいのかが全くわからない。
とりあえず、企業への報告会での先輩の発表を思い出しながらしゃべってみたのですが、難しい。

発表時間は10分くらいです。
説明すべきことが多すぎて何を、どの順番で言えばいいのかが全くわかりません。

発表を先生や先輩に聞いてもらい、意見を聞きながら修正しました。


で、本番は問題なく発表できました。


ようやく発表が終わって、楽になったーと喜びたいのですが、これで全て終わりというわけではなく、これから卒論の修正をしなければならなりません。

それでも、一段落ついて、楽になったーと喜びたい。

それなのに会社の読書感想文を出さなければならず、もう、いや。
提出期限が、郵送して会社に届いた時点での日付となっていて、明日出さないと間に合いそうにないのです。
もう、いや、ねむい、つかれたよぅ

VBA-2 セルからリンクを張る

マクロの記録でリンクを張るコードを取得
1.
2.
3.
4.
5.
6.
7.
8.
'セルA1にリンクを設定する
Sub setLink()
    Cells(1, 1).Select
    ActiveSheet.Hyperlinks.Add _
        Anchor:=Selection, _
        Address:="<a href="http://tekitou.link" target="_blank" rel="noopener">http://tekitou.link", _
        TextToDisplay:="表示する文字列"
End Sub

定数部分を変数に変更
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
'アドレスはセルに記述してあるものとする
Sub setLink()
    Dim i, j As Integer
    Dim link As String
    
    i = 1
    j = 1
    Cells(i, j).Select
    link = Cells(i, j).Value
    ActiveSheet.Hyperlinks.Add _
        Anchor:=Selection, _
        Address:=link, _
        TextToDisplay:=link
End Sub

後は、i,jをループなんかで変化させればいいです。

リンクを解除する
1.
2.
3.
4.
Sub delLink()
    Sheets(1).Activate       'シート1を選択
    Cells.Hyperlinks.Delete  'シート内の全てのリンクを解除
End Sub

リンクを解除するとセルの枠やら書式やらもいっしょに解除されます。
書式は、文字色と下線を解除するため仕方がないと思いますが、なんで、枠も?


オブジェクト指向とか、全く理解できていないので、プロパティとか、メソッドとか、クラスとか、どういったものかのかが全くわかりません。

フォルダ構造のみをコピーする

フォルダ構造だけをコピーしたいときがあります。
普通にコピーすると中身も一緒にコピーされるので時間がかかるし、コピーした後で中身を消す必要があるので面倒です。

そんなときはコマンドプロンプト。
xcopy コピー元 コピー先 /e /t

オプションの
/e は空のサブディレクトリもコピーする
/t はディレクトリのみコピーする

てかこれ、ジャンルはプログラム?
まあ、いいや。

其は誰が涙か(ソハ タガ ナミダカ)

その日雪が降り
世界を白く染める

降り積もるその雪は
世界がいつもと違うことを物語る

電車

はしるはしる電車がはしる
かたんことんと電車がはしる
十人十色のおもい乗せ

にこ動 VOCALOID-SONG

わPさんのMEIKOが歌うSwallowtail Butterfly ~あいのうた~ (原曲はこっち)
最近のお気に入りです。

最近、リンちゃんの歌声が普通に聞こえるようになったのですが、
それはきっと、作者さんの技術が上がっているからです。
きっと。

Catch the Windとか
Promiseとか
TからSへとか
mirrorとか
ONPAとか
リンリンリンってしてくりん♪
なんかもいい感じです。

りんりん りんりん りんりん りんりん りんりん りんりん みかん♪

API-11 エディットボックスで全選択

エディットボックスが選択されたときに全ての文字が選択されるようにしたくて、EM_SETSELメッセージを送ったけれどうまくいきません。

サブクラス化すればできるらしいのですが、エディットボックスの数が多くなると面倒そうです。
 EM_SETFOCUSが来たらPostMessageで自作メッセージを送る
 自作メッセージが来たらSetFocus
という方法を見つけました。
http://homepage1.nifty.com/MADIA/vc/vc_bbs/200606/200606_06060046.html

SendMessageだったのがいけなかったのかと思い、
EM_SETFOCUSが来たらPostMessage
1.
2.
3.
case EN_SETFOCUS:
        PostMessage(GetFocus(), EM_SETSEL, 0, -1);
        break;
で試してみたところ、期待通りに動いてくれました。

雑誌 日経ソフトウェア

日経ソフトウェア

連載記事「こちらユーザー・インタフェース研究所」が面白いです。
インターフェースとは、とか
使いにくいCUI,GUIの例とか
アイコンについて、とか
配置について、など
使いやすいソフトを作るうえで参考になります。


以下、ちょっとした意見


お菓子の紹介

頭脳労働に必要なものは何だ?
それは糖分だ!

てなわけで、お気に入りのお菓子の紹介。

名糖 アルファベットチョコレート


常に冷蔵庫に入ってます。

Kasugai 5連グミ100
グミの中では一番好きです。
実家の方のスーパーでは売っているのに、こっちでは探しても見つからない。
会社のHPに通販がありました。
しかも、送料無料・代金引換手数料も会社負担


流れを読むなら、センター前くらいに投稿するのがよかったですね。

にこ動 VOCALOID-SONG ゲーム

ツイン・ストライクス
AEGISさんの最新作。
お気に入りの作者さんです。

ストラトスフィア -2008 Remix-
t.Komineさんの代表作ストラトスフィアを本人がリミックス。
tkomine.comにてCD情報。


気功砲のロックマン2完結
攻撃すると自分のライフが減る 回復アイテムは出てこない 常に残機0
というルールでプレイ。
始め、クリアできないだろうと思ってました。ごめんなさい。
作者さん、お疲れ様でした。

API-9 ダイアログのコントロール

Tabストップ
ダイアログウィンドウの中のコントロールに対してTab移動ができない。
普通にWindowを作って、そこからダイアログを作成した場合はTab移動できる。

ダイアログに来たメッセージかを判断するIsDialogMessageをメッセージループに書くとTab移動ができるようになった。


WM_COMMAND
なぜか、エディットコントロールだけ、選択時にWM_COMMANDメッセージが複数回やってくる。
ラジオボタンとか、プッシュボタンとかはちゃんと1回だけなのに。


ダイアログウィンドウの初期化
普通ダイアログを作ったときはWM_INITDIALOGメッセージがやってくる。
だが、ダイアログウィンドウの場合、やってくるのはWindowと同じWM_CREATEメッセージ。

ここで初期化のためにGetDlgItemでコントロ-ルのハンドルを取得しようとするが、できない。
Windowからダイアログを作った場合はちゃんと取得できている。
ならばと、ハンドルを取得しなくてもコントロールを操作できるSendDlgItemMessageを使ってみたが、反応しない。

コントロールのプッシュボタンを押したときに同じことをやってみると、GetDlgItemもSendDlgItemMessageもうまくいく。
が、これではエディットボックスの読込みはできても、ラジオボタンの初期化は結局できないまま。

ちなみに、
WM_CREATEはCreateWindowがreturnする前に届く
WM_INITDIALOGはダイアログが表示される前に届く
というタイミングの違いがある。

試しにCreateWindowがreturnした後に適当なメッセージ(まあWM_INITDIALOGが妥当だと思う。どうせシステムからは送られて来ないし)を送って、そこで初期化してみるとうまくいった。

考えてみると、この方法ならWM_INITDIALOGメッセージを処理しているので、そのまま通常のダイアログプロシージャにも使える。


なぜか、wsprintfが%fを正しく処理してくれない。
アクセラレータも動作しない。


wsprintfについて
そもそもwsprintfは小数点数を扱えないみたいです。
sprintfなどprintf系の関数を使うのがいいです。

MSDNライブラリ

API-8 ダイアログウィンドウを使ったアプリケーション

API関連の本やwebページを見ていると、一般にWindowsAPIでアプリケーションを作る場合、
メインとなるウィンドウを作り
そのウィンドウの上にコントロールなどのいろいろな部品を置く
という感じになるみたいです。


で、場合によってはメインウィンドウをダイアログにしたいことがあります。
ダイアログならリソースエディタでコントロールを簡単に配置できるからです。
それがダイアログウィンドウで、Windows付属の電卓なんかがそうらしいです。
http://wisdom.sakura.ne.jp/system/winapi/win32/win89.html

WNDCLASS構造体のメンバに値を代入するとき、
cbWndExtraメンバの値をDLGWINDOWEXTRAとし
lpszClassNameメンバで決めたクラス名をダイアログリソースのCLASSで指定します。

ウィンドウを作るとき、CreateWindowのかわりにCreateDialogを使います。
第3引数は0
通常は親ウィンドウを指定するのですが、親がない
第4引数はNULL
通常はダイアログプロシージャを指定するのですが、ダイアログウィンドウではWNDCLASSで指定されたプロシージャが使用される

ダイアログウィンドウはウィンドウと同じ扱いなので、作成時にはWM_INITDIALOGではなくWM_CREATEメッセージが送られてきます。



2009.3.25追記
BCC+BCCForm環境の注意点

BCCFormで作ったリソースファイルをそのまま使うことができません。
作ったリソースファイルをテキストエディタで開き、DIALOGの中にCLASSパラメータを追加します。

 IDD_DLG DIALOG ・・・・・・・
 EXSTYLE WS_EX_DLGMODALFRAME
 STYLE WS_POPUP | ・・・・・・
 CAPTION "ダイアログのキャプション"
 CLASS "DLG" // これを自分で入力
 FONT 10, "MS P明朝"
 ・・・・・・
今度は逆にBCCFormで編集することができなくなります。
編集する場合は、リソースファイルをテキストエディタで開いてCLASSパラメータを消します。

にこ動 VOCALOID-SONG

ビー玉流星
優しい感じの曲です。

ファミリンコンピューター
ファミコン→スーファミくらいの世代なので、けっこうわかる

dance in the red moon with 初音ミク
独特ですが、こうゆうのも好きです。
同じ作者さんの帰郷風想、完成版を待ってます。

にこ動から

ラジカルペイント
元ネタが、わかる私は、ミク廃。

1画面マリオ
こんなすごいのがあったなんて、知らなかったです。

『ブラック会社に勤めてるんだが、もう俺は限界かもしれない』を読んでみた

第1部 前半 後半
第2部
第3部
第4部
第5部
完結

以前からほかのブログなんかで名前だけは聞いていました。
で、先日、地元の友人と遊んだときにこの話題が出てきて、私は読んでないけれど人に勧めたりもしました。
なので、この機会にと思い読み始め、そのまま最後まで読んでしまいました。

以下ぐだぐだ文


LALAWAY ルララ

いつの間にか消えていたLALAWAYが復活!
でも、期間限定らしいです。


ルララfull完成!
暫定版のときから待ってました。