SSブログ

うるう年の判定をする [C#]

うるう年の判定は、4で割り切れたらうるう年だけど、
100で割り切れる場合はうるう年じゃなくて、400で割り切れる場合はうるう年
(1900年はうるう年じゃないが、2000年はうるう年)の用にちょっと面倒だが、
DateTime.IsLeapYearを使えば一発で判定できて楽です。

//tbx_yearというテキストボックスに判定する年を数値で入れる。
int intYear = Convert.ToInt32(tbx_year.Text);
bool blnLeapYear = DateTime.IsLeapYear(intYear);

if (blnLeapYear)
{
   Response.Write("うるう年です。");
}
else
{
   Response.Write("うるう年ではありません。");
}

ASP.NETでCSV形式のファイルをダウンロードさせる [ASP.NET]

関連記事:ASP.NETでJSファイルを生成する

ASP.NETで動的にCSVファイルを生成して、それをダウンロードさせる方法。
ContentTypeをapplication/octet-streamにして、ファイル名をjsの時と同じく新たに定義する。

C#:

protected void Page_Load(object sender, EventArgs e)
{
   // ダウンロード用ファイルの名前を設定
   Response.AddHeader("Content-Disposition",
      "attachment;filename=test.csv"
);
   //ダウンロードデータとして設定
   Response.ContentType = "application/octet-stream";
   //エンコードの指定
   System.Text.Encoding enc =
      System.Text.Encoding.GetEncoding("Shift-JIS");

   string strOutdata = "";
   strOutdata += "れうるーら,おはよう,こんにちは,こんばんは,おやすみ\r\n";
   strOutdata += "さだらーん,ぐっどもーにんぐ,はろー,ぐっといぶにんぐ,ぐっとないと\r\n";
   strOutdata += "ぐわじん,hi!!,hello!!,hahaha!!,zzz...\r\n";

   //バイナリーで出力
   Response.BinaryWrite(enc.GetBytes(strOutdata));
   Response.End();
}

参考:CSVのファイルを生成してダウンロードするには?


ページ読み込み完了後に処理を行う [ASP.NET]

.NET Framework2.0より、Page.LoadCompleteイベントが追加され、
ページの読み込みが完了した後にLoadCompleteイベントが発生する。
ページの読み込みが完了した後に何か処理をさせたい場合は、Page_LoadComplete内に記述。

protected void Page_Load(object sender, EventArgs e)
{
   //ページロード処理
}


//ページ読み込み完了後の処理
protected void Page_LoadComplete(object sender, EventArgs e)
{
   if (!IsPostBack)
   {
    Response.Write("LoadComplete");
   }
}


SELECT文中のCASE文 [SQL]

データベースからデータを出力してDataGrid等にバインドする際、
データの値によって表示文字を変えようとした場合、
データベースからの結果出力時にCASE~WHEN文を使って、出力結果を変える。

SELECT id,name,price,
    CASE shop
      WHEN '0' THEN 'セブンイレブン'
      WHEN '1' THEN 'ローソン'
      WHEN '2' THEN 'ファミリーマート'
      WHEN '3' THEN 'サークルKサンクス'
      WHEN '4' THEN 'ミニストップ'
      WHEN '5' THEN 'ampm'
      ELSE 'その他'
    END AS shop FROM TBL_GOODS WHERE (price > 500)

----------------------------------------------
出力結果
id   name      price   shop
001  焼肉弁当    520   セブンイレブン
002  シュウマイ弁当 550   ローソン
005  うな重      800   ミニストップ
----------------------------------------------
※あくまで例です。


WebRequestとWebResponseでWeb情報を取得 [C#]

Windowsアプリケーション、またはASP.NETによるWebアプリケーションから、
WebRequestとWebResponseを使用してデータを取得する。

//取得するデータのURL
string strUrl = "http:⁄⁄localhost/request.aspx";
//エンコードの指定
System.Text.Encoding enc = System.Text.Encoding.GetEncoding("Shift_JIS");

//WebRequestの作成
System.Net.WebRequest wReq = System.Net.WebRequest.Create(strUrl );
//応答を受信するWebResponse
System.Net.WebResponse wRes = wReq.GetResponse();

//取得したレスポンスのストリームを取得
System.IO.Stream st = wRes.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(st, enc);

string strResult = sr.ReadToEnd();

sr.Close();
st.Close();

Response.Write(strResult);

Flashの右クリックメニュー内の設定...の無効化について [Flash]

関連記事:Flashの右クリックメニューをカスタマイズする
       Flashの右クリックメニューを禁止する

結論から言うと、右クリックメニューで表示される「設定...」の項目はいじれない模様。
>コンテキストメニューから [設定] メニューアイテムを削除することはできません。
>[設定] メニューアイテムは、ユーザーがプライバシーやコンピュータの記憶領域に
>作用する設定にアクセスできるようにするための、Flash に必須のメニューアイテムです。
ActionScript 2.0 リファレンスガイド -ContextMenuより引用。

じゃあ何故、バナー広告として貼り付けられているSWFや、
ブログパーツで使われているSWFには「設定...」の項目が無効化されているのだろうか・・・?
と思ったところ、どうやら「設定...」をクリックして表示される設定マネージャの大きさより、
ムービーが小さいと「設定...」の項目が無効になるようです。
確かにそうだよな・・・。

ちなみに、ムービーのサイズがwidth=214以下またはheight=137以下になると
「設定...」のメニューが無効化されます。


外部CSSを読み込んでTextFieldに設定する [ActionScript]

外部のCSSファイルを読み込んで、FlashのTextFieldにスタイルシートを適用する方法。
その際、テキストフィールドはhtmlプロパティをtrueにし、
入力テキストはhtmlTextにタグを含めた文字を設定する。
そしてスタイルシートが適用されたTextFieldは読み取り専用になってしまう。

style = new TextField.StyleSheet();
style.onLoad = function(success){
   if(success){
    css_txt.styleSheet = style;
    css_txt.html = false;
    css_txt.htmlText = "<div>こんにちは♪</div>";
   }
}
style.load("design.css");


CSS:

div{color:#0000ff;font-size:16px;text-align:center;}


SWFUploadの新しいソースとFlashDevelop [Flash]

関連記事:SWFUpload

SWFUploadのバージョンが1.0.2になってソースコードをダウンロードしたところ、
fla形式のファイルが無く、fdp形式のファイルが入ってます。
これは、こちらでダウンロードできるFlashDevelopで開けるプロジェクトの様です。

FlashDevelopについてはこちら。AS3も使えるみたいです。
FlashDevelopをActionScript3のIDEとして使う
func09 FlashDevelop環境で、AS3を開発してみる。
Flashmagazine FlashDevelop 2.0

英語苦手だけど・・・。


JSファイルにJSファイルをインクルードする [JavaScript]

通常複数のjsファイルをHTMLにインクルードする場合は、
<script type="text/javascript" src="aaa.js"></script>
<script type="text/javascript" src="bbb.js"></script>
の様にscriptタグをjsファイル分記入すれば事足りるが、
HTMLに記述するscriptタグを1つにして、そのjsファイル内で他のjsファイルをインクルードする方法。

HTML:

<script type="text/javascript" src="aaa.js"></script>


aaa.js:

document.write("<script type='text/javascript' src='bbb.js'></script>");"
document.write("<script type='text/javascript' src='ccc.js'></script>");"

または、

aaa.js:

function include(astrFile)
{
  var script = document.createElement('script');
  script.src = astrFile;
  script.type = 'text/javascript';
  script.defer = true;
  document.getElementsByTagName('head').item(0).appendChild(script);
}
include('bbb.js');
include('ccc.js');


ASP.NETでJSファイルを生成する [ASP.NET]

ASP.NETで、ContentTypeをapplication/x-javascriptにして出力し、
動的にJSファイルを生成する方法。

HTML:
<html>
<head>
<title>サンプル</title>
<script type="text/javascript" src="sample.aspx?q=abc"></script>
</head>
<body>
<script type="text/javascript">funcOutput();</script>
</body>
</html>


C#:
protected void Page_Load(object sender, EventArgs e)
{
  //ここで出力用のファイル名を定義する。ここではsample.jsというファイル名で出力する
  Response.AddHeader("Content-Disposition","attachment;filename=sample.js");
  //ContentTypeをapplication/x-javascriptに設定する
  Response.ContentType = "application/x-javascript";

  //JavaScriptのコードを記入。
  //この辺をホントはもっと動的に生成

  string strJs = "function funcOutput(){";
  strJs += "alert('" + Request.QueryString["q"] + "');";
  strJs += "}";
  Response.Write(strJs);
  Response.End();
}

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。