Win2000+ActivePerl 5.8.7 の環境です。
PerlでGUIということで、メッセージボックスであれば、次のようにして実現できました。
------------
use Win32;
my $msg = $ARGV[0];
my $icon = $ARGV[1];
my $caption = $ARGV[2];
my $result = Win32::MsgBox($msg, $ico, $caption);
print "$result\n";
------------
これと同様に、InputBoxのようなこと
--------------------------------
ダイアログウィンドウを表示し、文字列の入力を促して、
Enterすると、スクリプト内の関数戻り値として、その文字列を
取得できるようなもの。
--------------------------------
が出来ないでしょうか。
ネット上色々と探し回ってみましたが、単純には見つかりませんでした。
( Haven't yet implemented function inputbox...)
何か自分で組み合わせて作成する必要があるのでしょうか?
(DOS窓経由であれば、単純に、$txt=<STDIN>; で取れるのですが)
よろしくご教示ください。
No.1ベストアンサー
- 回答日時:
こんなんどうでしょう。
ちょっと長いですが、複数の情報を取得したり拡張性はあります。
use Tk;
my $top = MainWindow->new();
my $ent_txt = "Enter your name.";
my $entry = $top->Entry(-textvariable=> \$ent_txt, -width=>'20' );
$entry->pack(-side=>'left');
my $btn1 = $top->Button(-text=>'OK',-command=> [\&get_name,\$ent_txt] );
$btn1->pack(-side=>'left');
my $btn2 = $top->Button(-text=>'C',-command=> sub{$ent_txt='';} );
$btn2->pack(-side=>'left');
MainLoop;
sub get_name{
$top->destroy();
my $ref_input = shift;
my $input = $$ref_input;
print "Your name is $input.";
}
この回答への補足
ご回答、大変ありがとうございました。
ちなみに、Perl/Tk というものを使わずに、
同様のことは出来るのでしょうか?
(Perl/Tkが入っておらず、ネットにもつなげないような環境に
遭遇した時を想定してのことですが、無用な心配でしょうか・・・)
そうです、こんな感じのやつを求めていました。
use Tk;・・・使えるのかなと思ったら、あっさり動きました。
ActivePerlもv5.xx辺りになると、ほとんど標準でPerl/Tk というのが付いてくるんですね。
今さら常識なのでしょうか、遅れていて恥ずかしい限りです。
----
http://www.geocities.jp/m_hiroi/perl_tk/perltk_g …
からの引用で、
「Perl/Tk でプログラムを作成する場合、 Perl 5 で導入された機能「オブジェクト指向」と「リファレンス」の知識が必要になります・・・
・・・これらの機能を理解していないと Perl/Tk を使いこなすことは難しいのですが・・・」
うわ、理解してないので、大変そうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 配列とポインタについて 3 2023/02/09 22:53
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- 英語 「this is the/my first time~」の文法上の制約について 1 2023/04/06 09:48
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mechanizeのタイムアウト処理に...
-
Perl/TkでURLを既定のブラウザ...
-
Excel VBAでリンク切れをチェッ...
-
例外処理のフローチャートの記...
-
エクセルVBAでシートモジュール...
-
ユーザー定義関数に#NAME?が返...
-
'Range'メソッドは失敗しました
-
「デバイスは PRN を初期化でき...
-
VBでグローバル変数を宣言するには
-
VBSがコンパイルエラーになりま...
-
VBのフォームモジュールと標準...
-
「Perl Command Line InterPret...
-
VBA This Workbookモジュール...
-
現在アクティブなフォーム名を...
-
VBAで旧字体を異字体に一括で変...
-
【vba】フォームに書いてあ...
-
ACCESSのVBAでPrivate Sub ~en...
-
標準モジュールを削除したい。(...
-
Excel VBA 『Call』で呼び出す...
-
モジュール関連図・モジュール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perl 強制終了の回避について
-
Win32でInputBoxを実装するには?
-
VHDLについてですが何がお...
-
Perl/TkでURLを既定のブラウザ...
-
LWPでHTMLが取得できないことが...
-
Perl LWPでのIPv6エラー
-
LWP::Simpleでのgetについて
-
mechanizeのタイムアウト処理に...
-
TwitterAPI1.1でGetメソッド(...
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
例外処理のフローチャートの記...
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
「デバイスは PRN を初期化でき...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
-
LCD ディスプレイを Raspberry ...
-
モジュールとは何ですか
おすすめ情報