MW211 EXIT

devlog
MicrosoftExcelの小ネタ(3)
2011年09月12日
「ScrollLock」キーをONにすると、
「↑、↓」で画面全体を一行上下させることができる。
この時、選択しているセルの位置は上下に移動しない。
(隣のセルを選択せずに選択中のセルをそのまま選択し続ける)

「PageUp、PageDown」だとひと固まり(一頁)分画面が上下するが、
「ScrollLock」+「↑、↓」の場合は、一行ずつ上下する。

ちなみに、「Ctrl」+「ScrollLock」+「↑、↓」で
「PageUp、PageDown」と同等の動きになる。

「ScrollLock」キーは基本的に「OFF」にしておいた方がいいみたい。
分類:Excel
Excel/提出資料のカーソル位置合わせ
2011年09月11日
複数のシートをもつExeclブックについて、
全シートを左上のセルにカーソル位置をあわせる方法。

(1) 「ctrl」を押しながら「PageDown」を連打して最後のシートに移動する。
    →マウスで最後のシートを選択してもいい
(2) 「ctrl」を押しながら「Home」と「PageUp」を交互に連打して
    先頭シートまで進む(最後は「Home」)。

つまり、こんな感じ(慣れれば自然に操作できてしまう)。
  「ctrl」+「PageDown」
    :(繰り返し)
  「ctrl」+「PageDown」
  「ctrl」+「Home」
  「ctrl」+「PageUp」
    :(繰り返し)
    :(繰り返し)
  「ctrl」+「Home」
  「ctrl」+「PageUp」
  「ctrl」+「Home」

ビジネス文書で各シートのカーソル位置が統一されていると、好感度アップ間違いなし。
「Home」キーとかがないノートパソコンキーボードだと、
いろいろなキーを駆使しなければならなくややこしいのでマクロの方が楽かも。
分類:Excel
Safari向けのJavaScriptコーディング
2011年09月10日
JavaScriptの記述領域を目立たせるために、コメントで囲ってみた。

例えば、以下のように。
┌──────────────────────────────────────┐
│<script type="text/javascript"><!-- /*──────────────────*/│
│※JavaScriptのソースをここに記述                                            │
│※JavaScriptのソースをここに記述                                            │
│※JavaScriptのソースをここに記述                                            │
│/*──────────────────────────────*/--></script>│
└──────────────────────────────────────┘

Safariだけダメだったorz。

┌──────────────────────────────────────┐
│/*──────────────────────────────*/--></script>│
└──────────────────────────────────────┘
を
┌──────────────────────────────────────┐
│--></script><!--──────────────────────────── -->│
└──────────────────────────────────────┘
にすれば、SafariもOKだった。

コメント記述についてシビアみたいだ。
分類:ブラウザ
Smarty/プルダウンメニュー
2011年09月09日
Smartyでプルダウンメニューを作成する例。

テンプレート側で以下のような感じで定義しておく。
┌──────────────────────────────────────┐
│<select name="pulldown">                                                    │
│<option value="">&nbsp;</option>                                            │
│{foreach from=$choices key=key item=value}                                  │
│<option value="{$key|escape}"
  {if $key == $default} selected="selected"{/if}>{$value|escape}</option>     │
│{/foreach}                                                                  │
│</select>                                                                   │
└──────────────────────────────────────┘

選択肢を以下のような連想配列として、Smartyにassignする。
┌──────────────────────────────────────┐
│$choices = array(                                                           │
│  1 => '北海道',                                                            │
│  2 => '青森県',                                                            │
│  3 => '岩手県'                                                             │
│);                                                                          │
└──────────────────────────────────────┘

初期表示値をSmartyにassignする。
#選択して(更新などを経て)再表示された場合などを想定
┌──────────────────────────────────────┐
│$default = 2;                                                               │
└──────────────────────────────────────┘

すると以下のようなイメージのプルダウンメニューが作成される。
┌──────────────────────────────────────┐
│          ┌───┐                                                        │
│          │      │→値は''                                                │
│          │北海道│→値は'1'                                               │
│初期表示→│青森県│→値は'2'                                               │
│          │岩手県│→値は'3'                                               │
│          └───┘                                                        │
└──────────────────────────────────────┘

ソースコードは以下のようになっている。
┌──────────────────────────────────────┐
│<select name="pulldown">                                                    │
│<option value="">&nbsp;</option>                                            │
│<option value="1">北海道</option>                                           │
│<option value="2" selected="selected">青森県</option>                       │
│<option value="3">岩手県</option>                                           │
│</select>                                                                   │
└──────────────────────────────────────┘
分類:Smarty
PHP/改行の表示
2011年09月08日
「<br/>タグ」を「改行コード(\n)」に変換するには、「br2nl()」を使う
例)$data = nl2br($html);

「改行コード(\n)」を「<br/>タグ」に変換するには、「nl2br()」を使う
例)$html = nl2br($data);

(DB内などの)データとしては「改行コード(\n)」で管理し、
表示する時には「<br/>タグ」で出力するという感じ。

但し、「<input>タグ」で入力される場合、
ユーザは「<br/>タグ」なんか入力しない(改行で入力する)ので
使用頻度的には以下なのかもしれない。
  「br2nl()」<「nl2br()」

個人的には、「nl2br()」で変換なんかせずに、「<pre></pre>タグ」で囲っちゃって
そのまま出力してしまった方が使い勝手はいいような気がする。
若干、単細胞な感じだけどね。
ちなみに当blogも見た目重視で「<pre></pre>タグ」を採用しています。
なってたって固定フォントの字下げが生命線ですから。
分類:PHP
C言語/先頭0埋めの罠
2011年09月07日
C言語においてソース上に以下の表記をした場合、以下の値となる。

    「10」→「10」(10進数とみなされるため)
   「010」→「 8」( 8進数とみなされるため)
  「0x10」→「16」(16進数とみなされるため)

意外に見落としがちなのが、8進数の表記。
つい先頭位置合わせで以下のような記述をしてしまいがちだ。

   a = 0012;
   b = 0123;
   c = 1234;

この場合、aは12に、bは123には…当然ながらならない。
ちなみにこの先頭0埋めのことを「ゼロサプレス」…とは言わないから合わせて注意。
(っていうかこの文章を書いていて気づいた)
「ゼロサプレス」は「12→0012」ではなく、「0012→12」のことをさす。
「12→0012」のことは、「ゼロパディング」という。
分類:C/C++、注意
PostgreSQL/連番初期化
2011年09月06日
PostgreSQLのAutoNumber機能(bigserial型など)を、
「1」に初期化するSQL文は以下のとおり。
┌──────────────────────────────────────┐
│ALTER SEQUENCE AutoNumber用列名 RESTART WITH 1;                             │
└──────────────────────────────────────┘
なお、下記でも代用できる。
┌──────────────────────────────────────┐
│SELECT SETVAL ('AutoNumber用列名', 1, false);                               │
└──────────────────────────────────────┘
この場合、第一引数の「AutoNumber用列名」を「'」で囲うことに注意。
また、第三引数に「SELECT SETVAL」の「is_called」を抑制する
「false」指定を行わないと、一件目の挿入データが「2」から始まってしまうので
こちらも注意が必要である。

なお、「TRUNCATE TABLE」で表を初期化する場合には、
「RESTART IDENTITY」オプションを付加してあげれば、上記のことをやってくれる。
┌──────────────────────────────────────┐
│TRUNCATE TABLE 表 RESTART IDENTITY;                                         │
└──────────────────────────────────────┘
分類:PostgreSQL
$_GET、$_POST、$_SESSIONの違い
2011年09月05日
$_GET
・aタグのhref属性などのリンク先URLに簡単に埋め込める(→テキストリンク系)
・多数の明細中にある各リンクなどに向いている
・抽出や検索など公開性の高い処理に向いている
・ブラウザのURL入力欄から簡単に入力できる
・情報が表に出やすい
・情報を引き継ぎにくい(ただしパラメータ付きURLをそのまま引き継げる)
・ブックマークにパラメータも含めて記録させることができる

$_POST
・form内でsubmitする必要がある(→ボタン系)
・一画面中に一つの(決定)ボタンなどに向いている
・更新など公開性の低い処理に向いている
・情報を非常に引き継ぎにくい(hidden属性で伝言していかねばならない)

$_SESSION
・PHPプログラム内でしか設定できない
・ログイン情報など気密性の高い処理に向いている
・情報を引き継ぎやすい
・その反面、情報を適宜クリアする必要(ゴミの掃除)が発生する

          ┌─────┬─────┬─────┐
          │  $_GET   │  $_POST  │$_SESSION │
          ├─────┼─────┼─────┤
入力容易性│    ○    │    △    │    △    │
          ├─────┼─────┼─────┤
隠蔽性    │    △    │    ○    │    ○    │
          ├─────┼─────┼─────┤
情報持続性│    △    │    ×    │    ○    │
          └─────┴─────┴─────┘
分類:PHP
PHP/GETにGET
2011年09月04日
┌──────────────────────────────────────┐
│<form method="post" action="a.php?b=c">                      →「a.php?b=c」│
└──────────────────────────────────────┘
formのaction属性で指定するURLにGETパラメータを付加した場合
POSTの場合は、GETパラメータが引き継がれる。

しかし、GETの場合はクリアされてしまう。
┌──────────────────────────────────────┐
│<form method="get" action="a.php?b=c">                           →「a.php」│
└──────────────────────────────────────┘
(雪だるま式に)GET転がしができるかと思ったら、大間違い。
POSTではうまくいってもGETに変えたらハマってしまうってことがあるので要注意。

回避策としては「<input type="hidden"~」に切り換える。
┌──────────────────────────────────────┐
│<form method="get" action="a.php">                           →「a.php?b=c」│
│<input type="hidden" name="b" value="c">                                    │
└──────────────────────────────────────┘
分類:PHP、注意
PHP/submitボタンのタイトルをGETパラメータから除外する方法
2011年09月03日
formでGET送信(<form method="get")する場合、
以下のようにsubmitボタンのタイトルが長かったりすると、
┌──────────────────────────────────────┐
│<input type="submit" name="submit" value="とっても長いボタン名"/>           │
└──────────────────────────────────────┘

URL上に以下のように、その長いタイトルがエンコードされ埋め込まれてしまい
邪魔だと思ったことはありませんか?
┌──────────────────────────────────────┐
│….php?…&submit=%E3%81%A8%E3%81%A3%E3%81%A6%E3%82%82%E9%95%B7%E3%81%84%E3…│
└──────────────────────────────────────┘

解決方法はname属性をなくすことです。
┌──────────────────────────────────────┐
│<input type="submit" value="とっても長いボタン名"/>                         │
└──────────────────────────────────────┘

URL上から「submit=」自体がなくなります。

っていうか、元々が(他からコピペしてきたため)
name属性の意味を考えてない単純ミスなんですけどね。
分類:PHP
前へ 1 … 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 次へ