データ型

Posted by muchag | ActionScript 3.0 |
初回投稿:2010-06-20 (日) 1:18:08 | 最終更新:2010-07-25 (日) 18:45:01

Actionscript 3.0 におけるデータ型について。
cf) データ型(AS2)

プリミティブデータ型

単一の値を保持。

データ型 説明
Boolean Boolean データ型は、true と false の 2 つの値で構成されます。Boolean 型の変数に有効な値は、この 2 つだけです。宣言されているが、初期化されていない Boolean 変数のデフォルト値は false です。
int int データ型は、32 ビット整数として内部に保存され、-2,147,483,648 (-231) ~ 2,147,483,647 (231 – 1) (両端を含む) の整数のセットで構成されます。旧バージョンの ActionScript には、整数と浮動小数点数の両方に使用する Number データ型しかありませんでした。ActionScript 3.0 では、32 ビット符号付および符号なし整数の低レベルマシン型にアクセスすることができるようになりました。変数が浮動小数点数を使用しない場合、Number データ型ではなく int データ型を使用する方が速く、効率的です。

最小 int 値と最大 int 値の範囲外の整数値の場合は、Number データ型を使用します。Number データ型では、-9,007,199,254,740,992 ~ +9,007,199,254,740,992 の値 (53 ビット整数値) を処理できます。int データ型である変数のデフォルト値は 0 です。

Null Null データ型は、1 つの値 null だけで構成されます。これは、String データ型および Object クラスを含む複合データ型を定義するすべてのクラスのデフォルト値です。Boolean、Number、int、uint などの他のプリミティブデータ型には、値 null は含まれません。Flash Player では、Boolean、Number、int、または uint 型の変数に値 null を割り当てようとすると、null は該当するデフォルト値に変換されます。このデータ型を型注釈として使用することはできません。
Number ActionScript 3.0 では、Number データ型は、整数、符号なし整数、および浮動小数点数を表すことができます。ただし、パフォーマンスを最大化するために、32 ビット int および uint 型より大きい整数値に対してのみ、Number データ型を使用する必要があります。また、Number データ型には、浮動小数点数を格納することができます。浮動小数点数を格納するには、数値に小数点を含めます。小数点を省略すると、数値は整数として格納されます。

Number データ型では、2 進数浮動小数点計算のための IEEE 規格 (IEEE-754) で指定されている 64 ビット倍精度フォーマットを使用します。この規格では、64 ビットを使用して浮動小数点数を格納する方法が指定されています。1 ビットを使用して数値が正か負かを指定します。指数には 11 ビットが使用され、2 を底として格納されます。残りの 52 ビットは、指数で指定される累乗した数値である “仮数部” (“仮数” とも呼ばれます) を格納するために使用されます。

Number データ型では、ビットの一部を使用して指数を格納することで、仮数のビットすべてを使用する場合より大きな浮動小数点数を格納できます。たとえば、Number データ型で 64 ビットすべてを使用して仮数を格納した場合は、265 – 1 の数値を格納できます。Number データ型では、11 ビットを使用して指数を格納することで、仮数を 21023 乗できます。

Number 型が表すことができる最大値と最小値は、Number.MAX_VALUE および Number.MIN_VALUE と呼ばれる Number クラスの静的プロパティに格納されます。

Number.MAX_VALUE == 1.79769313486231e+308
Number.MIN_VALUE == 4.940656458412467e-324

この数値の範囲が膨大である一方で、この範囲の精度が犠牲になっています。Number データ型では、仮数の格納に 52 ビットを使用します。その結果、分数 1/3 など、正確に表すためには 53 ビット以上必要な数値は近似値にしかなりません。アプリケーションで小数値を持つ絶対精度が必要な場合、2 進浮動小数点数計算ではなく、10 進浮動小数点計算を実装するソフトウェアを使用する必要があります。

Number データ型で整数値を格納する場合、仮数の 52 ビットだけが使用されます。Number データ型は、これらの 52 ビットと特殊な非表示のビットを使用して、-9,007,199,254,740,992 (-253) ~ 9,007,199,254,740,992 (253) の整数を表します。

Flash Player では、Number 型の変数のデフォルト値としてだけではなく、数値を返す必要があるが返さない演算の結果としても、NaN 値を使用します。たとえば、負の数値の平方根を計算しようとすると、その結果は NaN になります。その他の特殊な Number の値には “正の無限大” と “負の無限大” があります。

メモ:0 による除算の結果は、除数も 0 の場合、NaN だけです。0 による除算の結果は、被除数が正の場合に “正の無限大”、被除数が負の場合に “負の無限大” となります。

String String データ型は、16 ビット文字のシーケンスを表します。ストリングは、UTF-16 形式を使用して、Unicode 文字として内部的に格納されます。ストリングは、Java プログラミング言語の場合と同様に不変値です。String 値を操作すると、ストリングの新しいインスタンスが返されます。String データ型で宣言される変数のデフォルト値は null です。両方とも文字列が存在しないことを表しますが、値 null は、空のストリング (“”) と同じではありません。
uint uint データ型は、32 ビット符号なし整数として内部に保存され、0 ~ 4,294,967,295 (232- 1) (両端を含む) の整数のセットで構成されます。負以外の整数が必要な特別な場合に、uint データ型を使用します。たとえば、ピクセルカラー値を表すためには uint データ型を使用する必要があります。これは、int データ型にはカラー値の処理には適していない内部符号ビットがあるためです。最大 uint 値より大きな整数値には、53 ビット整数値を処理できる Number データ型を使用します。uint データ型の変数のデフォルト値は 0 です。
複合データ型(リファレンスデータ型)

複数のプロパティを持ち、それぞれの値を保持。
デフォルトで用意されているArrayクラスなどの他、独自クラスを作って複合データ型とすることが可能。

データ型 説明
void void データ型は、1 つの値 undefined だけで構成されます。旧バージョンの ActionScript では、undefined は Object クラスのインスタンスのデフォルト値でした。ActionScript 3.0 では、Object インスタンスのデフォルト値は null です。値 undefined を Object クラスのインスタンスに割り当てようとすると、Flash Player ではこの値は null に変換されます。型指定されていない変数には、undefined という値のみを割り当てることができます。型指定されていない変数は、型注釈がないか、型注釈にアスタリスク記号 (*) が使用されている変数です。void は、戻り値の型注釈としてのみ使用することができます。
Object Object データ型は Object クラスによって定義されます。Object クラスは、ActionScript のすべてのクラス定義の基本クラスです。ActionScript 3.0 の Object データ型は、次の 3 つの点で旧バージョンとは異なります。1 つ目は、Object データ型は、型注釈のない変数に割り当てられるデフォルトのデータ型ではなくなりました。2 つ目は、Object データ型には、Object インスタンスのデフォルト値であった値 undefined が含まれなくなりました。3 つ目は、ActionScript 3.0 では、Object クラスのインスタンスのデフォルト値が null になった点です。

旧バージョンの ActionScript では、型注釈のない変数には自動的に Object データ型が割り当てられていました。ActionScript 3.0 ではこれは行われず、真に型指定されていない変数の概念が導入されました。型注釈のない変数は、型が指定されていないと見なされます。コード内で変数の型を指定しないままにしておくことを明確に示す場合、型注釈に新しくアスタリスク記号 (*) を使用することができます。これは、型注釈を省略するのと同じことを示します。次の例は、いずれも型指定されていない変数 x を宣言する 2 つの同等のステートメントを示します。

var x
var x:*

型指定されていない変数だけが値 undefined を保持することができます。値 undefined をデータ型が指定されている変数に割り当てようとすると、Flash Player は値 undefined をそのデータ型のデフォルト値に変換します。Object データ型のインスタンスでは、デフォルト値は null です。これは、Object インスタンスに undefined を割り当てようとすると、Flash Player が値 undefined を null に変換することを意味します。

<引用元>
livedocs.adobe.com:データ型の記述

Posted by muchag | ActionScript 3.0 |
初回投稿:2010-06-20 (日) 1:18:08 | 最終更新:2010-07-25 (日) 18:45:01

データ型(AS2)

Posted by muchag | ActionScript 2.0 |
初回投稿:2010-06-20 (日) 1:05:27 | 最終更新:2010-06-20 (日) 1:25:55

Actionscript 2.0 におけるデータ型について。
cf) データ型(AS3)

プリミティブデータ型

単一の値を保持。

データ型 説明
Boolean プリミティブ。Boolean データ型は、true と false の 2 つの値から成ります。この型の変数に有効な値は、この 2 つだけです。宣言されていて、初期化されていない Boolean 型変数のデフォルト値は false です。詳細については、ブール (Boolean) データ型を参照してください。
null プリミティブ。null データ型の値は null です。この値は、値なし、つまりデータがないことを表します。null 値の代入は、プロパティや変数に値が割り当てられていないことを示すために、さまざまな状況で使用されます。null データ型は、複合データ型を定義するすべてのクラスでのデフォルトのデータ型です。ただし、Object クラスは例外で、undefined がデフォルトです。詳細については、ヌル (null) データ型を参照してください。
Number プリミティブ。このデータ型は、整数、符号なし整数、および浮動小数点数を表すことができます。浮動小数点数を格納するには、数値に小数点を含める必要があります。小数点を含まない場合、数値は整数として保存されます。Number データ型は、Number.MAX_VALUE (非常に大きい) ~ Number.MIN_VALUE (非常に小さい) の範囲の値を格納できます。詳細については、『ActionScript 2.0 リファレンスガイド』および数値 (Number) データ型を参照してください。
String プリミティブ。String データ型は、16 ビット文字 (英字、数字、区切り記号など) が連続したものを表します。ストリングは、UTF-16 形式を使用して、Unicode 文字として格納されます。String 値に対する操作は、そのストリングの新しいインスタンスを返します。詳細については、ストリング (String) データ型を参照してください。
undefined プリミティブ。undefined データ型の値は undefined だけです。これは、Object クラスのインスタンスのデフォルト値です。Object クラスに属する変数には、undefined という値のみを割り当てることができます。詳細については、未定義 (undefined) データ型を参照してください。
複合データ型(リファレンスデータ型)

複数のプロパティを持ち、それぞれの値を保持。
デフォルトで用意されているArrayクラスなどの他、独自クラスを作って複合データ型とすることが可能。

データ型 説明
MovieClip 複合。MovieClip データ型では、MovieClip クラスのメソッドを使用して、ムービークリップシンボルを制御できます。詳細については、MovieClip データ型を参照してください。
Void 複合。Void データ型の値は void だけです。このデータ型は、値を返さない関数を指定する場合に使用します。Void は、プリミティブの Void データ型を参照する複合データ型です。詳細については、Void データ型を参照してください。
Object 複合。Object データ型は Object クラスによって定義されます。Object クラスは、ActionScript のすべてのクラス定義に対する基本クラスとして機能し、オブジェクトの内部に別のオブジェクト (ネストされたオブジェクト) を配置することができます。詳細については、オブジェクト (Object) データ型を参照してください。

<引用元>
livedocs.adobe.com:プリミティブデータ型および複合データ型について

Posted by muchag | ActionScript 2.0 |
初回投稿:2010-06-20 (日) 1:05:27 | 最終更新:2010-06-20 (日) 1:25:55

クラスファイルのコンフリクトエラー

Posted by muchag | ActionScript |
初回投稿:2010-06-19 (土) 2:28:57 | 最終更新:2010-06-19 (土) 2:43:19

クラスに挑戦してみたはいいけど
いざムービープレビューをしてみると
「このクラスの名前 ‘hoge’ は、ロードされた別のクラスの名前 ‘hoge’ とコンフリクトします。」
とかいうエラーメッセージがでた。

ならば、と いくつか名称を変えてみたけど全然通過しない。

あったまきてグーグル先生に聞いてみると
アッサリ解決 🙂

原因はASOファイルとかいうものらしく
[制御]-[ASO ファイルを削除してムービーをプレビューする](環境:Flash CS3)
これをやることで解決する可能性があるみたい。

なぜ「解決する」ではなくて「解決する可能性がある」なのかというと
これだけでは必ず解決するわけではなく、他にもやることがある場合もあるようなのだ。

詳しくは、以下の参考元を。

<参考元>
blog.katsuma.tv:ActionScriptのコンフリクトエラー

Posted by muchag | ActionScript |
初回投稿:2010-06-19 (土) 2:28:57 | 最終更新:2010-06-19 (土) 2:43:19

インスタンスの参照 -> 変数の利用

Posted by muchag | ActionScript 3.0 |
初回投稿:2010-06-18 (金) 14:05:43 | 最終更新:2010-06-18 (金) 14:51:22

ステージ上にインスタンス(名:aaa_mc)がある
インスタンス(名:aaa_mc)の中にインスタンス(名:bbb_mc)がある

この状態でインスタンスを参照する(インスタンスにアクセスする)には
以下の3種類の方法があるようだ。

aaa_mc を参照する場合
ActionScript

  1. _root.aaa_mc  <----------  ドット演算子
  2.  
  3. eval("_root.aaa_mc")  <-  ドット演算子
  4.  
  5. _root&#91;"aaa_mc"]  <------- 配列アクセス演算子[/as]
  6.  
  7. <div class="flow3">bbb_mc を参照する場合</div>
  8. [as]_root.aaa_mc.bbb_mc
  9.  
  10. eval("_root.aaa_mc.bbb_mc")
  11.  
  12. _root["aaa_mc"]["bbb_mc"]

(.) をドット演算子といい、([]) を配列アクセス演算子というんだそうな。

で、問題の「変数の利用」について。

1つのシンボルから複数のインスタンスを生成した場合
aaa1_mc, aaa2_mc, aaa3_mc, ・・・ と連番にすることが頻繁にある。

これらを制御するに当たって、1つ1つ書いてもいいのだが、それはさすがに面倒くさい。

そこで、上の2行目や3行目の書式を用いて変数を利用する。

ActionScript

  1. eval("_root.aaa" + i + "_mc")
  2.  
  3. _root["aaa" + i + "_mc"]

ただし、eval関数は、Actionscript 3.0では廃止されたそうな。

それについて以下のような工夫をされている方を発見した。

ActionScript 3

  1. // eval.as
  2. package {
  3.     import flash.external.ExternalInterface;
  4.     public function eval(script:String):* {
  5.         return ExternalInterface.call('eval', script)
  6.     }
  7. }

JavaScript の eval 呼ぶだけだけど(笑)。

でも、この AS ファイルを source-path に置いておくだけ(import不要)で、気軽に eval 出来てめちゃめちゃ便利!

<引用元>
IT戦記:AS3 で eval する

<参考元>
Adobe ヘルプリソースセンター:eval 関数
Fumio Nonaka.com:ドット演算子と配列アクセス演算子

Posted by muchag | ActionScript 3.0 |
初回投稿:2010-06-18 (金) 14:05:43 | 最終更新:2010-06-18 (金) 14:51:22

外部ファイル読み込み時の相対パスの記述方法

Posted by muchag | CSS,PHP |
初回投稿:2010-06-17 (木) 16:56:36 | 最終更新:2015-12-16 (水) 14:26:23

外部ファイル読み込み時の相対パスの記述方法は言語によって異なるみたい。

今回気が付いたのは、PHPとCSSでの差異。

PHPでは、大元ファイルから辿る相対パス。
CSSでは、読み込み先ファイルから辿る相対パス。

ディレクトリ構成

状況
ユーザーアクセス

ユーザーがアクセスするファイルは aaa ファイル。

入れ子状況

その aaa ファイルは、bbb ファイルを読み込んでいる。
その bbb ファイルは、ccc ファイルを読み込んでいる。

お題

そのときの bbb ファイルにおける ccc ファイルへのパスの書き方。

CSS の場合
解答

bbb.css から辿るパスを記述。

ソース
aaa.css
  1. @import url("../bbb.css");
bbb.css
  1. #hoge {
  2.     background-image: url("c/ccc.png"); // ← bbb.css からみたパス
  3. }
PHP の場合
解答

aaa.php から辿るパスを記述。

ソース
aaa.php
  1. require('../bbb.php);
bbb.php
  1. $image_path = '../c/ccc.png'; // ← aaa.php からみたパス

PHP の場合は読み込みで、CSS の場合は参照
ということなのかな?

2015-12-16 追記 ここから
PHP で、当該ファイルから辿りたい場合

上記例において、bbb.php で記述する ccc.png へのパスを
bbb.php から辿りたいとき。

  1. $image_path = dirname(__FILE__) . '/c/ccc.png'; // ← bbb.php からみたパス
bbb から見て、登る必要があるとき

未試行。

  1. $image_path = dirname(__FILE__) . '/../d/ddd.png'; // ← bbb.php からみたパス
参考サイト

WEB EGG:phpでrequire_onceするときに相対パスでハマった

2015-12-16 追記 ここまで
Posted by muchag | CSS,PHP |
初回投稿:2010-06-17 (木) 16:56:36 | 最終更新:2015-12-16 (水) 14:26:23

スマイリー顔文字

Posted by muchag | WordPress |
初回投稿:2010-06-16 (水) 1:00:16 | 最終更新:2010-07-25 (日) 18:51:29

WordPressを 2.9.2ja にアップグレードしたのをきっかけに
スマイリー顔文字に挑戦しているのだが、どうも上手くいかない。

で、調べたら WORDPRESS.ORG CODEX に説明があった。
一覧表も載ってた。

前後にスペースを入れないといけないらしい。
どれどれ 😎
でるかな?

Posted by muchag | WordPress |
初回投稿:2010-06-16 (水) 1:00:16 | 最終更新:2010-07-25 (日) 18:51:29

plugin -> iG:Syntax Hiliter カスタマイズ

Posted by muchag | Library & PlugIn & AddIn,WordPress |
初回投稿:2010-06-16 (水) 0:26:41 | 最終更新:2015-01-30 (金) 16:21:19
2015-01-30 追記

新しい記事:plugin -> iG:Syntax Hiliter カスタマイズ 2015-01-30

ここまで

iG:Syntax Hiliter をカスタマイズしてみようと思い立っちゃった。

なんでかっていうと

  • どっかのサイトで見た「PLAIN TEXT]の部分がタブっぽくなっているのを真似したい
  • どっかのサイトで見たコード部分の縞々を真似したい
  • 新しい言語を増やしたい

と、早速取り掛かったのはいいけど
iG:Syntax Hiliter のファイル配置を忘れていて苦労したよん・・・。

なんで「geshi.php」なんていうファイル名で動作するのか
ず~~~っと考えること半日 |-)

以前お世話になった
Masayan さんの MMRT DAILY LIFE
のフォルダ構成を見てやっと思い出した。
年だね |-)

では、カスタマイズ開始~

【環境】
[WordPress] 2.9.1
[iG:Syntax Hiliter] 3.5
[GeSHi] 1.0.8.8
「PLAIN TEXT」の部分をタブっぽくしたい
WordPressフォルダ/plugins/ig_syntax_hilite/css/syntax_hilite_css.css

を編集。

  1. .syntax_hilite, li.syntax_hilite {
  2.     padding:3px 3px 10px 8px; border:1px solid #303130; background-color:#FEFEFE;
  3.     font-size:13px; font-family:'Courier New',Courier,monospace;
  4.     /* comment the line below to remove scrolling in code boxes */
  5.     overflow:auto; white-space:nowrap;
  6. }
  7. /* change this line to set the width of code box */
  8. .syntax_hilite { width:500px; }
  9. /* change this line to set the width of code box in a list */
  10. li .syntax_hilite { width:460px; }
  11. .igBar, li.igBar {
  12.     background-color:#D6D3CE; font-family:courier,arial,verdana;
  13.     border-left:1px solid #EEEEEE; border-top:1px solid #EEEEEE;
  14.     border-right:1px solid #424142;
  15. }
  16. /* change this line to set the width of plain text bar above code box */
  17. .igBar { width:511px; }
  18. /* change this line to set the width of plain text bar above code box in a list */
  19. li.igBar { width:471px; }
  20. .igBar a, .igBar a:hover {
  21.     margin:0px 5px 0px 10px; font-weight:bold; color:#000000;
  22.     text-decoration:none;
  23. }
  24. .syntax_hilite .langName { color:#000000; font-weight:bold; }
  25. .syntax_hilite textarea { margin:0px -5px -2px 0px; border:none; }
1~10行目は、コードを並べる場所のCSS。

私は、2行目の border属性の色を変更した。

11~19行目が「PLAIN TEXT」と書いてある部分のCSS。

12行目の後ろに「margin-left: 10px;」を加えた。
14行目の「border-right」の色を変更した。
更に後ろに「border-bottom: #333333;」を加えた。
17行目を「width: 110px;」に変更した。

その結果がこのページのコード表である。
 

コード部分を縞々にしたい

以下は、iG:Syntax Hiliter の設定画面で
「行番号色の変更:」オプションを「はい」にした場合だけ有効。

WordPressフォルダ/plugins/syntax_hilite.php

を編集。

  1. $geshi->set_line_style('color:'.IG_LINE_COLOUR_1.';', 'color:'.IG_LINE_COLOUR_2.';', true);

ここの

‘color:’.IG_LINE_COLOUR_2.’;’

の ;(セミコロン)の後ろに

background-color: 色指定;

を付け足す。

結果は

  1. $geshi->set_line_style('color:'.IG_LINE_COLOUR_1.';', 'color:'.IG_LINE_COLOUR_2.'; background-color: #eef9ff;', true);

 

新しい言語を増やしたい

Actionscript は本体だけでなく、Flash Lite もあり
それぞれがヴァージョンによって仕様が大きく異なる。
もちろん、他の言語もそうだ。

だから、同じ言語でもヴァージョン別の表記もしたいし
Excel VBA も表記できるようにしたい。
(リンク先はVBにしかできないけどね~)

そこで以下をを編集。

WordPressフォルダ/plugins/syntax_hilite.php
  1. switch($mType) {
  2.     case "as":
  3.         $mType = "actionscript";
  4.         $mTypeShow = "Actionscript";
  5.         break;
  6.     case "cpp":
  7.         $mType = "cpp";
  8.         $mTypeShow = "C++";
  9.         break;
  10.     case "js":
  11.         $mType = "javascript";
  12.         $mTypeShow = "JavaScript";
  13.         break;
  14.     case "csharp":
  15.         $mType = "csharp";
  16.         $mTypeShow = "C#";
  17.         break;
  18.     case "mysql":
  19.         $mType = "mysql";
  20.         $mTypeShow = "MySQL";
  21.         break;
  22.     case "vb":
  23.         $mType = "vb";
  24.         $mTypeShow = "Visual Basic";
  25.         break;
  26.     case "vbnet":
  27.         $mType = "vbnet";
  28.         $mTypeShow = "VB.NET";
  29.         break;
  30.     default:
  31.         $mType = $mType;
  32.         $mTypeShow = strtoupper($mType);
  33.         break;
  34. }

この部分で言語指定をしているので、ここに増やしたい言語を記述する。

私は試しに以下を挿入してみた。

  1. case "evba":
  2.     $mType = "vb";
  3.     $mTypeShow = "Excel VBA";
  4.     break;

するとこの記事のように

  1. ActiveSheet.Protect UserInterfaceOnly:=True

Excel VBA と表記されたコード表を表示できた 🙂
(いまどきは vb よりも vbnet にした方がよかったのかな・・・)

ちなみに

case のところは、投稿時にコードを括るタグを。

$mType のところは
WordPressフォルダ/plugins/ig_syntax_hilite/geshi/ にある .php ファイルの名前を。

$mTypeShow のところは、自分が表記したい言語名を。

つまり、$mType 以外は好きに決められる。
また、既存の部分も $mType 以外は自由に変更できる。

これを利用して

iG:Syntax Hiliter で Actionscript 3.0 を表示する

iG:Syntax Hiliter は v3.5 が最新版だが
上の一覧を見てもわかるように Actionscript 3.0 には対応していない。

グーグル先生に聞いてみると、どなたかのブログで紹介していたみたいなんだけど
どこでリンクをクリックしても 「このドメインは売り出し中です」 って出て見ることができない。

そこで iG:Syntax Hiliter v3.5 は GeSHi engine(v1.0.7.6) を利用しているとのことなので
本家 GeSHi へ行ってみた。

すると 2010-06-15現在 v1.0.8.8 とのこと。
言語が15個増えて、合計177個。 え?w
そ、そんなにたくさん? %-)

まぁ いっか。
ありがたくDLさせていただいて中身を見る。

geshi┬contrib
    ├docs
    └geshi ・・・ この中に本当にたくさんのファイルががががが・・・

おー! あったあった。
1階層目のgeshiフォルダの中に

geshi/geshi/actionscript3.php

問題はこの後どうすればいいか・・・。

と考えても仕方がないので、Webサーバ側のバックアップを取ってから
1階層目にある geshi.php と geshiフォルダを

WordPressフォルダ/plugins/ig_syntax_hilite/

へUL。

動かしてみる・・・見た目問題ない・・・問題が出たらリストアすることにしよう・・・。

あ、

WordPressフォルダ/plugins/syntax_hilite.php

に、Actionscript 3.0 を追加しないとね。
 

フォント色やスタイルを変更したい

FlexAndroid を始めて
Eclipse を利用するようになった。

これによって、GeSHi 様によって用意されているスタイルとは異なるものになってしまった。

そこで Eclipse のスタイルを導入するために

ig_syntax_hilite/geshi/java5.php

を変更することにした。

念のため java5.php は残して同一ファイルを別名で保存したのだが
ここで1つ問題が起きた。

スタイルが全く反映されない。。。

原因は、ファイル名に 英字大文字 を利用していたせいらしい。

Posted by muchag | Library & PlugIn & AddIn,WordPress |
初回投稿:2010-06-16 (水) 0:26:41 | 最終更新:2015-01-30 (金) 16:21:19

シートの保護

Posted by muchag | Excel VBA |
初回投稿:2010-06-15 (火) 18:01:01 | 最終更新:2010-07-25 (日) 5:27:31


今回 plugin » WP-AddQuicktag その2 で、久しぶりにExcel VBAを触った。
そうしたら、シートの保護について素敵な方法をめっけたのでメモ。

ユーザによるセル内容の変更を防ぐために
Excelのシートを保護する機能がある。

それをVBAから制御するには(例:ActiveSheet)

  1. ' シートの保護
  2. ActiveSheet.Protect
  3.  
  4. ' シートの保護解除
  5. ActiveSheet.Unprotect

パスワードを利用する場合は

  1. ' シートの保護
  2. ActiveSheet.Protect Password:="hoge"
  3.  
  4. ' シートの保護解除
  5. ActiveSheet.Unprotect Password:="hoge"

という風にするわけだが
保護をかけてしまうと、ユーザはもちろんVBAからも制御不能となる。

今回見つけたのは、ユーザからは保護しつつVBAからは制御可能な命令。
なんて便利な・・・。

  1. ActiveSheet.Protect UserInterfaceOnly:=True
Posted by muchag | Excel VBA |
初回投稿:2010-06-15 (火) 18:01:01 | 最終更新:2010-07-25 (日) 5:27:31

plugin -> Commented entry list

Posted by muchag | Library & PlugIn & AddIn,PHP,WordPress |
初回投稿:2010-06-15 (火) 16:08:06 | 最終更新:2011-07-29 (金) 11:03:50

強烈なスパムの嵐で、長いことコメント禁止でやってきたけど
今回あれこれいじって、少しはマシになるかと思って
コメントを開放したので、サイドバーに「最近のコメント」を設置してみることにした。

あれ? WordPressってデフォルトでは「最近のコメント」って表示できないのかぁ。

あ、ウィジェットならあるわけね・・・。

でも、ウィジェットを使うと、サイドバーがなくなるしなぁ。

というわけで、プラグインを探してみた。

辿り着いたのが
Commented entry list 1.2


おー いい感じ:-)

でも、自分の投稿はなくていいなぁ。

それと、著者のリンクもいらないかな。

 
んだば、本格的に。

【環境】
[WordPress] 2.9.2ja
1.DL

Commented entry list 1.2 よりDLして解凍。

2.UL&設定

同梱の ReadMe.txt 読んでから っと。

お? WordPress1.5用プラグイン って書いてある。
2.9.2jaでもちゃんと動いているみたい。
この辺の足回りは変わってないのかな?

修正

<ReadMe.txt より引用>
・同梱しているcomments.phpを使っているテーマのものと入れ替えると、個別エントリ
のページでコメントとトラックバックを別に表示させることができます。
デフォルトのテーマのcomments.phpを使う場合は
commented-entry-list.phpの59行目の
$permalink = get_permalink($comment->ID).”#trackbacks”;

$permalink = get_permalink($comment->ID).”#comments”;
に修正してください。

テーマのファイルを書き換えるのはちょっと嫌なので、修正の方向で。

追加修正のためか行数はずれていて、実際は69行目。

  1. $permalink = get_permalink($comment->ID)."#trackbacks";
UL

commented-entry-list.php を、WordPressフォルダ/wp-content/plugins/ へUL。

設定

WordPressのプラグイン設定画面で Commented entry list を有効化。

WordPressの設定画面からサイドバーの編集を表示して

1.コメントがあったエントリのリストを表示する
  1. <li><h2><?php _e('Recently Commented:'); ?></h2>
  2.     <ul>
  3.     <?php get_recently_commented(10); ?>
  4.     </ul>
  5. </li>

※(10) は、件数設定。デフォルトは10件。
 

2.TrackBack、PingBackがあったエントリのリストを表示する
  1. <li><h2><?php _e('Recently Trackbacked:'); ?></h2>
  2.     <ul>
  3.     <?php get_recently_trackbacked(10); ?>
  4.     </ul>
  5. </li>

・コメントがあった当日は24時間表記の時刻、それ以降は日付が表示されます。

お、これイイネ!

3.カスタマイズ

気になっていた
・自分の投稿は表示したくない
・サイドバーでは、投稿者へのリンクを貼りたくない
についてカスタマイズに挑戦。

自分の投稿は表示したくない
  1. $comments = $wpdb->get_results("SELECT ID, post_title, post_date, comment_ID, comment_author, comment_author_url, comment_author_email, comment_date FROM $tableposts, $tablecomments WHERE $tableposts.ID=$tablecomments.comment_post_ID AND $tablecomments.comment_approved='1' AND $tablecomments.comment_type='' ORDER BY $tablecomments.comment_date DESC LIMIT $limit");

13行目の文の「ORDER BY」の前に「AND $tablecomments.user_id!=’***’」を入れる。

「***」の部分には、wp_usersテーブルから自分のIDを調べて、そのID番号を入れる。

結果、こうなる。

  1. $comments = $wpdb->get_results("SELECT ID, post_title, post_date, comment_ID, comment_author, comment_author_url, comment_author_email, comment_date FROM $tableposts, $tablecomments WHERE $tableposts.ID=$tablecomments.comment_post_ID AND $tablecomments.comment_approved='1' AND $tablecomments.comment_type='' AND $tablecomments.user_id!='***' ORDER BY $tablecomments.comment_date DESC LIMIT $limit");

 

サイドバーでは、投稿者へのリンクを貼りたくない
  1. $url = str_replace('http://url', '', $url);
  2. $url = preg_replace('|[^a-z0-9-_.?#=&;,/:~]|i', '', $url);
  3. if (empty($url)/* && empty($email)*/) {
  4.     $ret .= $author;
  5. }else{
  6.     $ret .= '<a href="';
  7.         if ($url) {
  8.             $url = str_replace(';//', '://', $url);
  9.             $url = (!strstr($url, '://')) ? 'http://'.$url : $url;
  10.             $url = preg_replace('/&([^#])(?![a-z]{2,8};)/', '&$1', $url);
  11.             $ret .= $url;
  12. //      } else {
  13. //          $ret .= 'mailto:'.antispambot($email);
  14.         }
  15.         $ret .= '" rel="external">' . $author . '</a>';
  16. }

108行目を除いて105行目から120行目をコメントアウト。
(116行目と117行目はコメントアウト済み)

結果、こうなる。

  1. //  $url = str_replace('http://url', '', $url);
  2. //  $url = preg_replace('|[^a-z0-9-_.?#=&;,/:~]|i', '', $url);
  3. //  if (empty($url)/* && empty($email)*/) {
  4.         $ret .= $author;
  5. //  }else{
  6. //      $ret .= '<a href="';
  7. //          if ($url) {
  8. //              $url = str_replace(';//', '://', $url);
  9. //              $url = (!strstr($url, '://')) ? 'http://'.$url : $url;
  10. //              $url = preg_replace('/&([^#])(?![a-z]{2,8};)/', '&$1', $url);
  11. //              $ret .= $url;
  12. //          } else {
  13. //              $ret .= 'mailto:'.antispambot($email);
  14. //          }
  15. //          $ret .= '" rel="external">' . $author . '</a>';
  16. //  }
Posted by muchag | Library & PlugIn & AddIn,PHP,WordPress |
初回投稿:2010-06-15 (火) 16:08:06 | 最終更新:2011-07-29 (金) 11:03:50

plugin -> WP-AddQuicktag その2

Posted by muchag | Excel VBA,WordPress |
初回投稿:2010-06-15 (火) 1:38:23 | 最終更新:2011-07-17 (日) 22:24:38


WP-AddQuicktag はとてもお気に入りのプラグイン。

ただ、使っていると、思いつきで登録したクイックタグの
並び順を変えたくなることがしばしば。 私だけ?

やっぱりカテゴリ別に並んでいて欲しいんだよねぇ。

それを設定画面からやろうとするとパズル状態に。。。

で、PHPで何とかしようと思ったんだけど
< や > があるからエスケープされて無理。

仕方がないから苦肉の策で Excel VBA で乗り切った。

同じ想いの人がいるかもしれないから
せっかく作ったので、アップしておく。

いつも情報をいただいてばかりのトーシローな私が
こういうニッチなところで、ほんの少しでも役に立てることを祈る。

WPAQ_Change_Order_0.0.2.zip (37,372byte)

Windows XP Pro SP3 & Excel 2003 VAB にて作成および動作確認。
WordPress 2.9.2ja & WP-AddQuicktag 1.6.3 にて動作確認。
文字コードは UTF-8 。

【更新履歴】
v 0.0.2 2010-07-19
Preview側の並び順番号が重複している場合に、背景色を付ける機能を付加。

v 0.0.1 2010-06-15
新規作成。

後述しますが、失敗すると悲しいことになります。
「MySQLのレコード削除」を自力でできない方は
利用を控えてください。
使い方

DLして解凍すると、Excelファイル(WPAQ_Change_Order_0.0.2.xls)が出てくる。

これを開くと

こんなダイアログが出てくる。

これは、ExcelでVBAを使う以上
必ず出てくるものなので
薄気味悪いが仕方がない。

「マクロを有効にする」を
自己責任にてクリック。


するとシートが表示されるので
「Open WPAQ」ボタンをクリック。


設定ファイルは読み込むだけで
何も書き込まないので被害はないはずだが
一応コピーを作っておくことをお勧め。

英語は・・・一応付けてるけど全く自信なし:-(
得意な方のサジェストをお待ちしています。。。


お馴染みのファイルを開くダイアログ。
DLしてある設定ファイルを選択。


設定ファイルの読み込みに成功すると
左のような画面になる。


A列の「並び順」のところで
並べたい順番に通し番号を振り直す。

1つ変えるごとに、右のプレビュー画面に並び順が表示される。
ダブり番号には背景色が付く。(v 0.0.2 以降)

並び替えに満足したら「WPAQ Write」ボタンをクリック。


これで新しく並び替えた設定ファイルができる。

元々の設定ファイルの名前の先頭に
「new_」を付けたファイルを元々の設定ファイルと同じフォルダに作成。


そうしたらWordPressに戻る。

[設定]-[AddQuicktag] から
WP-AddQuicktag の設定画面に入る。

「Export/Import AddQuicktag buttons options」をクリックして
左のようにタブを開く。

「参照」から新しい設定ファイルを選択し
「設定の読み込み」をクリック。

完了~:-)


ちなみに
慣れない方のために
ExcelのA列(並び順)以外は保護をかけてある。

左のように
[ツール]-[保護]-[シート保護の解除] としてやることで
他の部分にも入力が可能になる。

他の項目の修正や新しい項目の追加も可能。
日本語OK。

万が一失敗した場合


WP-AddQuicktag の設定画面が
こんなになっちゃう。。。

そんなときは

MySQLのWP-AddQuicktagのオプション設定レコードを削除。


私は phpMyAdmin 派なので、そのやり方を。

wp_optionsテーブルを選択して
option_name が「rmnlQuicktagSettings」のレコードを探して削除。


そうしたらWordPressに戻る。

[設定]-[AddQuicktag] から
WP-AddQuicktag の設定画面に入る。

元々設定画面の場合は、更新するか
もう一度 [設定]-[AddQuicktag]

これで元通りになるので
最初にDLしておいた正規の設定ファイルを読み込みなおす。

バグ報告・ご意見などはコメントにてお願いします。

Posted by muchag | Excel VBA,WordPress |
初回投稿:2010-06-15 (火) 1:38:23 | 最終更新:2011-07-17 (日) 22:24:38
« 前ページへ次ページへ »