パソコンのキーボードを大掃除しました
| 固定リンク
| コメント (0)
| トラックバック (0)
C, C++, Java, Pascal, PHP, Perl, Python, Ruby, lisp, Basic, Haskell, Scala...。
ちょっと多言語マニアではないので、簡単には20のプログラミング言語は思い浮かびませんが。
| 固定リンク
| コメント (0)
| トラックバック (0)
朝から晩までパソコンと見つめ合っていると、ブルーライトの影響が大きいです。(実際には朝から朝までという事も少なくありませんが)
ブルーライトは紫外線の次に強いエネルギーを持っています。眼球に直接的なダメージを与える事も分かっているそうです。
青は赤より波長が短いので拡散しやすいんですね。夕焼けとかと同じ理屈ですね。拡散すると眩しさや像の滲みに繋がり、それを見ようとするとピント調節機能に負担が掛かるそうです。
更に、瞬きの回数の減少で乾燥するので、目にはかなり負担が掛かっているようです。
そこで、参天製薬のブルーライトなどから受けたダメージをケアする目薬、サンテPCを買ってみました。
疲れ目、かすみ目に効く有効成分ビタミンB6(0.1%)とB12(0.02%)は一般用眼科用薬での最大濃度が配合されています。
コンドロイチン硫酸エステルナトリウムは、目の表面の水分を滞留させ、保水するのでドライアイに効きます。
紫外線やブルーライトなどの刺激や、疲れが原因の充血に有効で目の炎症を抑えるグリチルリチン酸二カリウムは高い抗炎症作用、抗アレルギー作用で皮膚科でも使われ、ニキビの炎症や予防にも使われます。
目の かゆみに効くクロルフェニラミンマレイン酸塩も配合されています。
基本的には、充血、疲れ目、ドライアイ対策となりますが、軽いかゆみ程度なら対応できそうです。
目は大事にしましょう。
| 固定リンク
| コメント (0)
| トラックバック (0)
バーコードを利用したアプリケーションなどでユーザーがコンピュータの扱いに慣れていないと、何かの拍子にフォーカスがTEditなどから外れていても、構わずにバーコードを読んでしまって、よく確認をしていないために入力した筈のデータが抜け落ちてしまうというような事が起こります。
色々と考えてみたのですが、TForm::KeyPreviewをtrueにして、すべてのキー入力をTEditに投げるという事も考えたのですが、ちょっと違う方法を取ってみた。
フォームにTEditとTRadioButtonを置いてテストしてみます。これは、入荷と出荷などモードを切り替える時によく使うと思うので、TRadioButtonにしてみました。
// TRadioButtonのOnKeyPressイベント void __fastcall TForm1::RadioButton1KeyPress(TObject *Sender, wchar_t &Key) { ActiveControl = Edit1; Edit1->Text = Edit1->Text + Key; Edit1->SelStart = Edit1->Text.Length(); }
こんな風に別のコントロール(ここではTRadioButton)のOnKeyPressイベントでActiveControlをTEditに変更してTEdit::Textの末尾に入力された文字を結合します。
次に入力される文字を適切な場所に入力させるには、入力した文字列の末尾にキャレットがある必要があるので、TEdit::SelStartに文字列長を指定します。
これでTRadioButtonのTabStopをtrueにしておきTRadioButtonをクリックするなり、タブで移動するなりしてアクティブにしておき、そのままの状態でキーを入力するとTEditに入力されます。
TRadioButtonはいくつかの選択肢の択一なので、TRadioButtonを複数用意してみましたが、RadioButton1を選択して、矢印キーの上下で選択肢を移動しても選択の動作には影響はありません。OnKeyPressは文字以外はVK_ESCAPE、VK_RETURNや'\t'(TAB)くらいしか捕捉しないので、矢印やCtrl、Alt、Shiftなどではイベントが発生しないので、それなりにうまく動くようです。
逆に言うと、文字やVK_RETURNを受け取る必要があるようなコントロールに対しては工夫が必要かもしれません。
ちょっとテストした感じでは上手く動作しているようです。必要なら文字単位でフィルターを掛けるなどして、数字だけをTEditに転送するなどの処理をするといいかも知れません。
| 固定リンク
| コメント (2)
| トラックバック (0)
最近、Pythonを勉強し始めた訳だが、偶然知り合った方が作ったウェブアプリがPython2.7で書かれたということで、PythonでのCGIが気になったのでやってみました。
自宅で、テスト用というか遊び用に使っている古いLinux機でやったので、Pythonのバージョンは2.4.4です。現在の標準的な文字コードはUTF-8だと思いますが、私の環境ではEUC-JP環境なので、環境に応じた文字コードに置き換えて読んで下さい。
今回はとにかく、インプットとアウトプットの方法を確認しておきたいと思います。
sample1.cgi#!/usr/bin/python # -*- coding: euc-jp -*- import site import cgi import os print "content-type: text/html\n\n" print '<html>' print '<head><meta charset="euc-jp"></head>' print '<body>' print '<h1>CGIサンプル</h1>' print '<form action="sample1.cgi" method="get">' print 'メッセージ <input type="text" name="msg">' print '<input type="submit">' print '</form>' # formで送信される方法を取得して出力してみる if os.environ['REQUEST_METHOD'] == 'POST': print 'POST' elif os.environ['REQUEST_METHOD'] == 'GET': print 'GET' print '<br />' # 入力された値を出力する form = cgi.FieldStorage() if form.has_key('msg'): print '<h2>' + form['msg'].value + '</h2>' print '<body>' print '</html>'
取り敢えず、ちょこちょこっとネットで検索して、こんな感じで書いて動かしてみましたが、いちおう意図通りにデータを取得して表示できているようです。
入出力に関する処理さえできてしまえば、後は通常のローカルで動作するアプリケーションと同じなので、入力値を処理して出力するという事になると思います。
データベースとの連携、ファイルの入出力。これらは複数のプロセスからアクセスされる事があるので、排他処理が重要になってくると思います。
他にはセッションの管理とかクッキーなどの処理ができると、より使い勝手の良いアプリケーションができると思いますので、今後その辺りも探ってみたいと思います。
現段階で予備知識は全くありませんので、手探りで調べながら楽しみたいと思います。
| 固定リンク
| コメント (0)
| トラックバック (0)
お世話になっている人から預かっていたNexus7なんですが、なかなか時間が取れず手がつけられずにいたのですが、アダプターが高電流なアダプターで2Aなので急速充電に使えるということで、アダプターだけを先に返却する事になりました。
アダプターをプチプチで巻いて、茶封筒に入れ、それを更に宛名を書いた茶封筒に入れて郵便局の窓口に持って行ってみました。
窓口のお母さんに「普通でいいですか?」と聞かれたのですが、普通以外に何があるのか分からないので、取り敢えず「はい」と答えると、重さを量ってくれました。
金額は140円でした。
千葉の長生郡という所から送って、福岡市まで。
金曜日の午後に送って、メッセンジャーで届いたというメッセージがきたのが月曜日でした。
| 固定リンク
| コメント (0)
| トラックバック (0)