KSHでGUIを使い始めました。最初の例は次のとおりです。
#! /usr/dt/bin/dtksh
main()
{
XtInitialize TOPLEVEL dtHello DtHello "$@"
XmCreateMessageDialog HELLO $TOPLEVEL hello \
dialogTitle:"DtHello" \
messageString:\
"$(print "Hello\nWorld")"
XmMessageBoxGetChild HELP $HELLO\
DIALOG_HELP_BUTTON
XtUnmanageChild $HELP
XmMessageBoxGetChild CANCEL $HELLO\<\n>
DIALOG_CANCEL_BUTTON
XtUnmanageChild $CANCEL
XtAddCallback $HELLO okCallback exit
XtManageChild $HELLO
XtMainLoop
}
ただし、スクリプトを実行しようとすると、次のメッセージが表示されます。
gui.ksh: syntax error at line 15: `newline' unexpected
構文エラーは次の行にあります。
DIALOG_CANCEL_BUTTON
助けてくれてありがとう。
答え1
うーん..とても簡単だから確認してください。オライリー博士
KSHが空白とテーブルに敏感かどうかわからなかった。とにかく、ここに解決策があります(誰かに役立つ場合)。
#! /usr/dt/bin/dtksh
main()
{
XtInitialize TOPLEVEL dtHello DtHello "$@"
XmCreateMessageDialog HELLO $TOPLEVEL hello \
dialogTitle: "First Window" \
messageString:"$(print "Hello\nWorld")"
XmMessageBoxGetChild HELP $HELLO \
DIALOG_HELP_BUTTON
XtUnmanageChild $HELP
XmMessageBoxGetChild CANCEL $HELLO \
DIALOG_CANCEL_BUTTON
XtUnmanageChild $CANCEL
XtAddCallback $HELLO okCallback exit
XtManageChild $HELLO
XtMainLoop
}
ありがとうございます。