root/air/AIRMigemo/src/Main.mxml

リビジョン 2500, 3.6 kB (コミッタ: uwi, コミット時期: 3 年 前)

微修正

Line 
1 <?xml version="1.0"?>
2 <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
3         width="600" height="450"
4         title="MigemoTest"
5         showStatusBar="false"
6         frameRate="60"
7         paddingLeft="5"
8         paddingRight="5"
9         paddingTop="5"
10         paddingBottom="5"
11 >
12        
13         <mx:Style>
14                 global {
15                         fontFamily: "Verdana";
16                         fontSize: 12;
17                 }
18         </mx:Style>
19        
20         <mx:Script>
21                 <![CDATA[
22                         import flash.events.Event;
23                         import flash.filesystem.File;
24                         import flash.filesystem.FileMode;
25                         import flash.utils.getTimer;
26                         import mx.controls.TextInput;
27                         import uwi.migemo.AIRMigemo;
28                         import uwi.migemo.AIRMigemoDicMaker;
29                         import uwi.util.FileStreamEx;
30                        
31                         private function makeDB() : void
32                         {
33                                 makedb.enabled = false;
34                                
35                                 var start : int = getTimer();
36                                 dbresult.text = "つくってるよ!";
37                                
38                                 var dicmaker : AIRMigemoDicMaker = new AIRMigemoDicMaker();
39                                 trace(dicmaker.open(new File(dstfile.text)));
40                                 dbresult.text = dicmaker.append(new File(srcfile.text), charset.text);
41                                 dicmaker.close();
42                                
43                                 var end : int = getTimer();
44                                 trace((end - start) + "ms");
45                                 makedb.enabled = true;
46                         }
47                        
48                         private function makeRegExp() : void
49                         {
50                                 var migemo : AIRMigemo = new AIRMigemo();
51                                 migemo.open(new File(dicdb.text));
52                                 regexpresult.text = migemo.complement(query.text);
53                                 migemo.close();
54                         }
55                        
56                         private var currentInput : TextInput = null;
57                        
58                         private function browseFile(dst : TextInput) : void {
59                                 this.currentInput = dst;
60                                 var f : File;
61                                 try {
62                                         f = new File(dst.text);
63                                 }catch (e : ArgumentError) {
64                                         f = File.documentsDirectory;
65                                 }
66                                 f.addEventListener(Event.SELECT, onSelectFile);
67                                 f.browseForOpen("ファイルを開く");
68                         }
69                        
70                         private function onSelectFile(e : Event) : void
71                         {
72                                 var f : File = e.currentTarget as File;
73                                 trace(f.nativePath);
74                                 if (!f.isDirectory) currentInput.text = f.nativePath;
75                         }
76                 ]]>
77         </mx:Script>
78        
79         <mx:Panel title="DBに辞書をつくるよ!" width="100%" height="100%">
80                 <mx:Form width="100%" defaultButton="{makedb}">
81                         <mx:FormItem width="100%" label="txt辞書(タブ区切り)" direction="horizontal">
82                                 <mx:TextInput id="srcfile" width="100%" height="25"/>
83                                 <mx:Button label="参照" click="browseFile(srcfile)" />
84                         </mx:FormItem>
85                        
86                         <mx:FormItem width="100%" label="出力先DB">
87                                 <mx:TextInput id="dstfile" width="100%" height="25" />
88                         </mx:FormItem>
89                        
90                         <mx:FormItem width="100%" label="文字コード">
91                                 <mx:TextInput id="charset" width="100%" height="25" text="EUC-JP" />
92                         </mx:FormItem>
93                        
94                         <mx:FormItem horizontalAlign="center">
95                                 <mx:Button id="makedb" label="つくるよ!" click="makeDB()" />
96                         </mx:FormItem>
97                        
98                         <mx:FormItem width="100%" label="結果">
99                                 <mx:Text id="dbresult" width="100%" height="25"/>
100                         </mx:FormItem>
101                 </mx:Form>
102         </mx:Panel>
103        
104         <mx:Panel title="正規表現をつくるよ!" width="100%" height="100%">
105                 <mx:Form width="100%" defaultButton="{makeregexp}">
106                         <mx:FormItem width="100%" label="検索語">
107                                 <mx:TextInput id="query" width="100%" height="25"/>
108                         </mx:FormItem>
109                        
110                         <mx:FormItem width="100%" label="辞書DB" direction="horizontal">
111                                 <mx:TextInput id="dicdb" width="100%" height="25"/>
112                                 <mx:Button label="参照" click="browseFile(dicdb)" />
113                         </mx:FormItem>
114                        
115                         <mx:FormItem horizontalAlign="center">
116                                 <mx:Button id="makeregexp" label="つくるよ!" click="makeRegExp()" />
117                         </mx:FormItem>
118                        
119                         <mx:FormItem width="100%" label="結果">
120                                 <mx:TextInput id="regexpresult" width="100%" height="25"/>
121                         </mx:FormItem>
122                 </mx:Form>
123         </mx:Panel>
124 </mx:WindowedApplication>
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。