データシート

for VisualWorks 7.8 / 7.7 / 7.6 with Jun793

集計用紙のような表データ

データが2次元に並んで表のようになったアプリケーション「データシート」を作成します。ガジェット(ウィジェット)としてテーブルを用いる練習になります。

DataSheet1

どうぞ次のプログラムを実行してください。作成のための準備が整います。

| aCollection |
(aCollection := OrderedCollection new)
	add: #url: -> 'http://www.cc.kyoto-su.ac.jp/~atsushi/Programs/VisualWorks/DataSheet/DataSheet.st';
	add: #comment: -> 'Copyright 2008-2012 KSU (Kyoto Sangyo University). All Rights Reserved.';
	add: #bundle: -> #KSU;
	add: #package: -> 'KSU-Template';
	add: #nameSpace: -> #KSU;
	add: #category: -> 'KSU-Template';
	add: #class: -> #{KSU.DataSheet};
	add: #protocol: -> #examples;
	add: #selector: -> #example1;
	add: #execute: -> [#{KSU.DataSheet} value example1];
	yourself.
JunSystem
	perform: ((aCollection collect: [:each | each key]) inject: String new
			into: [:selector :key | selector , key]) asSymbol
	withArguments: (aCollection collect: [:each | each value]) asArray
DataSheet2

約350行のプログラムを作ると…

インターフェースビルダ(GUI Canvas)やメニューエディタ(Menu Editor)などを用いて、すべてこしらえると…

DataSheet3

約350行のプログラミング(このドックレット出力を見ながら)、おきばりやしとくれやす!

また、入力フィールドを不可視にしたり、セルのクリックで可視にしたり、少々の拡張を施したプログラムも参考にしていただけると助かります。

| aCollection |
(aCollection := OrderedCollection new)
	add: #url: -> 'http://www.cc.kyoto-su.ac.jp/~atsushi/Programs/VisualWorks/DataSheet/EnhanceDataSheet.st';
	add: #comment: -> 'Copyright 2008-2012 KSU (Kyoto Sangyo University). All Rights Reserved.';
	add: #bundle: -> #KSU;
	add: #package: -> 'KSU-Template';
	add: #nameSpace: -> #KSU;
	add: #category: -> 'KSU-Template';
	add: #class: -> #{KSU.DataSheet};
	add: #protocol: -> #examples;
	add: #selector: -> #example1;
	add: #execute: -> [#{KSU.EnhanceDataSheet} value example1];
	yourself.
JunSystem
	perform: ((aCollection collect: [:each | each key]) inject: String new
			into: [:selector :key | selector , key]) asSymbol
	withArguments: (aCollection collect: [:each | each value]) asArray

for VisualWorks 7.8 / 7.7 / 7.6 with Jun793


Updated: 2015/11/08 (Created: 2008/11/15) KSU AokiHanko