プログラミング

Delphi6 Personal

Windows10にDelphi6 Personalをインストールした。
Delphi10を入れたけど画面がフラットデザインで使いにくいし、ノートパソコンで使う気にならなかった。
やっぱりDelphi6はいい。

Lazarusも何やかやと触れてないけれど、これを機会にDelphiを思い出したい。

今は亡き C Magazine の付録CDと、ずっと持ってたアップデータがここにきて役に立つとは。
最初の起動で、使用許諾コードを求められてぞっとしたけれど、Embarcaderoのサイトで新規の発行ができたので問題なし。

Embarcaderoのアカウントも求められたけど、ちょうどDelphi10をインストールするのに必要で取得したところだったので結果オーライ。

あとは、新しいWindowsと古いDelphiが喧嘩しなければうれしい。
とにかくコンパイルが爆速で幸せ。
スポンサーサイト

エクセルでセルをクリックしてカウンターもどきにする(3)

前回作ったマクロを、実際に使ってみて反省点に対応しました。それなりに完成した気がします。
その1、その2で2種類作りましたが、結果的にシェイプを大量に貼り付けるバージョンを採用してます。

※※注意※※
シート状に存在しているオートシェイプ(四角形)を確認せずに削除するマクロを使っています。
マクロで作ったかどうかの判定はしてません。
マクロで作ったオートシェイプにはタグか何かに特殊な文字列でも書き込んでおいて削除時に判定すればいいのかも。

excelcounter20140524.zip

(1) ピンとこないサンプル画面ですみません。
まずは、いい感じに表を作ります。行にも列にも制限はないですけど、多すぎると遅くなると思います。すごく。
それに、スクロールしないと入力できないサイズだと使い勝手最悪です。


(2) 画面では比較のために、半分だけセルを選択して、ボタンを押そうとしているところです。


(3) 押した後。なかなかセンスのないボタンです。
真っ白でも動作するんですが、カウンターが「生きてるのか」どうかが判断しにくいので何かしら区別したほうがよさそう。
あと、塗りつぶしをありにして透明度を設定した方が見た目はすっきりですが、遅い感じ。


(4) ボタン的なものがあるセルを触るとこうなります。カーソルの「+」はIrfanViewのキャプチャ機能のショートカットにCTRLを使ってるので出ちゃってるだけで、実際には手のマーク。


(5) 何回か押してみた後。


(6) 全部数え終わったら印刷とかすると思います。その時に変に触って数字が変わるのが鬱陶しいはず。
なので、作成したボタンを消せるようにしてます。


マクロでやってるのは「ボタンをつくる」「ボタンを消す」だけ。
ボタンがやってるのは「1だけカウントアップ」だけ。
数字をクリアしたりどうこうするのは、エクセルでやりゃいい。やり直しもできるし。

#標準モジュール
'*******************************************
Const gShapeType = msoShapeRectangle
'*******************************************
'シェイプ削除
'*******************************************
Sub ClearShape()
Dim i As Long
i = 1
Do Until i > ActiveSheet.Shapes.Count
With ActiveSheet
If .Shapes(i).AutoShapeType = gShapeType Then
.Shapes(i).Delete
Else
i = i + 1
End If
End With
Loop
End Sub

'*******************************************
'シェイプ削除
'*******************************************
Sub CallClearShape()
Call ClearShape
End Sub

'*******************************************
'シェイプ作成
'*******************************************
Sub CreateShape(WithCellClear As Boolean)
Dim LoopArea As Range
Dim lShape As Shape

Set LoopArea = Selection
For i = 1 To LoopArea.Count
With LoopArea.Cells(i)
If WithCellClear Then .Value = ""
Set lShape = ActiveSheet.Shapes.AddShape(Type:=gShapeType, _
Left:=.Left + 1, Top:=.Top + 1, Width:=.Width - 2, Height:=.Height - 3)
lShape.Name = .Address(RowAbsolute:=False, ColumnAbsolute:=False)
lShape.Select
Selection.ShapeRange.Fill.Visible = msoFalse
With Selection.ShapeRange.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(150, 150, 150)
.Style = msoLineDash
End With
lShape.OnAction = "CounterMacro"
Set lShape = Nothing
End With
Next

ActiveSheet.Range("A1").Select
End Sub

'*******************************************
'シェイプ作成
'*******************************************
Sub CallCreateShape()
Dim lRet As Integer
lRet = MsgBox("選択したセルをカウンターっぽくします。範囲はいい感じですか?", vbOKCancel, "確認")
If lRet = vbCancel Then
Exit Sub
End If
Call ClearShape
Call CreateShape(False)
End Sub

'----------------------------------------
'シェイプの置いてあるセルをカウントアップ
'----------------------------------------
Sub CounterMacro()
Dim lShape As Shape
On Error Resume Next
Set lShape = ActiveSheet.Shapes(Application.Caller)
With ActiveSheet.Range(lShape.Name)
.Value = .Value + 1
.Select
End With
End Sub

エクセルでセルをクリックしてカウンターもどきにする(2)

ハイパーリンクをクリックして作成したマクロを起動するには
http://www.excel-wing.com/study/jitumu/941

Workbook.SheetFollowHyperlink イベント (Excel)
http://msdn.microsoft.com/ja-jp/library/office/ff838573(v=office.15).aspx

エクセルVBAでアクティブセルの位置を獲得するコードを教えてください
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1218931622

Excel2010でBook1のセルA1にハイパーリンクをVBAで付けたいと思います。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1185661976

Hyperlinks.Add メソッド (Excel)
http://msdn.microsoft.com/ja-jp/library/office/ff822490(v=office.15).aspx

下線の設定
http://www.officepro.jp/excelvba/cell_font/index4.html

できたのがこれ。

#ThisWorkbook
'*************************************************************************
'http://www.excel-wing.com/study/jitumu/941
'http://msdn.microsoft.com/ja-jp/library/office/ff838573(v=office.15).aspx
'http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1218931622
'指定範囲のセルにハイパーリンクを設定(設定先は自分自身)
'内容を"0"にしてカウンター初期化
'*************************************************************************
Sub Test1()
Dim lRet As Integer
lRet = MsgBox("全部消します。やり直しできません。印刷しました?", vbOKCancel, "確認")
If lRet = vbCancel Then
Exit Sub
End If

Dim i As Long
Dim lRange As Range
Set lRange = Range("B2:AF6")
For i = 1 To lRange.Count
With lRange.Cells(i)
ActiveSheet.Hyperlinks.Add _
Anchor:=lRange.Cells(i), _
Address:="", _
SubAddress:=.Address(RowAbsolute:=False, ColumnAbsolute:=False), _
ScreenTip:=" ", _
TextToDisplay:="0"
.Value = "0"
End With
Next

lRange.Font.Size = 12
lRange.Font.Underline = False
lRange.Font.Color = vbBlack
End Sub

'*************************************************************************
'ハイパーリンクがクリックされたら数字を一つ上げる
'*************************************************************************
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
With ActiveCell
.Value = .Value + 1
End With
End Sub


めちゃ短くなった。ハイパーリンクを設定するとセルの書式が何かに初期化されるのがちょっと面倒。
あと、クリック間隔が短くなると、セルが編集モードになってしまいます。で、それを解除しようと別のセルをうかつに触ると予定外のセルがカウント上がる罠にはまります。

エクセルでセルをクリックしてカウンターもどきにする(1)

EXCELでカウンターのように、ボタンをクリックすると数字が[1、2、3、4・・・]と...
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1210789317

上のような動作をさせたくなりました。でもボタンやスピンボタンをおくと印刷したときに邪魔だし、スピンボタンだと100マスぐらいあるとちっさくてボタンが押せないのでどうにかしようとあがいてみました。

EXCEL(VBA) セルをクリックしたときの処理
http://oshiete.goo.ne.jp/qa/345340.html

>シートをクリックしただけで発生するイベントは無いのではないでしょうか
> 多少強引なやりかたとしては、次のような方法もあるにはあります。
>(1)セルと同じ大きさテキストなしのラベルを貼り付け、それぞれにマクロを登録する
>(2)登録したマクロのプロシージャ内で、クリックされたオートシェープの名前等により
> クリックされたことにするセルを判断する
>(3)マクロプロシージャ内にセルのselectメソッドを書いておけば、
>SelectionChangeイベントではキーボードによるセル移動などにも反応してしまったり、
>現在選択されているセルをクリックしても反応しないという問題があります

#標準モジュール
'**************************************************
'選択したセルに順序を書き込む関数
'http://www.k1simplify.com/vba/tipsleaf/leaf22.html
'**************************************************
Sub Test1()
Dim LoopArea As Range
Set LoopArea = Selection
For i = 1 To LoopArea.Count
LoopArea.Cells(i).Value = i
Next
End Sub


#標準モジュール
'***********************************************
'選択したセルにセルの名前(A1 とか)を書き込む関数
'http://home.att.ne.jp/zeta/gen/excel/c04p54.htm
'***********************************************
Sub Test2()
Dim LoopArea As Range
Set LoopArea = Selection
For i = 1 To LoopArea.Count
With LoopArea.Cells(i)
.Value = .Address(RowAbsolute:=False, ColumnAbsolute:=False)
End With
Next
End Sub


■ 調べもの ■
[excel][vba]枠線だけのオートシェイプを作るマクロ その1
http://blog.livedoor.jp/qoozy/archives/52556504.html

エクセルVBAで角丸四角形のオートシェイプを作成 msoShapeRoundedRectangle
http://www.excel-excel.com/tips/shape/shp_133.html

#標準モジュール
'****************************************************
'選択範囲のサイズで四角形を作成する関数
'http://www.excel-excel.com/tips/shape/shp_133.html
'http://blog.livedoor.jp/qoozy/archives/52556504.html
'****************************************************
Sub Test3()
Dim lType As String
Dim lShape As Shape

lType = msoShapeRectangle
'四角 msoShapeRectangle
'角丸四角形 msoShapeRoundedRectangle
'円 msoShapeOval
With Selection
Set lShape = ActiveSheet.Shapes.AddShape(Type:=lType, _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
lShape.Name = "シェイプRoundedRectangle"
End With
Set lShape = Nothing
End Sub


#標準モジュール
'****************************************************
'選択範囲のサイズで枠だけの四角形を作成する関数
'(わかりにくいのでちょっと内側+うっすら色つき)
'http://www.excel-excel.com/tips/shape/shp_133.html
'http://blog.livedoor.jp/qoozy/archives/52556504.html
'****************************************************
Sub Test4()
Dim lType As String
Dim lShape As Shape

lType = msoShapeRectangle
'四角 msoShapeRectangle
'角丸四角形 msoShapeRoundedRectangle
'円 msoShapeOval
With Selection
Set lShape = ActiveSheet.Shapes.AddShape(Type:=lType, _
Left:=.Left + 1, Top:=.Top + 1, Width:=.Width - 2, Height:=.Height - 2)
lShape.Name = "シェイプRoundedRectangle"
End With

lShape.Select

'塗りつぶしの設定
With Selection.ShapeRange.Fill
'.Visible = msoFalse '塗りつぶしの有無
.Visible = msoTrue '塗りつぶしの有無
.ForeColor.RGB = RGB(255, 0, 255) '塗りつぶしの色
.Transparency = 0.9 '塗りつぶしの透明度
End With
'線の設定
With Selection.ShapeRange.Line
.Visible = msoTrue '線の有無)
.Style = msoLineSingle '線の種類(実線)
.ForeColor.RGB = RGB(0, 0, 0) '線の色
.Transparency = 0 '線の透明度
.Weight = 1 '線の太さ
End With

Set lShape = Nothing
End Sub


■ 調べもの ■
Excel VBAでオートシェイプに登録したマクロ名を取得する
http://blog.ch3cooh.jp/entry/20081121/1357113549

OnActionのマクロに引数を渡す方法と、それActionControlプロパティで出来るよ!ってお話
http://d.hatena.ne.jp/so_blue/20101116/1289918205

Shape.OnAction プロパティ (Excel)
http://msdn.microsoft.com/ja-jp/library/office/ff834436(v=office.15).aspx

マクロ付きShapeオブジェクトでどれが呼び出したかを知る
http://blogs.yahoo.co.jp/chika_z/1036381.html

Office TANAKA - Excel VBAステートメント[On Errorステートメント]
http://officetanaka.net/excel/vba/statement/OnError.htm

#標準モジュール
'*************************************************
'選択範囲のサイズで四角形を作成してマクロを設定
'http://d.hatena.ne.jp/so_blue/20101116/1289918205
'*************************************************
Sub Test5()
Dim lType As String
Dim lShape As Shape

lType = msoShapeRectangle
With Selection
Set lShape = ActiveSheet.Shapes.AddShape(Type:=lType, _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
lShape.Name = "シェイプRoundedRectangle"
lShape.OnAction = "Test5a"
End With
Set lShape = Nothing
End Sub

Sub Test5a()
MsgBox "テスト"
End Sub


#標準モジュール
'****************************************************
'選択範囲のサイズで四角形を作成してましなマクロを設定
'http://blogs.yahoo.co.jp/chika_z/1036381.html
'****************************************************
Sub Test6()
Dim lType As String
Dim lShape As Shape

lType = msoShapeRectangle
With Selection
Set lShape = ActiveSheet.Shapes.AddShape(Type:=lType, _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
lShape.Name = "シェイプRoundedRectangle"
lShape.OnAction = "Test6a"
End With
Set lShape = Nothing
End Sub

Sub Test6a()
Dim lShape As Shape
On Error Resume Next
Set lShape = ActiveSheet.Shapes(Application.Caller)
MsgBox lShape.Name
End Sub


#標準モジュール
'**********************************************************************
'選択範囲の各セルと重なる四角形を作成してセル名称を表示するマクロを設定
'**********************************************************************
Sub Test7()
Dim LoopArea As Range
Dim lShape As Shape

Set LoopArea = Selection
For i = 1 To LoopArea.Count
With LoopArea.Cells(i)
Set lShape = ActiveSheet.Shapes.AddShape(Type:=msoShapeRectangle, _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
lShape.Name = .Address(RowAbsolute:=False, ColumnAbsolute:=False)
lShape.OnAction = "Test7a"

lShape.Select

With Selection.ShapeRange.Fill
.Visible = msoTrue '塗りつぶしの有無
.ForeColor.RGB = RGB(255, 0, 255) '塗りつぶしの色
.Transparency = 0.9 '塗りつぶしの透明度
End With
Selection.ShapeRange.Line.Visible = msoFalse

Set lShape = Nothing
End With
Next
End Sub

Sub Test7a()
Dim lShape As Shape
On Error Resume Next
Set lShape = ActiveSheet.Shapes(Application.Caller)
MsgBox lShape.Name
End Sub


■ 調べもの ■
12.3 ワークシート上のオートシェイプ(図形)を削除する
http://www.happy2-island.com/excelsmile/smile03/capter01203.shtml

'*****************************************************************
'自分以外のすべてのシェイプを削除する
'http://www.happy2-island.com/excelsmile/smile03/capter01203.shtml
'*****************************************************************
Sub Test8()
Dim i As Long
i = 1
Do Until i > ActiveSheet.Shapes.Count
With ActiveSheet
If .Shapes(i) Is .Shapes(Application.Caller) Then
i = i + 1
Else
.Shapes(i).Delete
End If
End With
Loop
End Sub

'**********************************************************************
'既存のシェイプを全部削除して、選択範囲の各セルと重なる四角形を作成して
'四角形にはセルの名前(A1 とか)を設定しておいて、クリックしたときに
'そのセル名称を使っていろいろするマクロを設定
'**********************************************************************
Sub Test9()
Dim i As Long
i = 1
Do Until i > ActiveSheet.Shapes.Count
With ActiveSheet
If .Shapes(i) Is .Shapes(Application.Caller) Then
i = i + 1
Else
.Shapes(i).Delete
End If
End With
Loop

Dim LoopArea As Range
Dim lShape As Shape

Set LoopArea = Selection
For i = 1 To LoopArea.Count
With LoopArea.Cells(i)
Set lShape = ActiveSheet.Shapes.AddShape(Type:=msoShapeRectangle, _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
lShape.Name = .Address(RowAbsolute:=False, ColumnAbsolute:=False)

lShape.Select

With Selection.ShapeRange.Fill
.Visible = msoTrue '塗りつぶしの有無
.ForeColor.RGB = RGB(255, 0, 255) '塗りつぶしの色
.Transparency = 0.9 '塗りつぶしの透明度
End With
Selection.ShapeRange.Line.Visible = msoFalse

lShape.OnAction = "Test9a"
Set lShape = Nothing
End With
Next
End Sub

'----------------------------------
'シェイプの置いてあるセルを選択する
'----------------------------------
Sub Test9a()
Dim lShape As Shape
On Error Resume Next
Set lShape = ActiveSheet.Shapes(Application.Caller)
ActiveSheet.Range(lShape.Name).Select
End Sub

'****************************************************************
'既存のシェイプを全部削除
'選択範囲の各セルと重なる四角形を作成
'選択範囲のセルの内容をクリア
'四角形にはセルの名前(A1 とか)を設定
'作成した四角形をクリックしたときにセルの名前を使ってセルの内容を
'書き換えるマクロを設定
'****************************************************************
Sub Test10()
Dim i As Long
i = 1
Do Until i > ActiveSheet.Shapes.Count
With ActiveSheet
If .Shapes(i) Is .Shapes(Application.Caller) Then
i = i + 1
Else
.Shapes(i).Delete
End If
End With
Loop

Dim LoopArea As Range
Dim lShape As Shape

Set LoopArea = Selection
For i = 1 To LoopArea.Count
With LoopArea.Cells(i)
.Value = ""
Set lShape = ActiveSheet.Shapes.AddShape(Type:=msoShapeRectangle, _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
lShape.Name = .Address(RowAbsolute:=False, ColumnAbsolute:=False)

lShape.Select

With Selection.ShapeRange.Fill
.Visible = msoTrue '塗りつぶしの有無
.ForeColor.RGB = RGB(255, 0, 255) '塗りつぶしの色
.Transparency = 0.9 '塗りつぶしの透明度
End With
Selection.ShapeRange.Line.Visible = msoFalse

lShape.OnAction = "Test10a"
Set lShape = Nothing
End With
Next
End Sub

'----------------------------------------
'シェイプの置いてあるセルをカウントアップ
'----------------------------------------
Sub Test10a()
Dim lShape As Shape
On Error Resume Next
Set lShape = ActiveSheet.Shapes(Application.Caller)
With ActiveSheet.Range(lShape.Name)
.Value = .Value + 1
.Select
End With
End Sub


一応動くことは動くけれども、クリアするときにすでに作成済みのオートシェイプが
全面に敷き詰めてあるので、「選択範囲のセルを~」の部分が邪魔をして若干面倒くさい。

一度、どうでもいいセルを選択した状態でクリアしておいてから~みたいない気持ちの
悪いことをする必要がありました。気持ち悪い。


■ 調べもの ■
ハイパーリンクのクリックでマクロを実行する
http://www.excel-wing.com/study/jitumu/941

これちょっといい感じかも。

Outlookのメールアイコンが出てたらメッセージを表示したい Notifire(7)

TImageListの中身をファイルに保存したり戻したりすることについて。

今まであまり使ったことのないTImageListに苦しんでいる日々ですけど何か。
ちょっと雰囲気が見えてきたのでこのままTImageListを使ってどうにかしたいと思います。で、操作のナチュラルさも含めてうまく行ったとして、少なくともメールのアイコンを保存したくなります。
そうなると最低1つのアイコンというか画像を保存したらいいんですけど、どうせTImageListにキープしてるんだから、TImageList.SaveToFile的なものはないのかと探してみました。

Outlookのメールアイコンが出てたらメッセージを表示したい Notifire(6)

画像を比較する、一致判定をすることについて。

バイナリの検索、書き換えをするには?:[2012/10/06]
バイナリファイルで文字列を検索するには?:[2012/10/06]
バイナリデータを数値化して比較するには?:[2012/10/06]

Outlookのメールアイコンが出てたらメッセージを表示したい Notifire(5)

通知領域に表示されているアイコンをバラす話。
バラすのはいいけどどうやって保持しようか。TImageListが使えないか試してみる。

ImageListに画像を追加する:[2012/10/05]

まず、Image1に通知領域全体を取得する。で、Image2に一つ切り出してImageList1に追加。次の一つを切り出してまたImageList1に追加。次の...としていけばよさそう。ちゃんと取得できているかどうかは、TImageListと関連付けできるコンポーネント(SpeedButtonとか)に表示させる。というはどうだろう。

Outlookのメールアイコンが出てたらメッセージを表示したい Notifire(4)

Outlookのメールアイコンが出てたらメッセージを表示したい Notifire(4)

なんの話をしてたのか曖昧になって来たけど、次は、通知領域に表示されているアイコンの数を数えて見ることにします。
単純な割り算じゃない感じです。
わざと通知領域のアイコンの数を増やしてみて、ゼロ(あれば)から5個ぐらいまでの縦横サイズを取得してみます。

Outlookのメールアイコンが出てたらメッセージを表示したい Notifire(3)

まずは、右下の通知領域を「掴む」ことから始めます。
Delphiで作ったプログラムでできてるんですが、Lazarusの使い心地というべきか、usesひとつとっても、どこでAPIを宣言されてるかわからなさすぎるので、それも含めてやってみます。

Outlookのメールアイコンが出てたらメッセージを表示したい Notifire(1)

会社のメーラーがOutlook2013です。
それまでメールが来た時にすぐに読めるように、デスクトップ通知でダイアログボックスを表示するように設定していました。しかし、2013になって、デスクトップ通知がタスクバーの通知領域(時計の横)にメールのアイコンを出すことと、バルーンを最長30秒表示することしかできなくなってしまいました。

Lazarus特練 タイマーアプリを作ってみる(3)

TBitmapに一旦描画して、BitBltでListBox.Canvasに転送するつもりで、コンパイルしてみたら問題が起きました。
BitBltはWindowsユニットに入ってるんだと思うんですけど、Windowsをusesすると、DrawItemのイベントハンドラを定義するだけでコンパイルエラーになってしまいます。
他にも、TBitmapも、Graphics.TBitmapってわざわざ言わないと、Windows.TBitmapとごっちゃになるらしく。もう。

Lazarus特練 タイマーアプリを作ってみる(2)

いきなりオーナドローで座標の計算とか描画処理をやり始めると、めんどくさくなってしまうのが目に見えてるので、まずは、TPanelにTLabelをおいて目標の状態を確認しておくことにします。こうしておけば、座標も見やすそうですし。

スヌーズや時間指定などの機能を搭載したカウントダウンタイマーを複数設定できる「Free Countdown Timer」 - GIGAZINE:[2012/05/26]

Lazarus特練 タイマーアプリを作ってみる

GIGAZINEを読んでいて、タイマーアプリの紹介を見つけました。

スヌーズや時間指定などの機能を搭載したカウントダウンタイマーを複数設定できる「Free Countdown Timer」 - GIGAZINE:[2012/05/23]

Lazarusを触り始めてしばらく時間もたったことだし、DelphiのTipsがかなり使えることもわかってきたので、実物をインストールせずに、妄想で再現してみる特別練習をやってみます。

Try&Error 付箋アプリを作ってみる stickies (7)

WordWrap:=Trueの時に、カーソルのある行の文字列(行頭から改行まで)を取り出すのはどうするんでしょうか?
Memo1.Lines[カーソル行] だと、画面表示上の1行分の文字列になってしまいます。

URLをメモってたけど関係あるかな。
Delphi Tips - メモコンポーネントとメッセージ:[2012/05/07]
旧Delphi FAQ:[2012/05/07]

Try&Error 付箋アプリを作ってみる stickies (5)

TMemoのオーナードローの話の続きです。

チビ目標
・ちらつき低減
・奇偶行背景色色変え
・強調表示(これは欲張りすぎ。でも、ゲットしたサンプルはこのためのサンプルなんです。これが。)

ちらつきからやっつけます。

Developing with Graphics - Free Pascal wiki:[2012/05/04]
GDI Graphics in Delphi - 7/9:Four Ways To Kill Flicker [2012/05/04]

Try&Error 付箋アプリを作ってみる stickies (4)

TMemoでオーナードローです。

前回検索してみた情報でやってみたんですが何も考えずにうまくはいきませんでした。

How to create a TMemo with alternating colours to paint the lines:[2012/05/04]
これは、そのままだとうまくいかない。多分再描画のタイミングをもっとちゃんとやらないといけない。

Try&Error 付箋アプリを作ってみる stickies (2)

やるといってから結構な時間が立ちましたけど、結果的には辿り着く前に飽きたっぽい。
原因は、そうだバージョン情報の画面作ってみようそうしよう。というわけでして、ウロウロしてる間に勢いが削げました。

でも少しは得るところがあったので、タイトルとの食い違いはこの際無視して書いておきます。

Try&Error 付箋アプリを作ってみる stickies (1)

昨日の勢いのままで、デスクトップに表示する付箋的なものを作ることにします。

Delphiを忘れて久しいので、プログラムすることそのものリハビリも含めてゆっくりいきます。飽きればそれまで。

***目標***

Windows7の「付箋」よりもしっくり来るもの

***方針***

行き当たりばったりに行きます。付箋をつくるには、とかんがえると幾つかやらないと行けないことが思いつくんですが、できる限り忘れるようにして、試してみたくなった順に進めていきます。

今日の検索 CodeZine

一日一検索を心がけて二日目。すでにネタ切れの憂き目にあったりして。

以前に登録したことがあって、たまにメールが送られてくるCodeZineの記事からちょっと気になるものを手動で探してみました。
ちなみにカギカッコの日付は、各記事の更新日じゃなくてこのリンクを貼った日です。念のため。

CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマガジン...開発者のための実装系Webソースコードマガジン。会員登録無料。開発者,ソースコード,プログラミング, Java, Windows, .NET, C#, VB, C++, CodeZine:[2012/04/12]

それから、公開期限切れになったものがあったので、引用元のサイトに飛ばされたんですが、そこがまた記事を簡単に探せそうになかったので、手作業で探しておきました。

デベロッパーコラム一覧 - japan.internet.com コラム...最新ネットビジネス関連のコラムを毎日配信中。SEOの最新動向やアメリカの面白いツールを紹介するコラムなどネット業界の今が分かります:[2012/04/12]

今日の検索 QRコード

QRコードに付いて調べてみます。

とりあえずWikipedia
QRコード - Wikipedia
>QRコード・二次元バーコードを無料(フリー)で作成可能です。
QRコード(二次元バーコード)作成【無料】
>貼るだけブログQRコードは、ソースを貼るだけで、無料で簡単にQRコード作成ができるシンプルなQRコード生成サービス
QRコード無料作成|QR-Coder.com

まだ無理はもう無理。プログラミング関連リンク集

もうタイトルの通り。
面白そうと考えるのも馬鹿の背伸びだろな。

***Eclipse, NetBeans, Java, RSS, .NET, Python, Lisp, Ruby, 組込み

OKIソフトウェア 資料室

***Lisp

Common LispでSTGを作りますが何か?
魔法言語 リリカル☆Lisp
マンガで分かるLisp(Manga Guide to Lisp)

***Windows

Windows SDK for Windows 7 | MSDN
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。