2009年6月アーカイブ
escキーを押してコマンドモードにする
起動
viフォアグラウンド起動 vi <ファイル名>ファイルを読み込んで起動
終了
:q終了
:wq保存して終了
:q!保存せずに強制終了
ZZ終了(内容が変更された場合は保存して終了)
モード移行
ESCコマンドモードへ移行
iカーソルの左隣へ挿入
aカーソルの右隣へ挿入
Iカーソル行の先頭に挿入
Aカーソル行の末尾に挿入
Oカーソル行の上に1行空けて挿入
oカーソル行の下に1行空けて挿入
カーソル操作
h1文字左へ
j1行下へ
k1行上へ
l1文字右へ
0カーソル行の左端へ
^行頭(行頭が空白の場合は空白部分の右)へ
$行末へ
-1行上の左端へ
RETURN1行下の左端へ
b左隣の単語の先頭へ
w右隣の単語の先頭へ
e単語の末尾へ
カーソル位置が単語の途中の場合はその単語の末尾
カーソルが単語末尾なら次の単語の末尾
カーソルが行末なら次行先頭の単語の末尾
H画面最上行の左端へ
M画面中央行の左端へ
L画面最下行の左端へ
nGファイルの先頭からn行目の左端へ
画面操作
C-f1ページ分下に画面を移動
C-b1ページ分上に画面を移動
C-d半ページ分下に画面を移動
C-u半ページ分上に画面を移動
C-l画面を再描画
C-g行番号を表示
検索
/<文字列><文字列>を順方向に検索
f<文字><文字>を順方向に検索
?<文字列><文字列>を逆方向に検索
F<文字><文字>を逆方向に検索
n順方向に検索を再実行
N逆方向に検索を再実行
削除
xカーソル上一文字削除
Xカーソル左一文字削除
ddカーソル行削除
dwカーソル位置から現単語末尾まで削除
df<文字>カーソル位置から<文字>の位置まで削除
d^カーソル位置から左削除
d$カーソル位置から右削除
置換
rカーソル上一文字置換
Rカーソル位置から複数文字置換
sカーソル上一文字を複数文字に置換
rカーソル行全体を置換
ccカーソル行全体を置換
cwカーソル位置から現単語置換
cf<文字>カーソル位置から<文字>の位置まで置換
貼付け
ywカーソル位置の単語をコピー
yyカーソル行をコピー
Pカーソル行の上にペースト(xやddで削除したものもペーストできる)
pカーソル行の下にペースト(xやddで削除したものもペーストできる)
ファイル操作
:e <ファイル名><ファイル名>を読込む
:r <ファイル名>カーソル行の下に<ファイル名>の内容を挿入
:w上書保存
:w <ファイル名>編集中のデータを<ファイル名>のファイルに保存
その他
.直前のコマンド繰返し
u直前に実行したコマンドの取り消し
Uカーソル行に対して行った変更を全部取消す
:!cmdシェルコマンドの実行
!!cmdコマンドを実行し,その結果を挿入
:shellシェルを呼び出す。exitなどでシェルを抜ければviに戻る
:set number行番号を表示
:set nonumber行番号表示を止める
:hヘルプ表示
:viusage [<コマンド>]viコマンドモードのコマンド一覧表示。<コマンド>を付加するとそのコマンドの説明を表示。
:exusage [<コマンド>]
exコマンドモードのコマンド一覧表示。<コマンド>を付加するとそのコマンドの説明を表示。
vi を終了しないで保存する
:w
保存してvi を終了する
:w
変更を保存しないで、vi を終了する
:q!
別のファイル名で保存する
:w filename
既存のファイルに上書きする
:w! filename
========================
vi
コマンドモードesc
編集モードi
exモード:
0 カーソルを行頭に
$ カーソルを行末に
ctrl-u 1ページ上へ
ctrl-d 1ページ下へ
:0ファイルの先頭へ
shift-g ファイルの末尾へ
編集モードで
iカーソルの前へ文字を挿入
aカーソルの後ろへ文字を挿入
oカーソルの上へ文字を挿入
shift-o カーソルの下へ文字を挿入
:w上書き保村
:w filename.txt ファイル名をつけて保存
:w! 強制上書き保存
:wq保存して終了
:wq!強制保存して終了
:q終了
zz保存して終了
:set number行番号表示
:set nonumber行番号非表示
xカーソル位置の文字削除
nxカーソル位置からn文字分の文字削除
dwカーソル位置の単語削除
ddカーソル位置の行削除
shift-dカーソル位置から行末まで削除
nddカーソル行を含めて下にn行削除
yyカーソル行コピー
nyyカーソル行を含めて下にn行コピー
pカーソル行の下にペースト
shift-pカーソル行の上にペースト
/検索文字列 カーソル行から下へ検索
?検索文字列 カーソル行から上へ検索
n次を検索
N前を検索
正規表現
s/検索文字列/置換文字列/ カーソル行の最初を検索置換
s/検索文字列/置換文字列/g カーソル行全て検索置換
m,ns/検索文字列/置換文字列/ n行からm行目までの最初を検索置換
m,ns/検索文字列/置換文字列/g n行からm行目までの全てを検索置換
:%s/検索文字列/置換文字列/ カーソル行近辺の最初を検索置換
:%s/検索文字列/置換文字列/g ファイル全てを検索置換
コマンドの取り消し
u直前のコマンド取り消し
.直前のコマンド繰り返し
:rファイル名 カーソル位置に別ファイル挿入
cd /usr/ports/x11/xorg/
make install clean
インストール後は再起動し
init
で起動する
Emacs
Emacsの起動:emacs 編集(作成)したいファイル名
Emacsの終了:ctrl-x ctrl-c
操作は矢印キー
ctrl-a 行頭へ
ctrl-e 行末へ
ctrl-x ctrl-f ファイル開く
ctrl-x ctrl-s 保存
ctrl-x ctrl-x 別名保存
ctrl-space 範囲の開始
ctrl-d カーソル文字削除
ctrl-k カーソルから行末まで削除
alt-k カーソルから文末まで削除
ctrl-w 指定範囲削除
ctrl-y 最後に削除した内容をペースト
alt-w 指定範囲のコピー
ctrl-s 検索(検索文字を入力する場所が出る)
ctrl-r 逆方向検索
alt-% 置換
ctrl-g 現在の操作を中断
表の範囲を指定して
データメニューからテーブルを選択しテーブルにする。
集計行をONにするとテーブルの最終行に集計が発生し、合計を表示してくれる。
データ(行)を追加してもOKなので関数より便利。
トップテンオートフィルタでは、トップテンを表示。
ほかにも条件にあったデータのみを表する機能。
データメニューの
フィルタ=>オートフィルタで設定できる。
解除は同じメニューをもう一度選択。

▼が出現する。

内容に応じてメニューが発生する。

セルの値に応じて色付けをしたりする。
マクロ作成してやってました。
Excel2007から大幅パワーアップ
セルを棒グラフにしたり、アイコンをつけたりできる。
数値が並ぶセルの

書式メニューから条件付き書式を選択

設定する

このように。

■■■このスクリプトについて■■■
ドットはずし.vbsにフォルダをドロップすると
.DS_storeなど「.」で始まるファイルを削除します。
MacOSXのデータを受け取ってやたらと
「.」で始まるファイルが多いときにお使い下さい。
ファイルを削除するのでシステムに関するファイルなどを
消さないよう、ドロップスするフォルダは要注意です。



統計GISプラザから
図形データ(Shape形式・日本測地系)
と任意の統計データをダウンロード
http://www.e-stat.go.jp/SG1/estat/toukeiChiri.do?method=init
まずMapを使えるようにするには
ArcExplorerを起動して
レイヤメニューからレイヤの追加を選択
ダウンロードしたデータを選択しレイヤの追加ボタンをクリック
レイヤ追加ウィンドウは閉じる
左側に先ほど指定したレイヤが表示されるので
右クリックでレイヤのプロパティを選択
グラデーションシンボルを選択し
フィールドはJINKOを選択
適用をクリックしてウィンドウを閉じる
右側のレイヤのチェックボックスをONにすると
表示される。
ArcExplorerはフリーのGISビューア
下記からダウンロード
http://www.esrij.com/products/arcexplorer/
WINDOWS限定
JAVAアプリなので実行環境が必要
しかもJREがJRE1.4.2_06限定
なのでアプリケーションの追加と削除でまずは不必要なJAVAを削除
http://java.sun.com/products/archive/j2se/1.4.2_06/index.html
からDownload J2REをダウンロードしインストール
インストール終了後再起動
[スタート] >コントロールパネル] > [Java Plug-in] を起動
[詳細]タブをクリックし、Java Run Time Environementのパスが
C:\Program Files\Java\j2re1.4.2_06になっていることを確認。
[アップデート]タグをクリックし、[自動的にアップデートする]のチェックボックスをはずす。
[適用]をクリックします。
コマンドプロンプトを開き、下記のコマンドを指定します。
>java -version
システムJREのバージョンが"1.4.2_06"となっているかを確認。
ここに詳しく書いています
http://www.esrij.com/support/arcexplorer/faq/aefaq00021.html
http://www.esrij.com/products/arcexplorer/
からArcExplorer 9.2 日本語版をダウンロードして
インストールする。
統計データと地図データを組み合わせて表示させて
視覚的にわかりやすくしたもの?
マーケティングなどに利用。
例えば国勢調査のデータを利用して
大阪市淀川区で20代の女性が多く住んでいる
町を調べて地図上で赤く表示させる事が出来る。
アップロードボタンをクリックするとRSSがPOSTされます。下記参照
titleがファイル名でdescriptionにコメントがはいっていますが、Picasaで設定したアルバムタイトルやコメントは入っていません。
参考サイト
http://code.google.com/apis/picasa/docs/web_uploader.html
ここのPHP Sampleを解析すればわかります。
$_POST[rss]の内容
<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:photo="http://www.pheed.com/pheed/" xmlns:media="http://search.yahoo.com/msrss/">
<clientlanguage>ja</clientlanguage>
<channel>
<item>
<title>DSCF0620.JPG</title>
<description>いっぱい</description>
<photo:thumbnail>http://localhost:49182/5264144ff03e8ec576d9fa4aee9978b0/thumb11.jpg</photo:thumbnail>
<photo:imgsrc>http://localhost:49182/5264144ff03e8ec576d9fa4aee9978b0/image11.jpg</photo:imgsrc>
<media:group>
<media:content url="http://localhost:49182/5264144ff03e8ec576d9fa4aee9978b0/image11.jpg" width="1280" height="960" isDefault="true"/>
<media:thumbnail url="http://localhost:49182/5264144ff03e8ec576d9fa4aee9978b0/thumb11.jpg" width="144" height="108"/>
<media:content url="http://localhost:49182/5264144ff03e8ec576d9fa4aee9978b0/original11" width="1280" height="960" fileSize="259647" type="image/jpeg"/>
</media:group>
</item>
</channel>
</rss>
サンプルコードを見てみると上記のxmlからthumbnailとimgsrcを取り出してinput type=hiddenで表示しています。
この時点でサンプルでは画像が表示されているのですがアドレスはhttp://localhost:49182/とPicasa内でWEBサーバが立ち上がっているようです。
<form name='f' method='post' action='post.php'> <input type=text name=title id=title tabindex="1"> <textarea name="body" rows=5 cols=50></textarea> ↓ここで画像送信用のhiddenタグを生成する。 <input type=hidden name='http://localhost:49182/5264144ff03e8ec576d9fa4aee9978b0/thumb11.jpg?size=120'> <input type=hidden name='http://localhost:49182/5264144ff03e8ec576d9fa4aee9978b0/image11.jpgsize=640'> <input type=submit value="Publish!">; <input type=button value="Discard" onclick="location.href='minibrowser:close'"> </form>
で送信すると次のpost.phpへ行って普通に$_FILESで値を取り出す。
僕が知っているhtmlではhiddenでFILE送信できないのですが、
ついでにvalueもないし。。。
Picasa2内でミニブラウザが起動するので、そこから送信しているのでしょう。
Picasa2のカスタムボタンを作成する。
Googleのアルバム管理ソフトPicasa2。このアプリケーションはGoogleのブログやGoogleのウェブアルバムでしかアップできないので、FTP機能があればいいなと思っていたのですが、ボタンのAPIが公開されていてカスタマイズ可能なことがわかりました。ここに掲載しておきます。
参考サイト
http://code.google.com/apis/picasa/docs/button_api.html
●準備
ファイル名はGUIDにする。GUIDとはグローバル一意識別子
GuidGen.com
http://www.guidgen.com/で作成できます。
187446a6-ce34-47b6-a203-74ed1716bce7
●アイコンの作成
Photoshop file (PSD)
幅高さ を25 ~40pixelsで作成。横長が良いみたい。
RGB/8-bits
72 dpi
透明OK
で作成しファイル名を下記で保存
{187446a6-ce34-47b6-a203-74ed1716bce7}.psd
●PBFの作成
PBFはXMLなので作成。
<?xml version="1.0" encoding="utf-8" ?>
<buttons format="1" version="1">
<button id="custombutton/ボタン名" type="dynamic">
<placement>6.0</placement>
<icon name="{187446a6-ce34-47b6-a203-74ed1716bce7}/レイヤー名" src="pbz"/>
<label>ボタン名</label>
<tooltip_ja>ボタンの説明</tooltip_ja>
<action verb="hybrid">
<param name="url" value="http://www.yourdomain.com/up.php"/>
</action>
</button>
</buttons>
を作成し
{187446a6-ce34-47b6-a203-74ed1716bce7}.pbfで保存
2つのファイルができたらまとめてzipファイルにしてしまいます。
ファイル名はボタン名にします。拡張子は.pbz
これでプラグインは出来上がり。簡単だ~~
●インストーラの作成
あとはhtmlファイルを作成するだけです。下記のファイル名部分を変更します。
<html> <head> </head> <body> </body> </html>
このあと、サーバ側に送信されたファイルを受信するphpを置きます。
===============================
※下記はPhptoshopを起動して画像を開くサンプルがあったので。
<?xml version="1.0" encoding="utf-8" ?>
<buttons format="1" version="1">
<button id="custombutton/photoshop_cs" type="dynamic">
<icon name="{187446a6-ce34-47b6-a203-74ed1716bce7}/pscs3" src="pbz"/>
<tooltip>ボタンの説明</tooltip>
<label>ボタン名</label>
<action verb="trayexec">
<param name="exe_name" value="Photoshop.exe"/>
<param name="foreach" value="1"/>
<param name="exe_path_regkey" value="HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Photoshop\10.0\ApplicationPath"/>
</action>
</button>
</buttons>
エリアを選択

グラフボタンをクリックグラフを選んで完了ボタンをクリック

グラフが完成

合計
A5からA10までの合計
SUM
平均
A5からA10までの平均
AVERAGE
計算式を入れて、計算式の入ったセルの右下にカーソルを置くと
「+」の形にカーソルが変形します。そのまま下へびゅっとドラッグすると
計算式の参照セルも移動してくれます。
=A5*B5
=A6*B6
=A7*B7
=A8*B8
しかし、参照が移送してほしくない時があります。
そういう時は下記のように$記号を使います。
=A5*$B$5
=A6*$B$5
=A7*$B$5
=A8*$B$5
Sub 同じのに色()
Dim N As Long
Dim buf1, buf2 As String
N = 2 '初期値
Do While Cells(N, 1).Value <> ""
buf1 = Cells(N - 1, 8)
buf2 = Cells(N, 8)
If buf2 = buf1 Then
Cells(N - 1, 8).Interior.ColorIndex = 36 '黄色
Cells(N, 8).Interior.ColorIndex = 36 '黄色
End If
N = N + 1
Loop
End Sub
脚注の設定方法です。
脚注を挿入したい位置にカーソルをおいて脚注をクリックします。
画面はWORD2007
脚注が挿入されました。
全選択して
細かい設定はここをクリックします。
脚注番号や線など設定できます。変換をクリックすると
脚注を文末注に変更する事が出来ます。
文章に注を入れたい時に脚注は便利な機能です。脚注を挿入するたびに番号を自動で振ってくれますし、文字の増減で脚注のページが移動した時もついて来てくれます。
WORDで部分的に文字を大きくすると行がずれます。


そういう場合は行間を固定します。
全選択して
ここをクリック(WORD2007)
行間を固定値に間隔はいろいろ試してみてください。
行間が固定されました。
ちなみにWORDでいう行間はこの部分の距離です。通常行送りといわれるものです。
きれいな文字組版では文字サイズの1.5〜2倍程度です。
1.5では文字にルビが入った時にくっついてしまいます。
2倍ではちょっと空きすぎの印象があります。なので1.6〜1.7あたりがよいと思います。
WORDのデフォルト値は狭すぎるので、論文が窮屈な印象を受けます。
ぜひこの値を編集してみてください。
class Test {
public static void main (String args []) {
int A,B;
A = 1;
B = 2;
int C = A + B;
System.out.println (" 1 + 2 = " + C);
}
}
int A; int A,B; String A; String A,B;
double D;
17桁
double doubleValue()
int intValue() この Double の整数値を、int にキャストすることによって返します。
long longValue()
この Double の long 値を、long にキャストすることによって返します
short shortValue()
この Double の値を、short としてキャストすることによって、short として返します
String toString()
この Double オブジェクトの String 表現を返します。
staticString toString(doubled)
double 引数の文字列表現を作成します
★条件が正しい間繰り返す★
while (《条件式》) {
......繰り返す命令......
}
★条件文--その1★
if (《条件式》) {
......条件が正しいとき実行する命令......
}
★条件文--その2★
if (《条件式》) {
......条件が正しいとき実行する命令......
}
else {
......正しくないとき実行する命令......
}
要するに、正しくないときは後に「else {...}」というのを付け足せばいいだけのことです。わかりやすいですね。
問題は、「条件式」の部分です。ここには、いわゆる「論理式」と呼ばれるものが入ります。「○○は××である」とか「○○は××より大きい」とかいうやつですね。これには、以下のようなものがあります。
○○ == ×× --○○と××は等しい
○○ != ×× --○○と××は等しくない
○○ < ×× --○○は××より小さい
○○ <= ×× --○○は××と等しいか小さい
○○ > ×× --○○は××より大きい
○○ >= ×× --○○は××と等しいか大きい
class Test3 {
public static void main (String args []) {
int A = 100;
int B = 0;
int i = 1;
for (i = 1; i <= A; i++) {
B = B + i;
}
System.out.println ("GOUKEI: " + B);
}
}
メソッド
● char=String.charAt(int index)
指定されたインデックス位置にある文字を返します。
● int=String.compareTo(Object o)
この String をほかの Object と比較します。
● int=String.compareTo(String anotherString)
2 つの文字列を辞書式に比較します。
● int=String.compareToIgnoreCase(String str)
大文字小文字の区別なしで、2 つの文字列を辞書式に比較します。
● String=String.concat(String str)
指定された文字列をこの文字列の最後に連結します。
●static String=String.copyValueOf(char[] data)
指定された文字配列と同一の String を返します。
●static String=String.copyValueOf(char[] data, int offset, int count)
指定された文字配列と同一の String を返します。
● boolean=String.endsWith(String suffix)
この文字列が、指定された接尾辞で終るかどうかを判定します。
● boolean=String.equals(Object anObject)
この文字列と指定されたオブジェクトを比較します。
● boolean=String.equalsIgnoreCase(String anotherString)
この String とほかの String を比較します。
● byte[]=String.getBytes()
String をプラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換し、結果を新しいバイト配列に格納します。
● byte[]=String.getBytes(String enc)
String を指定された文字エンコーディングに従ってバイトに変換し、結果を新しいバイト配列に格納します。
● void=String.getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
この文字列から、コピー先の文字配列に文字をコピーします。
● int=String.hashCode()
この文字列のハッシュコードを返します。
● int=String.indexOf(int ch)
この文字列内で、指定された文字が最初に出現する位置のインデックスを返します。
● int=String.indexOf(int ch, int fromIndex)
この文字列内で、指定されたインデックスから検索を開始し、指定された文字が最初に出現する位置のインデックスを返します。
● int=String.indexOf(String str)
この文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します。
● int=String.indexOf(String str, int fromIndex)
指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。
● String=String.intern()
文字列オブジェクトの正準表現を返します。
● int=String.lastIndexOf(int ch)
この文字列内で、指定された文字が最後に出現する位置のインデックスを返します。
● int=String.lastIndexOf(int ch, int fromIndex)
この文字列内で、指定された文字が最後に出現する位置のインデックスを返します (検索は指定されたインデックスから開始され、先頭方向に行われる)。
● int=String.lastIndexOf(String str)
この文字列内で、指定された部分文字列が一番右に出現する位置のインデックスを返します。
● int=String.lastIndexOf(String str, int fromIndex)
この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します。
● int=String.length()
この文字列の長さを返します。
● boolean=String.regionMatches(boolean ignoreCase,int toffset,String other,int ooffset,int len)
2 つの文字列領域が等しいかどうかを判定します。
● boolean=String.regionMatches(int toffset,String other,int ooffset,int len)
2 つの文字列領域が等しいかどうかを判定します。
● String=String.replace(char oldChar, char newChar)
この文字列内にあるすべての oldChar を newChar に置換した結果生成される、新しい文字列を返します。
● boolean=String.startsWith(String prefix)
この文字列が、指定された接頭辞で始まるかどうかを判定します。
● boolean=String.startsWith(String prefix, int toffset)
この文字列の指定されたインデックス以降の部分文字列が、指定された接頭辞で始まるかどうかを判定します。
● String=String.substring(int beginIndex)
この文字列の部分文字列である新しい文字列を返します。
● String=String.substring(int beginIndex, int endIndex)
この文字列の部分文字列である新しい文字列を返します。
● char[]=String.toCharArray()
この文字列を新しい文字配列に変換します。
● String=String.toLowerCase()
Locale.getDefault によって返されるデフォルトロケールの規則を使って、この String 内のすべての文字を小文字に変換します。
● String=String.toLowerCase(Locale locale)
指定された Locale の規則を使用して、この String 内のすべての文字を小文字に変換します。
● String=String.toString()
このオブジェクト (すでに文字列である) 自身が返されます。
● String=String.toUpperCase()
Locale.getDefault によって返されるデフォルトロケールの規則を使って、この String 内のすべての文字を大文字に変換します。
● String=String.toUpperCase(Locale locale)
指定されたロケールの規則を使用して、この String 内のすべての文字を大文字に変換します。
● String=String.trim()
この文字列の両端から空白を除去します。
●static String=String.valueOf(boolean b)
boolean 引数の文字列表現を返します。
●static String=String.valueOf(char c)
char 引数の文字列表現を返します。
●static String=String.valueOf(char[] data)
char 配列引数の文字列表現を返します。
●static String=String.valueOf(char[] data, int offset, int count)
char 配列引数の特定の部分配列の文字列表現を返します。
●static String=String.valueOf(double d)
double 引数の文字列表現を返します。
●static String=String.valueOf(float f)
float 引数の文字列表現を返します。
●static String=String.valueOf(int i)
int 引数の文字列表現を返します。
●static String=String.valueOf(long l)
long 引数の文字列表現を返します。
●static String=String.valueOf(Object obj)
Object 引数の文字列表現を返します。
コンストラクタ
●String()
新しく生成された String オブジェクトを初期化して、空の文字シーケンスを表すようにします。
●String(byte[] bytes)
プラットフォームのデフォルトの文字エンコーディングを使って、指定されたバイト配列を変換することによって新しい String を構築します。
●String(byte[] bytes,int offset,int length)
プラットフォームのデフォルトの文字エンコーディングを使って、指定されたバイト列の部分配列を変換することによって、新しい String を構築します。
●String(byte[] bytes,int offset,int length,String enc)
指定された文字エンコーディングを使用して、指定されたバイト部分配列を変換することによって、新しい String を構築します。
●String(byte[] bytes,String enc)
指定された文字エンコーディングを使って、指定されたバイト配列の変換を行うことによって、新しい String を構築します。
●String(char[] value)
新しい String を割り当てて、これが文字配列引数に現在含まれている文字シーケンスを表すようにします。
●String(char[] value,int offset,int count)
文字配列引数の部分配列からなる文字を含む新しい String を割り当てます。
●String(String value)
新しく生成された String オブジェクトを初期化して、引数と同じ文字シーケンスを表すようにします。
●String(StringBuffer buffer)
StringBuffer 型の引数に現在含まれている文字列を持つ新しい文字列を構築します。
public class javatest1{
public static void main(String[] args){
System.out.println("abc");
String型をinteger型にする
integer変数= Integer.parseInt ("123");
String型をDouble型にする
double double変数= Double.parseDouble ("123.456");
int型をString型にする
《String型変数》= Integer.toString (《int型変数》);
System.exit(0);
/*コマンドライン(Dosプロンプトの画面)*/
/*Dosプロンプトで
java myClass 1 2
として実行すると1と2が引数args[]に入って送ります。
引数は2つ以上渡さないとエラーになる*/
class ArgmentsSample3{
public static void main(String args[]){
int count,i;
String arg_s;
count=args.length;
System.out.println("引数の数は"+count);
for(i=0;i<count;i++){
System.out.println("args["+i+"]="+args[i]);
}
System.out.println("+++++++++++++++++++++++++++++++++");
int arg_i=Integer.parseInt(args[0]);
double arg_d=Double.parseDouble(args[1]);
arg_s=args[2];
System.out.println("args[0] をintに変換 "+arg_i);
System.out.println("args[1] をdoubleに変換 "+arg_d);
System.out.println("args[2] は変換しない "+arg_s);
}
}
implementsはextendsと違って
複数継承できる。ただしインターフェイスクラスだけ
implements A,B,C,....;
イベントリスナーはすべてインターフェイス
組み込んだインターフェイスクラスのメソッドは全て
実装しなくてはならないのでめんどう。
インターフェイスはextendsできない。
インターフェイスはそのままnewでインスタンスを作れない
必ず継承した新しいクラスを用意する
継承と一緒につかう場合extends AAA implements BBB,CCC;
setLayout(null);でレイアウトマネージャをキャンセルする
それをすると全て手動で場所を設定しなくてはいけない。
Label l1=new Label("abc...");
l1.setSize(W,H);
l1.setLocation(X,Y);
l1.setBounds(X,Y,W,H);
import java.awt.*;
public class TEST extends Frame
{
Label l1;
public TEST () {
super();
setLayout(null);
l1 = new Label("hello!");
l1.setBounds(100,50,100,30);
add(l1);
}
public static void main(String args[]) {
TEST f = new TEST();
f.show();
}
}
import java.awt.*;
import java.awt.event.*;
public class TestJavaApplication extends Frame implements ActionListener{
Label l1;
TextField t1;
Button b1;
public TestJavaApplication () {
super();
setSize(300,100);
setLayout(null);
l1 = new Label("please type number:");
l1.setBounds(50,30,200,20);
Font f1 = new Font("Dialog",Font.BOLD, 14);
l1.setFont(f1);
add(l1);
t1 = new TextField("10");
t1.setBounds(50,60,200,20);
add(t1);
b1 = new Button("OK");
b1.setBounds(100,100,100,25);
add(b1);
b1.addActionListener(this);
}
public static void main(String args[]) {
TestJavaApplication f = new TestJavaApplication();
f.show();
}
public void actionPerformed(ActionEvent e) {
String s = t1.getText();
int n = Integer.parseInt(s);
int m = 0;
for (int i = 1; i <= n; i++)
m += i;
s = Integer.toString(m);
l1.setText("total: " + s);
}
}
import java.awt.*;
import java.awt.event.*;
public class BtnTest extends Frame implements ActionListener
{
Button b1,b2;
public BtnTest () {
super();
addWindowListener(new myWindowListener());//インスタンス
setSize(300,100);
Panel p1 = new Panel();
b1 = new Button("BTN1");
b1.addActionListener(this);
p1.add(b1);
b2 = new Button("BTN2");
b2.addActionListener(this);
p1.add(b2);
add(p1,BorderLayout.CENTER);
}
public static void main(String args[]) {
BtnTest f = new BtnTest();
f.show();
}
//ここでボタンを調べる
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b1) {
//Btn1();
} else {
//Btn2();
}
}
//アダプタクラスを継承したクラスを作る。
class myWindowListener extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
}
import java.awt.*;
import java.awt.event.*;
public class BtnTest extends Frame implements ActionListener
{
Button b1,b2;
public BtnTest () {
super();
setSize(300,100);
Panel p1 = new Panel();
b1 = new Button("BTN1");
b1.addActionListener(this);
p1.add(b1);
b2 = new Button("BTN2");
b2.addActionListener(this);
p1.add(b2);
add(p1,BorderLayout.CENTER);
}
public static void main(String args[]) {
BtnTest f = new BtnTest();
f.show();
}
//ここでボタンを調べる
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b1) {
//Btn1();
} else {
//Btn2();
}
}
}
String getLabel()
ボタンのラベルを返します。
public void actionPerformed(ActionEvent e) {
String buf;
Double D;
Button Bmoto = (Button)e.getSource();
if (Bmoto == bm) {
//Btn1();
} else {
buf=L1.getText();
buf=buf+Bmoto.getLabel();
///D=double.doubleValue(buf);
}
}
//WindowListenerのアダプタクラスWindowAdapterを継承した
//インナークラスを作るともっとシンプルになる。
import java.awt.*;
import java.awt.event.*;
public class WindowTest extends Frame {
public WindowTest(){
super();
addWindowListener(new myWindowListener());//インスタンス
}
public static void main(String[] args){
WindowTest f = new WindowTest();
f.show();
}
//アダプタクラスを継承したクラスを作る。
class myWindowListener extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
}
//WindowListenerというインターフェイスをimplementsする。
import java.awt.*;
import java.awt.event.*;
public class WindowTest extends Frame implements WindowListener{
public WindowTest(){
super();
addWindowListener(this);
}
public static void main(String[] args){
WindowTest f = new WindowTest();
f.show();
}
public void windowClosing(WindowEvent e){
System.exit(0);
}
//ここですべてのイベントを書かないといけない。
public void windowOpened(WindowEvent e){}//開いた
public void windowClosed(WindowEvent e){}//閉じる瞬間
public void windowIconified(WindowEvent e){}//最小化
public void windowDeiconified(WindowEvent e){}//最小化からもどす
public void windowActivated(WindowEvent e){}//アクティブになったとき
public void windowDeactivated(WindowEvent e){}//非アクティブになったとき
}
//setSize(300,100);
//setSize(W,H);
import java.awt.*;
import java.awt.event.*;
public class BtnTest extends Frame
{
public BtnTest () {
super();
setSize(300,100);
}
public static void main(String args[]) {
BtnTest f = new BtnTest();
f.show();
}
}
Label();
Label("abc");
Label("abc",CENTER);
Label("abc",LEFT);
Label("abc",RIGHT);
buf=L1.getText();
L1.setText("abc");
import java.awt.*;
import java.awt.event.*;
public class Ltest extends Frame
{
Label L1;
public Ltest () {
super();
setSize(200,300);
Panel p0 = new Panel();
L1=new Label("abc");
p0.add(L1);
add(p0,BorderLayout.CENTER);
}
public static void main(String args[]) {
Ltest f = new Ltest();
f.show();
}
}
add(p2,BorderLayout.CENTER);ボーダレイアウトは、 上部、下部、右端、左端、中央 という 5 つの領域に収まるように、 コンポーネントを整列およびサイズ変更して、 コンテナに配置します。
//p2はパネルのインスタンス add(p2,BorderLayout.NORTH); add(p2,BorderLayout.SOUTH); add(p2,BorderLayout.EAST); add(p2,BorderLayout.WEST); add(p2,BorderLayout.CENTER);
Sub FONT調べる()
'
' FONT調べる Macro
Dim chrCount, N As Integer
Dim LID As Integer
Dim Fname, oldFname, myStr As String
chrCount = ActiveDocument.Characters.Count
N = chrCount
'最後の文字の処理をします。
ActiveDocument.Characters(N).Text = ActiveDocument.Characters(N).Text + ""
oldFname = ActiveDocument.Characters(N).Font.Name
Do
'LIDが1041なら日本語
'LIDが1033なら英語?
LID = ActiveDocument.Characters(N).LanguageID
myStr = ActiveDocument.Characters(N).Text
If LID = 1041 Or LID = 1033 Then
Else
MsgBox (LID)
End If
Fname = ActiveDocument.Characters(N).Font.Name
'Symbol,SimHei,Century,MS 明朝
If Fname <> oldFname Then
ActiveDocument.Characters(N).Text = ActiveDocument.Characters(N).Text + ""
oldFname = Fname
End If
'MsgBox (Asc(myStr))
If myStr = Chr(13) Then
ActiveDocument.Characters(N).Text = "" + ActiveDocument.Characters(N).Text + ""
End If
N = N - 1
Loop Until N = 0
ActiveDocument.Characters(1).Text = "" + ActiveDocument.Characters(1).Text
End Sub



