これが、テクニックさっ!

Last Update:1997/11/17


というわけで始まってしましました。(なにが)
当たり前だけど知っている便利とかそんな感じのテクニックを満載^H^H少しだけおいておきます。 あなたの役に立つといいですね。(^^;)

・Visual Basic でレジストリを利用しよう
Visual Basic で設定を保存するときにGetSettingとか、 SaveSettingとか使っている人。 かっこ悪いし、わしもそんなソフトは嫌なのでやめましょうよ。
ちゅーことでレジストリ読み書きの標準モジュールを捨てておきます。 お役に立てると嬉しいです。
レジストリ読み書きモジュール Version 1.01


しかし Microsoft もあれだな。あの名前は許せないものがあるよね。(笑)

・閏年を判定しよう
閏年。知ってますか?4年に一度のあれです。 実は100で割れる年は閏年にならないんですね〜。 さらに400で割れる年は閏年になるんですね〜。
まあそこまで生きられる保証はないけど、 対応しておくことにプログラマとしてのポリシーというかスピリットというかがありますね。 ということでその辺の判定など・・・

§Visual Basic編§
  Dim uruu As Integer
  Dim Year,Month,Day As Integer
  Dim DAYTBL(11) As Integer

  DAYTBL(0) = 31
  DAYTBL(1) = 28
  DAYTBL(2) = 31
  DAYTBL(3) = 30
  DAYTBL(4) = 31
  DAYTBL(5) = 30
  DAYTBL(6) = 31
  DAYTBL(7) = 31
  DAYTBL(8) = 30
  DAYTBL(9) = 31
  DAYTBL(10) = 30
  DAYTBL(11) = 31

  if Month = 2 And _
     (Year Mod 4 = 0 And Year Mod 100 <> 0) And Year Mod 400 = 0 Then
        uruu = 1
  Else
        uruu = 0
  End If

  Year年 Month月の最終日 = DAYTBL(Month - 1) + uruu

・DOSのCで文字列を入力しよう
あれれ?いまだにgets()ですか?
そりゃかわいそうだ。ってことで、そいう人を救済すべく立ち上がった。
# 大嘘
そうです。嘘をついていました。自分がをしたかっただけなんです。(核爆)
うふふ、今すぐ楽にしてあげるよ。さぁ、恐がらないで。(ぉ
ということで編集可能文字列入力モジュール for Turbo C++ 4.0 です。
編集可能文字列入力モジュール Version 2.45 for Turbo C++ 4.0

っていうか、ごちゃまぜにいろんなものが入っているので自分で整理してね。ぉぃ
えっ、使い方?んなもんないよ。(核爆) ヘッダとか見ればある程度書いてるからそれ使って。

・リストビューの隠し(?)スタイル
情報を隠し過ぎだぞMicrosoft。ということで、なんだか見つけるのにすげー苦労 してしまったので一応メモっとこうとか考えてみるテスト。
切って張ると Visual Basic で使えるよっ。わぁ、お得だね。


・マシンの種類を判別する。
どこかに落ちてたんだけど、どこだか忘れて探すのも面倒なのでとりあえず メモっておく。

< 宣言 >
'キーボードタイプ判別API
Declare Function GetKeyboardType Lib "user32" (ByVal nTypeFlag As Long) As Long

'GetKeyboardTypeの戻り値
Public Const KBT_IBM_PCAT_101 = 0        '101
Public Const KBT_IBM_PCAT_AX = 1         'AX
Public Const KBT_IBM_PCAT_106 = 2        '106
Public Const KBT_IBM_PCAT_5576_23 = 3    'IBM-5576 002/003
Public Const KBT_IBM_PCAT_5576_1 = 4     'IBM-5576 001
Public Const KBT_PC9800_PUB = &HD01      'PC-9800一般
Public Const KBT_PC9801VXUXXLXL2 = &HD02 'PC-9801 VX/UX、PC-98XL/XL2用
Public Const KBT_PC98XLXL2_HIGH = &HD03  'PC-98XL/XL2用(ハイレゾ)
Public Const KBT_PC9800_LAPTOP = &HD04   'PC-9800ラップトップ

< 実行 >
Select Case GetKeyboardType(1)
  Case KBT_IBM_PCAT_101
    Label2.Caption = "IBM PC/AT互換機"
    Label4.Caption = "101キーボード"
  Case KBT_IBM_PCAT_AX
    Label2.Caption = "IBM PC/AT互換機"
    Label4.Caption = "AXキーボード"
  Case KBT_IBM_PCAT_106
    Label2.Caption = "IBM PC/AT互換機"
    Label4.Caption = "106キーボード"
  Case KBT_IBM_PCAT_5576_23
    Label2.Caption = "IBM PC/AT互換機"
    Label4.Caption = "IBM-5576 002/003キーボード"
  Case KBT_IBM_PCAT_5576_1
    Label2.Caption = "IBM PC/AT互換機"
    Label4.Caption = "IBM-5576 001キーボード"
  Case KBT_PC9800_PUB
    Label2.Caption = "NEC PC-98互換機"
    Label4.Caption = "PC-9800一般キーボード"
  Case KBT_PC9801VXUXXLXL2
    Label2.Caption = "NEC PC-98互換機"
    Label4.Caption = "PC-9801 VX/UX、PC-98XL/XL2用キーボード"
  Case KBT_PC98XLXL2_HIGH
    Label2.Caption = "NEC PC-98互換機"
    Label4.Caption = "PC-98XL/XL2用キーボード(ハイレゾ)"
  Case KBT_PC9800_LAPTOP
    Label2.Caption = "NEC PC-98互換機"
    Label4.Caption = "PC-9800ラップトップ用キーボード"
  Case Else
    Label2.Caption = "機種不明"
    Label4.Caption = "キーボードタイプ不明"
End Select

戻る