2012-06-30

[java][eclipse]ScrolledCompositeを使ってスクロールバーを表示する


コンポジットにスクロールバーを出したかったのだけれど、なかなかうまくいかなかったのでメモ

// ScrolledCompositeを作成する
ScrolledComposite scroll = new ScrolledComposite(parent,
SWT.H_SCROLL | SWT.V_SCROLL);
scroll.setLayout(new FillLayout());
// setMinSizeで指定された値よりも大きいとき、
// コンテンツをScrolledCompositeと同じ幅にリサイズする
scroll.setExpandHorizontal(true);
scroll.setExpandVertical(true);
// Compositeを作成する
Composite composite = toolkit.createComposite(scroll, SWT.NULL);
composite.setLayout(new GridLayout(1, false));
// ScrolledCompositeにCompositeをぶら下げる
scroll.setContent(composite);

~Compositeの中身~

// 指定したサイズより小さくなったらスクロールバーを表示する
scroll.setMinSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));

[java][eclipse][SWT]TextにsetBoundsでサイズを指定したのに指定したサイズにならない


「Text.setBounds(x, y, width, height);」でサイズを指定する
GridLayoutだと指定したサイズを無視して、自動的に最適なサイズに変換してしまうらしい。
http://www.coderanch.com/t/513576/GUI/java/SWT-Text-setSize-ignored-GridLayout

苦肉の策として、以下のようにコーディングしてみた.
これで何とか指定したサイズにすることができたけど、なんだかなぁ。

  FormToolkit toolkit = new FormToolkit(PlatformUI.getWorkbench().getDisplay());
  Composite composite= toolkit.createComposite(PlatformUI.getWorkbench().getDisplay().getActiveShell());
  composite.setLayout(new GridLayout(12, false));
  composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  Text text = toolkit.createText(toolkit.createComposite(composite), "");
  text.setTextLimit(4);

[AS400][FTP]426-UNABLE TO CONVERT DATA FROM CCSID 5026 TO CCSID 932: REASON 3028.


こんなメッセージが返ってきたら、コード変換がちゃんとできていない。
426-UNABLE TO CONVERT DATA FROM CCSID 5026 TO CCSID 932: REASON 3028.
426 DATA TRANSFER ENDED.
quote type c 932をするとか、BINARYでとってくるとかするとうまくいく。
com.ibm.as400.access.AS400FTPはas400ftp.getLastMessage()でメッセージを取得することができる。

2012-06-23

[excel]「#VALUE!」などのエラーを表示したくない


ISERROR(xxx)はxxxがエラーのときtrueを返す
xxx : エラーになりそうな数式や関数
以下のようにすると、エラーにならなかったときのみ、xxxの値がセルに表示される
= IF(ISERROR (xxx),"",xxx)

[java][String]0埋め数字


001みたいな文字列を出力したいとき
String.format("%1$03d", i);

String.formatを使う
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/String.html#format(java.util.Locale, java.lang.String, java.lang.Object...)
書式
http://java.sun.com/javase/ja/6/docs/ja/api/java/util/Formatter.html

[eclipse][Subversive]Subversiveでブランチを作成する


プラグイン開発パースペクティブからブランチを作成しようとしたらこんなエラーが出た。

Branch operation for some of selected resources failed.
org.eclipse.team.svn.core.connector.SVNConnectorException: Working copy is not up-to-date
svn: Commit failed (details follow):
svn: File 'eclipse(/hogehoge/hogehoge.java' is out of date
Filesystem has no item
svn: '/svn/hogehoge/!svn/wrk/hogehoge/branches/eclipse%E7%94%A8/hogehoge/hogehoge.java' path not found

よくわからないが、 SVN Repository Exploring パースペクティブからブランチを作成すると普通にできた。
ブランチを作成したいところを右クリック、New->Branch で完了

2012-06-16

[java]改行コードを取得する

System.getProperty("line.separator")

[AS400][CL]SAVFからオブジェクトを復元する



  1. 適当なライブラリにSAVFを作成する
    1. CRTSAVF FILE(lib/savef)
      • lib:SAVFのあるライブラリ名
      • savef:SAVF名
  2. SAVFを作成したライブラリにSAVFをFTPする
    • 必ずバイナリーでFTPすること
  3. 「保管されたオブジェクトの表示」画面で保管されたライブラリーを確認する
    1. DSPSAVF FILE(lib/savef)
      • lib:SAVFのあるライブラリ名
      • savef:SAVF名
  4. オブジェクトを復元する
    1. RSTOBJ OBJ(obj) SAVLIB(slib) DEV(*SAVF) SAVF(lib/savef) RSTLIB(lib)
      • obj:復元するオブジェクト名
      • slib:保管されたライブラリ名
      • lib:SAVFのあるライブラリ名
      • savef:SAVF名

2012-06-13

[eclipse]キャッシュを消したい


eclipseのキャッシュを消したいときは起動オプションの「-clean」を使う

そのほかの起動オプションは下記参照

2012-06-02

[java][jt400][as400]as400のシステム時刻を取得する


AS400 as400 = new AS400("system", "id", "pw");

SystemValue systemValue = new SystemValue(as400, "QTIME");
Object odata = systemValue.getValue();
String time = new String();
if (odata instanceof Date) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
System.out.println("as400 : " + dateFormat.format(odata));
}

[java]オブジェクトを比べる時


compareTo(hogehoge)
hogehogeと等しい 0
hogehogeの方が小さい 正の数
hogehogeの方が大きい 負の数

大文字小文字を無視するときはcompareToIgnoreCase()を使う

[as400][CL][java]


CLコマンドのSNDPGMMSGで出力したプログラムメッセージはCommandCall#.getMessageList()で取得できる
SNDUSRMSGは応答を求めるようなメッセージを出力する

[jt400][javadoc]jt400のjavadocの場所

http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/rzahh/javadoc/index.html