MARCO's FREE MEMO

携帯フォトや備忘録などをちょこっと…

カレンダー表示

2005年09月22日 13時15分16秒 | JSP(Java)
カレンダーを表示させる関数

public String DispCalendar(int PYY,int PMM) {
String res = "<b>"+PYY+"年"+PMM+"月</b><br>";
PMM--;
Calendar cal = Calendar.getInstance();
cal.set(PYY,PMM,1);
int you = cal.get(Calendar.DAY_OF_WEEK)-1;
cal.add(Calendar.MONTH,1);
cal.add(Calendar.DATE,-1);
int maxd=cal.get(Calendar.DATE);

res=res+"<table border=0><tr align=right><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr>";
int d=0;
res=res+"<TR align=right>";
for(int i=0;i < 42;i++){
if((i < you) || (d >= maxd)){
res=res+"<TD></TD>";
}
else{
d++;
res=res+"<TD>"+d+"</TD>";
if((i%7)==6){
res=res+ "</TR>";
res=res+"<TR align=right>";
}
}
res=res+ "</table>";

return res;
}

年と月をパラメータとしてコールするとその月のカレンダーを返す。

他のプログラム言語でも1日の曜日とその月の日数を計算できれば同じように使える(はず)。
日曜と土曜の色を変える場合は(i%7)の値で条件分岐させればよい。

今度はJavaScriptで作ってみるかな?

スタイルの定義

2005年09月15日 21時55分49秒 | HTML Style
最近、お気に入りのテーブル設定はヘッダに記述するパターンである。

<STYLE TYPE="text/css">
<!--
  table { font-size:10pt;color:#003300; }
  span { font-size:8pt ;color:#eeeeee; }
  body { font-size:9pt ;color:#888888; }
-->
</STYLE>

これだとブラウザの文字サイズを変更しても表示は変わらない。
あちこちに<font color=...>という記述を書かなくて済む。
スタイルシートを勉強するともっと便利なんだろうなあ・・・

#今日は空がきれいだった

迷惑カキコ防止

2005年09月10日 09時34分29秒 | perl
結構困っている人が多いようなのでperlである程度防御する掲示板を作ろうかな、と思っている。

仕様としては
1、文字数の制限
 一度に大量の入力をされるのを拒否
2、短時間連続投稿禁止
 あらし対策
3、IPアドレスの自動記録
 禁止行為を一定回数以上行ったIPアドレスを記録して入力を不可とする

無意味な営業カキコを何とか阻止するアイデアはないものだろうか・・・。


一行で書いてみた

2005年09月06日 12時31分58秒 | JSP(Java)
Aという変数が0か1の値の時、Bは逆の値にしたい時

普通に
if(A == 0){
B = 1;
}else{
B = 0;
}
でいいのだが、なんとなく一行ですませたくなって
B = A * (-1) + 1;
と書いてしまった。

ソースを分かりやすく書くという目的ではかなり邪道。ただ面白がってるだけです。

そういえば「三項演算子」っていうのがあったよなあ。
B = (A == 0)? 1 : 0;
でいいのかな?ほとんど使ったことがないので、試してみようっと。


PHPに挑戦

2005年09月03日 22時47分26秒 | Weblog
PHPとMySQLでアプリケーションを作りながら学習したいと思う。

と1ヶ月くらい前に思って最初に接続のテストをしようとしたら、なんだかこんなに時間がかかってしまいました(T_T)

http://marco.s4.xrea.com/php/mysql.php

ソースは
<?
print("<HTML>\n");
print("<HEAD>\n");
print("<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=\"Shift_JIS\">\n");
print("<TITLE>mysql.php</TITLE>\n");
print("</HEAD>\n");
print("<BODY>\n");

$dbUser = "user";
$dbPass = "pass";
$dbHost = "localhost";
$dbName = "dbname";

// 接続
$connection = mysql_connect($dbHost, $dbUser, $dbPass) or die ("MySQL接続に失敗 (T.T)");
mysql_select_db($dbName) or die ("データベースに接続できません。");

//SQLを実行
$sql = "SELECT * FROM TESTA";
$result = mysql_query($sql) or die ("SQL構文にエラーがあります。: $sql.". mysql_error());

//データベースの中身を表示
while ($row = mysql_fetch_row($result)){
print("$row[0] : $row[1] - $row[2]
\n");
}
// その他の情報を表示
print(mysql_num_rows($result) . " 件のデータを表示しました。\n");
mysql_close($connection);

print("</BODY>\n");
print("</HTML>\n");
?>

まあ、サンプルをいくつか「まるコピ」ですが(汗)

「学ぶ」は「真似る」から始まるのです(ふふん♪)←言い訳