public virtual void FrmCommon_Enter(object sender, EventArgs e)
{
if (sender is TextBox)
{
//senderオブジェクトをテキストボックスに変換する
TextBox text = (TextBox)sender;
}
}
作成者別アーカイブ: admin
キー入力、KeyPressイベントをすべてフォームが受け取るようにする
private void Button1_Click(object sender, System.EventArgs e)
{
//フォームのKeyPreviewを切り替える
this.KeyPreview = true; //trueを設定するとフォームがイベントを受け取れるようになる
Console.WriteLine(“KeyPreview:” + this.KeyPreview.ToString());
}
日付、日時(DateTime)オブジェクトから日付や時間、曜日の情報を取得する
VB
‘2000年9月30日13時15分30秒を表すDateTimeオブジェクトを作成する
Dim dt As New DateTime(2000, 9, 30, 13, 15, 30)
‘年を取得する。「2000」となる。
Dim year As Integer = dt.Year
‘月を取得する。「9」となる。
Dim month As Integer = dt.Month
‘日を取得する。「30」となる。
Dim day As Integer = dt.Day
‘時間を取得する。「13」となる。
Dim hour As Integer = dt.Hour
‘分を取得する。「15」となる。
Dim minute As Integer = dt.Minute
‘秒を取得する。「30」となる。
Dim second As Integer = dt.Second
‘ミリ秒を取得する。「0」となる。
Dim millisecond As Integer = dt.Millisecond
‘曜日を取得する。「DayOfWeek.Saturday」となる。
Dim week As DayOfWeek = dt.DayOfWeek
‘Int32型にキャストする。「6」となる。
Dim weekNumber As Integer = CInt(dt.DayOfWeek)
‘曜日を文字列で取得する
‘省略された曜日名で取得する。「土」となる。
Dim strWeek1 As String = dt.ToString(“ddd”)
‘完全な曜日名で取得する。「土曜日」となる。
Dim strWeek2 As String = dt.ToString(“dddd”)
‘「2000/09/30 0:00:00」のDateTimeオブジェクトを作成する
Dim dtd As DateTime = dt.Date
‘時刻の部分を取得する。「13:15:30」となる。
Dim dtt As TimeSpan = dt.TimeOfDay
‘年間積算日を取得する。「30」となる。
Dim doy As Integer = dt.DayOfYear
C#
//2000年9月30日13時15分30秒を表すDateTimeオブジェクトを作成する
DateTime dt = new DateTime(2000, 9, 30, 13, 15, 30);
//年を取得する。「2000」となる。
int year = dt.Year;
//月を取得する。「9」となる。
int month = dt.Month;
//日を取得する。「30」となる。
int day = dt.Day;
//時間を取得する。「13」となる。
int hour = dt.Hour;
//分を取得する。「15」となる。
int minute = dt.Minute;
//秒を取得する。「30」となる。
int second = dt.Second;
//ミリ秒を取得する。「0」となる。
int millisecond = dt.Millisecond;
//曜日を取得する。「DayOfWeek.Saturday」となる。
DayOfWeek week = dt.DayOfWeek;
//Int32型にキャストする。「6」となる。
int weekNumber = (int)dt.DayOfWeek;
//曜日を文字列で取得する
//省略された曜日名で取得する。「土」となる。
string strWeek1 = dt.ToString(“ddd”);
//完全な曜日名で取得する。「土曜日」となる。
string strWeek2 = dt.ToString(“dddd”);
//「2000/09/30 0:00:00」のDateTimeオブジェクトを作成する
DateTime dtd = dt.Date;
//時刻の部分を取得する。「13:15:30」となる。
TimeSpan dtt = dt.TimeOfDay;
//年間積算日を取得する。「30」となる。
int doy = dt.DayOfYear;
キャストによる型変換 ある型の値を別の型に変換する
//float型をint型に変換
float f = 1.5f;
int i = (int)f;
//”1″と表示される
Console.WriteLine(i);
さくらインターネットでCakePHPを動作 「500 Internal Server Error」
さくらインターネットでの問題点
マルチドメインの設定でCakePHPを動かすと、「500 Internal Server Error」で動かなくなる。
例)sampdomain ディレクトリにCakePHPをインストールし、「http://sampdomain.example.com/」のようにサブドメインとして設定し、動作させた場合。
以下のように、CakePHP内の3つの.htaccess に RewriteBase を追記することで、この問題は解決できる。
CakePHP内の3つの.htaccess に RewriteBase を追記する。
■home/アカウント/www/sampdomain/.htaccess
RewriteEngine on
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
■home/アカウント/www/sampdomain/app/.htaccess
RewriteEngine on
RewriteBase /app
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
■home/アカウント/www/sampdomain/app/webroot/.htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
コントロールパネルの「ドメイン設定」で、マルチドメインの設定を確認する
※マルチドメインのパス「/sampdomain」の後にはスラッシュを入れてはダメです。
ドメイン名 ウェブ
example.sakura.ne.jp★ マルチドメイン /
example.com マルチドメイン /
sampdomain.example.com マルチドメイン /sampdomain
TextBoxやRichTextBoxで文字列の最後の行までスクロールさせる方法
VB.NET
‘カレット位置を末尾に移動
TextBox1.SelectionStart = TextBox1.Text.Length
‘テキストボックスにフォーカスを移動
TextBox1.Focus()
‘カレット位置までスクロール
TextBox1.ScrollToCaret()
C#
//カレット位置を末尾に移動
TextBox1.SelectionStart = TextBox1.Text.Length;
//テキストボックスにフォーカスを移動
TextBox1.Focus();
//カレット位置までスクロール
TextBox1.ScrollToCaret();
DoEventsを行う 画面を「応答無し」にしない方法
VB.NET
‘メッセージキューに現在あるWindowsメッセージをすべて処理する
System.Windows.Forms.Application.DoEvents()
C#
//メッセージキューに現在あるWindowsメッセージをすべて処理する
System.Windows.Forms.Application.DoEvents();
C#で メモ帳を起動する
//メモ帳を起動する
System.Diagnostics.Process p = System.Diagnostics.Process.Start(“notepad.exe”);
//コマンドライン引数に「”C:\test\1.txt”」を指定してメモ帳を起動する
System.Diagnostics.Process.Start(“notepad.exe”, @”””C:\test\1.txt”””);
//Excelファイルを起動する
System.Diagnostics.Process.Start(“excel.exe”, “C:\test\test.xls”);
Oracleのロックを解除。ORA-00054: リソース・ビジー
oracle使っていてロックがかかりっぱなしのテーブル。といったことはご経験がおありかと
ロックしたテーブルが発生すると解除まで結構時間がかかりますよね。
データベースのインポートする時にtruncateしようとすると、
「ORA-00054: リソース・ビジー、NOWAITが指定されていました。」
とか表示されたりします。
さて、解決方法を探しました。
簡単簡単。
表をロックしているセションを解除すればOKです。
— ロックしているセッションを探す
SELECT SID, SERIAL# FROM V$SESSION
WHERE SID IN (
SELECT SID FROM V$LOCK
WHERE TYPE IN (‘TM’,’TX’)
)
上記SQLでセションIDとシリアルナンバーを取得します。
その後、取得した値を使ってセッションを切断すればよい。
— セッションを切断
alter system kill session ‘[SID], [SERIAL#]’
ですが、これでもダメな方は。。。ロックを解除できなければ、
DBサーバにログインしてOracleのサービスを再起動しましょう。
これでさすがに解決されると思います。
もちろん少しの間DBは使えなくなり、、、まぁ最悪ですがね。
トランザクションなど全ての処理が止まるので
今回のようにテスト環境以外ではよほどの緊急時じゃないかぎりNGですよね。
スタイルで要素を最前面に表示する|(css jquery)
DIV等の要素が重なっている場合に、特定の要素を動的に最前面に表示する方法です。
要素の重なり順を制御するためにスタイルにz-indexがあります。この値を適切に設定すれば、要素の順番を制御することができます。
<div id=”A” style=”z-index=20;width: 100px; 100px;background-color: Red;” /div>
<div id=”B” style=”z-index=10;width: 100px; 100px;background-color: Blue;” /div>
$(document).ready(function(){
$(‘#img-dtl13′).hover(function(){
$(this).css({ position:’absolute’,zIndex:1000 });
}, function(){
$(this).css({ position:’absolute’,zIndex:1 });
});
”position”指定しないと、ききませんから!
ここで相当ハマった。。。