開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅡ部(単純なプログラミング)の14章(ファイル入出力)、14.1(ファイル関数)、14.2(変換ルーチン)、14.3(バイナリファイルとASCIIファイル)、14.4(行終端にまつわる謎)、14.5(バイナリI/O)、14.6(バッファリングの問題)、14.7(バッファリングを行わないI/O)、14.8(ファイル形式の設計)、14.10(プログラミング実習)、実習 14-6をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
実習 14-6.
コード
sample.dart
import 'dart:html';
void main(){
InputElement input = querySelector('#f0');
InputElement run = querySelector('#run_dart');
InputElement clear = querySelector('#clear');
Element pre = querySelector('#pre0');
Element div = querySelector('#d0');
TextAreaElement textarea = new TextAreaElement();
textarea.readOnly = true;
textarea.style.width = '650px';
textarea.style.overflow = 'auto';
textarea.style.wordWrap = 'normal';
var reader = new FileReader();
run.onClick.listen((MouseEvent event){
pre.text = window.navigator.userAgent + '\n';
try{
File file = input.files.first;
reader.readAsText(file);
reader.onLoad.listen((Event event){
String contents = reader.result;
RegExp pattern = new RegExp(r'\s+');
Iterable<String> lines = contents.split('\n').sublist(1).map(
(String s) => s.split(pattern).first);
int i = 0;
List<String> values = ['郵便番号', '住所', '名前', 'その他の情報'];
lines.forEach((String s){
textarea.text += '${values[i]}: $s\n';
i += 1;
});
textarea.rows = lines.length;
div.append(textarea);
textarea.select();
});
} catch (e){
div.text = '$e';
}
});
textarea.onClick.listen((MouseEvent event) => textarea.select());
clear.onClick.listen((MouseEvent event) => div.text = '');
}
0 コメント:
コメントを投稿