-
預金通帳をみると「お利息」という入金がありました。
この利息ですが、会計処理ではどの様に扱うのか?
私は自営業者なので、預金金利の勘定科目は「事業主借」としています。
なのですが、この利息そのものには既に分離課税として20%分が差し引かれています。
これを小口現金の収入換算して所得税の計算に参入すると二重課税になりますし...
ところで、二重課税といえばガソリンがあります。
ガソリン代として半分ぐらいガソリン税が占め、更にその金額に消費税が加わります。
これ何とかならないのでしょうか?
ガソリン税が導入されたのは1970年代かの田中角栄さんの時に導入されたと思います。
道路をいっぱい作る関係から導入したそうですが、これが無くなればガソリンも安くなるのですが。
さて、「利息」の話に戻しますが普通の会社では、相手勘定は「受取利息」として処理すればよい様です。
=====
2015/03/18:の時の情報
PR -
久々にOracleを動かそうとして、Oracle SQL Developerを起動し、データベースに接続すると接続エラーが発生しました。
エラーメッセージはORA-28001 the password has expired.
どうもパスワードの期限が切れているようです。
調べてみるとOracle11gではデフォルトでユーザのパスワードの期限が180日になっているそうです。
テストで動かすだけなので、SYSユーザでログインして、ユーザのパスワードを以下のコマンドで変更しました。
alter user 「USERNAME」 identified by 「PASSWORD」;
その後、以下のコマンドでロックを解除します。
alter user 「USERNAME」 account unlock;
これで、接続できるようになりました。
ただ「SQL*Plus」での接続では以下の図のようにエラーが表示されますが、
その後、新規パスワードの入力が促され、そこでパスワードを入力しなおせば再度接続されます。
SIDとしてはテスト用のDB「test」で、ユーザもテスト用のID/PASSを「test/test」して行いました。
オラクルサーバーへの接続文字列としては、@マーク以下「//192.168.1.207/」を頭に付けてローカルなLANのサーバマシンのIPを特定しています。
=====
2015/03/26:の時の情報
-
青ペン書きなぐり勉強法」でなにより重要なのは、達成感です。「ペンを1本使い切った」「今日1日でインクがこんなに減った」と、効果を「見える化」することにより、その量が「こんなにやった!」と自信に変わる。そうすると、義務感にかられての勉強が、「もっとやりたいもの」に変わります。さらに続けると「青ペンを握らないと調子が出ない」と“やみつきになる効果”があります。
「何もかも書く」がポイント
―社会人で、仕事のメモ術として役立てている方もいらっしゃるそうですね。
情報の整理に役立つという声は、よく聞きます。この勉強法は、もともとは授業内容を効率的に復習できる「再現性の高いノート」を作るための技でした。だから、「情報は取捨選択しないで何もかも書く」というのがポイント。当然、ビジネスシーンでも、そのまま使えます。ホワイトボードに書かれた内容や、渡された資料だけを見るのではなく、相手が話したことを「何もかも書く」。
ところがこれが、実際にやってみると、案外難しいのです。全部書こうと思っても、手が追いつかない。無理なことに気がつく。実は、この「気づき」がとても重要なんですね。意識しないと、私たちは自分の「主観」で勝手に情報の取捨選択をしてしまいます。でも、何が重要で、何が重要でないかなんて、通常、瞬時に判断できるはずがありません。だから効率よく復習したいと思ったら、まずは「全部書く!」と決める。そこから、再現性の高いノートが生まれるのです。
元塾生で、「青ペンで勉強していると、大切な試験の当日に、突然、文字が浮き上がって見えてくる」と言った生徒がいました。書きなぐっているときには気づかないのだけれど、いつの間にか脳に「しみ込んで」、ふとしたときに再現される、と。私はこの感覚は「第六感」に近いのではないかと思います。
目で見て声に出し、それを自分の耳で聞きながら、手を動かして記憶する――。五感をフルに活用して勉強すると、私たちの潜在能力が最大限に発揮されるようになるのではないでしょうか。
=====2015/03/18:の時の情報
-
VB.NETで標準ラベルコントロールから派生した、背景色をグラデーション描画するGradientLabelコントロールを作成しました。
このコントロールには以下の追加プロパティが備わっています。
プロパティ 概要 BackColor2
グラデーション終了色
(デフォルトのBackColorからBackColor2への色の変化)FrameColor
ラベルの枠色 GradientMode
グラデーションの方向(LinearGradientMode) GradientCount
グラデーションの回数
(回数は1から10に強制的におさえている)
バックグラウンド描画イベント処理にてグラデーション用ブラシでグラデーションの色と位置を設定し、内部を描画します。 さらに、枠色で枠を描画しています。
Imports System.ComponentModel Imports System.Drawing.Drawing2D Public Class GradientLabel Inherits System.Windows.Forms.Label '''
''' コンストラクタ ''' '''Public Sub New() MyBase.New() MyBase.BackColor = Color.Transparent Me._GradientMode = LinearGradientMode.Horizontal End Sub ''' ''' バックグラウンド描画イベント処理 ''' Protected Overrides Sub OnPaintBackground(ByVal pevent As System.Windows.Forms.PaintEventArgs) Dim g As Graphics = pevent.Graphics If Me.BackColor.A < 255 OrElse Me.BackColor2.A < 255 Then MyBase.OnPaintBackground(pevent) End If '描画領域 Dim rect As Rectangle = New Rectangle(0, 0, Me.Width, Me.Height) 'グラデーション用ブラシ Dim lgb As LinearGradientBrush = New LinearGradientBrush(rect, Color.Red, Color.Violet, Me._GradientMode) 'グラデーション用のColorBlendクラス Dim cb As ColorBlend = New ColorBlend() 'グラデーションの色と位置を設定 Dim arrColors(Me._GradientCount) As Color Dim arrPos(Me._GradientCount) As Single For i As Integer = 0 To _GradientCount If (i And 1) = 0 Then arrColors(i) = Me._BackColor Else arrColors(i) = Me._BackColor2 End If arrPos(i) = i / _GradientCount Next cb.Colors = arrColors cb.Positions = arrPos lgb.InterpolationColors = cb '複数の色による線形グラデーション定義 g.FillRectangle(lgb, rect) '描画 '枠を描画する(取敢えず線の幅は2) Using pen As New Pen(Me._FrameColor, 2) pen.DashStyle = Drawing2D.DashStyle.Solid g.DrawRectangle(pen, rect) End Using End Sub Private _BackColor As Color Public Shadows Property BackColor() As Color Get If Me._BackColor <> Color.Empty Then Return Me._BackColor End If If Me.Parent IsNot Nothing Then Return Me.Parent.BackColor End If Return Control.DefaultBackColor End Get Set(ByVal value As Color) Me._BackColor = value Me.Invalidate() '再描画 End Set End Property Private _BackColor2 As Color <Category("Display"), Description("グラデーション終了色")> _ Public Property BackColor2() As Color Get If Me._BackColor2 <> Color.Empty Then Return Me._BackColor2 End If If Me.Parent IsNot Nothing Then Return Me.Parent.BackColor End If Return Control.DefaultBackColor End Get Set(ByVal value As Color) Me._BackColor2 = value Me.Invalidate() '再描画 End Set End Property Private _FrameColor As Color = Color.Black <Category("Display"), Description("枠色")> _ Public Property FrameColor() As Color Get If Me._FrameColor <> Color.Empty Then Return Me._FrameColor End If Return Color.Black End Get Set(ByVal value As Color) Me._FrameColor = value Me.Invalidate() '再描画 End Set End Property Private _GradientMode As LinearGradientMode <Category("Display")> _ <DefaultValue(GetType(LinearGradientMode), "Horizontal"), Description("グラデーションの方向")> _ Public Property GradientMode() As LinearGradientMode Get Return Me._GradientMode End Get Set(ByVal value As LinearGradientMode) Me._GradientMode = value Me.Invalidate() '再描画 End Set End Property Private _GradientCount As Integer = 4 <Category("Display")> _ <DefaultValue(GetType(Integer), "4"), Description("グラデーションの回数")> _ Public Property GradientCount() As Integer Get Return Me._GradientCount End Get Set(ByVal value As Integer) If value < 1 Then value = 1 If value > 10 Then value = 10 Me._GradientCount = value Me.Invalidate() '再描画 End Set End Property End Class
このコントロールを使った例を以下に示します。
■GradientMode:Horizontal
左から右に向かってグラデーションされます。
BackColor⇒BackColor2の色変化のグラデーションです。
GradientCount=1の場合は、BackColor⇒BackColor2のみのグラデーションで
GradientCount=2の場合は、BackColor⇒BackColor2⇒BackColorのグラデーションとなります。
その後、GradientCountの値が増えるに従って、「BackColor2」「BackColor」が繰り返されます。
■GradientMode:Vertical
上から下に向かってグラデーションされます。
■GradientMode:ForwardDiagonal
左上から右下に向かってグラデーションされます。
■GradientMode:BackwardDiagonal
右上から左下に向かってグラデーションされます。
=====
2015/03/23:の時の情報
-
前回はバイト配列から構造体へのコピーでしたが、今回はその逆である、構造体からバイト配列へのコピーです。
例とする構造体は前回同様、4個のバイト配列変数を持った簡単な構造を例にとります。以下の様な宣言になります。 各変数は「MarshalAs」を使って、固定サイズ長を宣言してやります。
'バイト配列分解構造体 <StructLayout(LayoutKind.Sequential, Pack:=1)> _ Private Structure ByteSplit <MarshalAs(UnmanagedType.ByValArray, SizeConst:=2)> _ Public A As Byte() <MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> _ Public B As Byte() <MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> _ Public C As Byte() <MarshalAs(UnmanagedType.ByValArray, SizeConst:=64)> _ Public X As Byte() End Structure
この構造体からバイト配列に変換する関数を以下に示します。
Imports System.Runtime.InteropServices 'これは先頭で宣言してください '''
''' 構造体からバイト配列にコピーする ''' ''' <param name="byteSplit">構造体</param> ''' <returns>バイト配列を返す</returns> Private Function ToByteArray(ByVal byteSplit As ByteSplit) As Byte() '構造体のサイズ Dim size As Integer = Marshal.SizeOf(GetType(ByteSplit)) 'ヒープ領域にサイズ分のメモリ確保 Dim iPtr As IntPtr = Marshal.AllocHGlobal(size) '構造体をヒープ領域にコピー Marshal.StructureToPtr(byteSplit, iPtr, False) 'Byte配列の宣言 Dim newBytes As Byte() = New Byte(size - 1) {} 'ヒープ領域からByte配列にコピー Marshal.Copy(iPtr, newBytes, 0, size) 'ヒープ領域を解放 Marshal.FreeHGlobal(iPtr) 'バイト配列を返す Return newBytes End Function 'バイト配列を構造体にコピーするテスト Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim x As Byte() = New Byte() {&H10, &H11, &H20, &H21, &H22, &H23, &H30, &H31, &H32, &H33, &H40, &H41} '前回の関数(バイト配列を構造体にコピー)を利用 Dim xByte As ByteSplit = ToByteSplit(x) Dim x2 As Byte() = ToByteArray(xByte) End Sub
バイト配列の「x2」には20個分の配列として値が返されます。
=====
2015/03/20:の時の情報