-
Hello, Tkinter World!
Posted on 5月 15th, 2013 by cx20
Tkinter
Tkinter は Tcl スクリプト用の GUI ツールキット「Tk」を Python から呼出し可能にしたライブラリである。
以下は Python による Tkinter の呼出し例となっている。ソースコード
from Tkinter import * window = Tk() window.title( 'Hello, World!' ) window.geometry( '640x480' ) label = Label( text = "Hello, Tkinter World!" ) label.pack( side = 'top', anchor = 'w' ) window.mainloop()
実行方法
C:¥> python hello.py
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Tkinter World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, Ruby/Tk World!
Posted on 5月 14th, 2013 by cx20
Ruby/Tk
Ruby/Tk は Tcl スクリプト用の GUI ツールキット「Tk」を Ruby から呼出し可能にしたライブラリである。
以下は Ruby による Ruby/Tk の呼出し例となっている。ソースコード
require 'tk' window = TkRoot.new window.title 'Hello, World!' window.geometry '640x480' label = TkLabel.new label.text 'Hello, Ruby/Tk World!' label.pack( 'side' => 'top', 'anchor' => 'w' ) Tk.mainloop
実行方法
C:¥> ruby hello.rb
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Ruby/Tk World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, Perl/Tk World!
Posted on 5月 13th, 2013 by cx20
Perl/Tk
Perl/Tk は Tcl スクリプト用の GUI ツールキット「Tk」を Perl から呼出し可能にしたライブラリである。
以下は Perl による Perl/Tk の呼出し例となっている。ソースコード
use Tk; $window = MainWindow->new(); $window->title( 'Hello, World!' ); $window->geometry( '640x480' ); $label = $window->Label( -text => "Hello, Perl/Tk World!" ); $label->pack( -side => 'top', -anchor => 'w' ); MainLoop();
実行方法
C:¥> pl hello.pl
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Perl/Tk World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, Tcl/Tk(C言語) World!
Posted on 5月 12th, 2013 by cx20
Tcl/Tk(C言語)
Tcl はシンプルな構文を持つスクリプト言語である。名前は「ツールコマンド言語(Tool Command Language)」に由来する。
Tcl スクリプト用の GUI ツールキットとして Tk が開発され、バンドルされたものを Tcl/Tk と呼ぶ。Tk の人気は高く、Tcl/Tk 以外に Perl/Tk、Ruby/Tk と言った他の言語にも移植されている。
以下は C言語 による Tcl/Tk の呼出し例となっている。ソースコード
#include <tcl.h> #include <tk.h> int main( int argc, char* argv[] ) { Tcl_Interp* interp; char command[] = "wm title . \"Hello, World!\"\n" "wm geometry . \"640x480\"\n" "label .label -text \"Hello, Tcl/Tk World!\"\n" "pack .label -side top -anchor w"; interp = Tcl_CreateInterp(); Tcl_Init(interp); Tk_Init(interp); Tcl_Eval( interp, command ); Tk_MainLoop(); return 0; }
コンパイル方法(Visual C++)
C:¥> cl hello.c /link tcl85.lib tk85.lib
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Tcl/Tk World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, Tcl/Tk World!
Posted on 5月 11th, 2013 by cx20
Tcl/Tk
Tcl はシンプルな構文を持つスクリプト言語である。名前は「ツールコマンド言語(Tool Command Language)」に由来する。
Tcl スクリプト用の GUI ツールキットとして Tk が開発され、バンドルされたものを Tcl/Tk と呼ぶ。Tk の人気は高く、Tcl/Tk 以外に Perl/Tk、Ruby/Tk と言った他の言語にも移植されている。ソースコード
wm title . "Hello, World!" wm geometry . "640x480" label .label -text "Hello, Tcl/Tk World!" pack .label -side top -anchor w
実行方法
$ wish ./hello.tcl
実行結果
+------------------------------------------+ |Hello, World! [_][~][X]| +------------------------------------------+ |Hello, Tcl/Tk World! | | | | | | | | | | | | | | | | | | | +------------------------------------------+
-
Hello, Win32 API(Quercus) World!
Posted on 5月 3rd, 2013 by cx20
Win32 API(Quercus)
Win32 API は、Windows の機能にアクセスする為の API(Application Programming Interface)である。
以下は Quercus にて SWT の非公開 API を使用した Win32 API 呼出しの例となっている。ソースコード
<?php import org.eclipse.swt.internal.win32.OS; import org.eclipse.swt.internal.win32.TCHAR; $lpText = new TCHAR(0, "Hello, Win32 API World!", True); $lpCaption = new TCHAR(0, "Hello, World", True); OS::MessageBox(0, $lpText, $lpCaption, OS::MB_OK ); ?>
実行方法
C:¥> java -cp org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;resin.jar;. com.caucho.quercus.CliQuercus hello.php
実行結果
--------------------------- Hello, World! --------------------------- Hello, Win32 API World! --------------------------- OK ---------------------------
-
Hello, Quercus World!
Posted on 5月 1st, 2013 by cx20
Quercus
Quercus は Java による PHP 実装である。
PHP の構文が使える他、Java のライブラリが使用できる。ソースコード
ソースコード(Java ライブラリを使用した場合)
<?php import java.lang.System; System::out->println( "Hello, Quercus World!" ); ?>
実行方法
C:¥> java -cp resin.jar com.caucho.quercus.CliQuercus hello.php
実行結果
Hello, Quercus World!
-
Hello, JDBC Type4(Oxygene) World!
Posted on 4月 18th, 2013 by cx20
JDBC Type4(Oxygene)
JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
Type4 は DBMS のクライアントライブラリを使用しない Pure Java の DBMS ドライバである。
以下は Oxygene による JDBC ライブラリの使用例となっている。ソースコード(Oxygene + JDBC Type4 + SQL Server)
namespace hello; interface uses java.sql.*; type Hello = class public class method Main(args: array of String); end; implementation class method Hello.Main(args: array of String); var conn: Connection; stmt: Statement; rs: ResultSet; begin java.lang.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn := DriverManager.getConnection("jdbc:sqlserver://;server=localhost", "sa", "P@ssW0rd"); stmt := conn.createStatement(); rs := stmt.executeQuery("SELECT 'Hello, JDBC Type4 World!' AS Message"); while rs.next() do begin System.out.println( rs.getString(1) ); end; rs.close(); stmt.Close(); conn.Close(); end; end.
コンパイル&実行方法(Oxygene + JDBC Type4 + SQL Server)
C:¥> oxygene Hello.pas -mode:Java C:¥> java -Xbootclasspath/a:sqljdbc4.jar -jar hello.jar
ソースコード(Oxygene + JDBC Type4 + Oracle)
namespace hello; interface uses java.sql.*; type Hello = class public class method Main(args: array of String); end; implementation class method Hello.Main(args: array of String); var conn: Connection; stmt: Statement; rs: ResultSet; begin java.lang.Class.forName("oracle.jdbc.driver.OracleDriver"); conn := DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger"); stmt := conn.createStatement(); rs := stmt.executeQuery("SELECT 'Hello, JDBC Type4 World!' AS Message FROM DUAL"); while rs.next() do begin System.out.println( rs.getString(1) ); end; rs.close(); stmt.Close(); conn.Close(); end; end.
コンパイル&実行方法(Oxygene + JDBC Type4 + Oracle)
C:¥> oxygene Hello.pas -mode:Java C:¥> java -Xbootclasspath/a:ojdbc6.jar -jar hello.jar
ソースコード(Oxygene + JDBC Type4 + MySQL)
namespace hello; interface uses java.sql.*; type Hello = class public class method Main(args: array of String); end; implementation class method Hello.Main(args: array of String); var conn: Connection; stmt: Statement; rs: ResultSet; begin java.lang.Class.forName("com.mysql.jdbc.Driver"); conn := DriverManager.getConnection("jdbc:mysql://localhost:3306", "root", "P@ssW0rd"); stmt := conn.createStatement(); rs := stmt.executeQuery("SELECT 'Hello, JDBC Type4 World!' AS Message"); while rs.next() do begin System.out.println( rs.getString(1) ); end; rs.close(); stmt.Close(); conn.Close(); end; end.
コンパイル&実行方法(Oxygene + JDBC Type4 + MySQL)
C:¥> oxygene Hello.pas -mode:Java C:¥> java -Xbootclasspath/a:mysql-connector-java-5.1.22-bin.jar -jar hello.jar
実行結果
Hello, JDBC Type4 World!
-
Hello, JDBC Type2(Oxygene) World!
Posted on 4月 17th, 2013 by cx20
JDBC Type2
JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
Type2 は JDBC と DBMS クライアントの API をマップさせたブリッジドライバである。
例えば、Oracle であればクライアントライブラリとして OCI が使用される。
以下は Oxygene による JDBC ライブラリの使用例となっている。ソースコード(Oxygene + JDBC Type2 + Oracle)
namespace hello; interface uses java.sql.*; type Hello = class public class method Main(args: array of String); end; implementation class method Hello.Main(args: array of String); var conn: Connection; stmt: Statement; rs: ResultSet; begin java.lang.Class.forName("oracle.jdbc.driver.OracleDriver"); conn := DriverManager.getConnection("jdbc:oracle:oci:@orcl", "scott", "tiger"); stmt := conn.createStatement(); rs := stmt.executeQuery("SELECT 'Hello, JDBC Type2 World!' AS Message FROM DUAL"); while rs.next() do begin System.out.println( rs.getString(1) ); end; rs.close(); stmt.Close(); conn.Close(); end; end.
コンパイル&実行方法
C:¥> oxygene Hello.pas -mode:Java C:¥> java -Xbootclasspath/a:ojdbc6.jar -jar hello.jar
実行結果
Hello, JDBC Type2 World!
-
Hello, JDBC Type1(Oxygene) World!
Posted on 4月 16th, 2013 by cx20
JDBC Type1
JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
Type1 は JDBC と ODBC の API をマップさせたブリッジドライバである。
以下は Oxygene による JDBC ライブラリの使用例となっている。ソースコード(Oxygene + JDBC Type1 + ODBC + Jet データベース)
namespace hello; interface uses java.sql.*, sun.jdbc.odbc.*; type Hello = class public class method Main(args: array of String); end; implementation class method Hello.Main(args: array of String); var conn: Connection; stmt: Statement; rs: ResultSet; begin java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn := DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=.\\hello.mdb", "", ""); stmt := conn.createStatement(); rs := stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message"); while rs.next() do begin System.out.println( rs.getString(1) ); end; rs.close(); stmt.Close(); conn.Close(); end; end.
ソースコード(Oxygene + JDBC Type1 + ODBC + ACE データベース)
namespace hello; interface uses java.sql.*, sun.jdbc.odbc.*; type Hello = class public class method Main(args: array of String); end; implementation class method Hello.Main(args: array of String); var conn: Connection; stmt: Statement; rs: ResultSet; begin java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn := DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\\hello.accdb", "", ""); stmt := conn.createStatement(); rs := stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message"); while rs.next() do begin System.out.println( rs.getString(1) ); end; rs.close(); stmt.Close(); conn.Close(); end; end.
ソースコード(Oxygene + JDBC Type1 + ODBC + SQL Server)
namespace hello; interface uses java.sql.*, sun.jdbc.odbc.*; type Hello = class public class method Main(args: array of String); end; implementation class method Hello.Main(args: array of String); var conn: Connection; stmt: Statement; rs: ResultSet; begin java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn := DriverManager.getConnection("jdbc:odbc:Driver={SQL Server};SERVER=(local)", "sa", "P@ssW0rd"); stmt := conn.createStatement(); rs := stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message"); while rs.next() do begin System.out.println( rs.getString(1) ); end; rs.close(); stmt.Close(); conn.Close(); end; end.
ソースコード(Oxygene + JDBC Type1 + ODBC + Oracle)
namespace hello; interface uses java.sql.*, sun.jdbc.odbc.*; type Hello = class public class method Main(args: array of String); end; implementation class method Hello.Main(args: array of String); var conn: Connection; stmt: Statement; rs: ResultSet; begin java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn := DriverManager.getConnection("jdbc:odbc:Driver={Oracle in OraDb11g_home1};DBQ=ORCL", "scott", "tiger"); stmt := conn.createStatement(); rs := stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message FROM DUAL"); while rs.next() do begin System.out.println( rs.getString(1) ); end; rs.close(); stmt.Close(); conn.Close(); end; end.
ソースコード(Oxygene + JDBC Type1 + ODBC + MySQL)
namespace hello; interface uses java.sql.*, sun.jdbc.odbc.*; type Hello = class public class method Main(args: array of String); end; implementation class method Hello.Main(args: array of String); var conn: Connection; stmt: Statement; rs: ResultSet; begin java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn := DriverManager.getConnection("jdbc:odbc:Driver={MySQL ODBC 5.1 Driver};Server=localhost", "root", "P@ssW0rd"); stmt := conn.createStatement(); rs := stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message"); while rs.next() do begin System.out.println( rs.getString(1) ); end; rs.close(); stmt.Close(); conn.Close(); end; end.
実行方法
C:¥> oxygene Hello.pas -mode:Java C:¥> java -jar hello.jar
実行結果
Hello, JDBC Type1 World!