前段時間,用到這一塊,發現不是太懂就上網搜索,結果搜是搜到了,但是礙於各種權限,不能直接快速的獲得,於是自己研究了一下午,勉強寫了出來,歡迎大家指正。代碼如下:
1 read_image (Image, 'fabrik') 2 dev_get_window (WindowHandle) 3 if(-1!=WindowHandle) 4 set_display_font (WindowHandle, 16, 'sans', 'true', 'false') 5 disp_message (WindowHandle, '請確保要定義的路徑不存在於電腦中!', 'window', 12, 12, 'red', 'false') 6 endif 7 stop () 8 *定義FilePath字符串路徑(文件夾長度不要超過10),來確定要保存圖片路徑的上一級文件夾 9 *警告:定義的文件夾字符串必須是電腦中不存在的,否則拋異常 10 *注意:不能只定義盤符來作為路徑,例如:'E:/' 是不允許的路徑 11 FilePath:='E:/圖片測試/TestPic/圖片測試/TestPic/圖片測試/TestPic/圖片測試/TestPic/Test'
12 *根據路徑創建根文件夾 13 file_exists (FilePath, IsExist) 14 try
15 if(IsExist) 16 else
17 tuple_strstr (FilePath, '/', Position) 18 if(Position==0) 19 else
20 tuple_split (FilePath, '/', Substrings) 21 tuple_length (Substrings, Length) 22 switch (Length) 23 case 1: 24 break
25 case 2: 26 Dirs:=Substrings[0]+'/'+Substrings[1]+'/'
27 make_dir (Dirs) 28 break
29 case 3: 30 Dirs2:=Substrings[0]+'/'+Substrings[1]+'/'
31 Dirs:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'
32 make_dir (Dirs2) 33 make_dir (Dirs) 34 break
35 case 4: 36 Dirs2:=Substrings[0]+'/'+Substrings[1]+'/'
37 Dirs3:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'
38 Dirs:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'
39 make_dir (Dirs2) 40 make_dir (Dirs3) 41 make_dir (Dirs) 42 break
43 case 5: 44 Dirs2:=Substrings[0]+'/'+Substrings[1]+'/'
45 Dirs3:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'
46 Dirs4:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'
47 Dirs:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 48 +Substrings[4]+'/'
49 make_dir (Dirs2) 50 make_dir (Dirs3) 51 make_dir (Dirs4) 52 make_dir (Dirs) 53 break
54 case 6: 55 Dirs2:=Substrings[0]+'/'+Substrings[1]+'/'
56 Dirs3:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'
57 Dirs4:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'
58 Dirs5:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 59 +Substrings[4]+'/'
60 Dirs:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 61 +Substrings[4]+'/'+Substrings[5]+'/'
62 make_dir (Dirs2) 63 make_dir (Dirs3) 64 make_dir (Dirs4) 65 make_dir (Dirs5) 66 make_dir (Dirs) 67 break
68 case 7: 69 Dirs2:=Substrings[0]+'/'+Substrings[1]+'/'
70 Dirs3:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'
71 Dirs4:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'
72 Dirs5:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 73 +Substrings[4]+'/'
74 Dirs6:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 75 +Substrings[4]+'/'+Substrings[5]+'/'
76 Dirs:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 77 +Substrings[4]+'/'+Substrings[5]+'/'+Substrings[6]+'/'
78 make_dir (Dirs2) 79 make_dir (Dirs3) 80 make_dir (Dirs4) 81 make_dir (Dirs5) 82 make_dir (Dirs6) 83 make_dir (Dirs) 84 break
85 case 8: 86 Dirs2:=Substrings[0]+'/'+Substrings[1]+'/'
87 Dirs3:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'
88 Dirs4:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'
89 Dirs5:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 90 +Substrings[4]+'/'
91 Dirs6:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 92 +Substrings[4]+'/'+Substrings[5]+'/'
93 Dirs7:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 94 +Substrings[4]+'/'+Substrings[5]+'/'+'/'+Substrings[6]+'/'
95 Dirs:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 96 +Substrings[4]+'/'+Substrings[5]+'/'+'/'+Substrings[6]+'/'+'/'\ 97 +Substrings[7]+'/'
98 make_dir (Dirs2) 99 make_dir (Dirs3) 100 make_dir (Dirs4) 101 make_dir (Dirs5) 102 make_dir (Dirs6) 103 make_dir (Dirs7) 104 make_dir (Dirs) 105 break
106 case 9: 107 Dirs2:=Substrings[0]+'/'+Substrings[1]+'/'
108 Dirs3:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'
109 Dirs4:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'
110 Dirs5:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 111 +Substrings[4]+'/'
112 Dirs6:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 113 +Substrings[4]+'/'+Substrings[5]+'/'
114 Dirs7:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 115 +Substrings[4]+'/'+Substrings[5]+'/'+'/'+Substrings[6]+'/'
116 Dirs8:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 117 +Substrings[4]+'/'+Substrings[5]+'/'+'/'+Substrings[6]+'/'+'/'\ 118 +Substrings[7]+'/'
119 Dirs:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 120 +Substrings[4]+'/'+Substrings[5]+'/'+'/'+Substrings[6]+'/'+'/'\ 121 +Substrings[7]+'/'+Substrings[8]+'/'
122 make_dir (Dirs2) 123 make_dir (Dirs3) 124 make_dir (Dirs4) 125 make_dir (Dirs5) 126 make_dir (Dirs6) 127 make_dir (Dirs7) 128 make_dir (Dirs8) 129 make_dir (Dirs) 130 break
131 case 10: 132 Dirs2:=Substrings[0]+'/'+Substrings[1]+'/'
133 Dirs3:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'
134 Dirs4:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'
135 Dirs5:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 136 +Substrings[4]+'/'
137 Dirs6:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 138 +Substrings[4]+'/'+Substrings[5]+'/'
139 Dirs7:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 140 +Substrings[4]+'/'+Substrings[5]+'/'+'/'+Substrings[6]+'/'
141 Dirs8:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 142 +Substrings[4]+'/'+Substrings[5]+'/'+'/'+Substrings[6]+'/'+'/'\ 143 +Substrings[7]+'/'
144 Dirs9:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 145 +Substrings[4]+'/'+Substrings[5]+'/'+'/'+Substrings[6]+'/'+'/'\ 146 +Substrings[7]+'/'+Substrings[8]+'/'
147 Dirs:=Substrings[0]+'/'+Substrings[1]+'/'+Substrings[2]+'/'+Substrings[3]+'/'\ 148 +Substrings[4]+'/'+Substrings[5]+'/'+'/'+Substrings[6]+'/'+'/'\ 149 +Substrings[7]+'/'+Substrings[8]+'/'+Substrings[9]+'/'
150 make_dir (Dirs2) 151 make_dir (Dirs3) 152 make_dir (Dirs4) 153 make_dir (Dirs5) 154 make_dir (Dirs6) 155 make_dir (Dirs7) 156 make_dir (Dirs8) 157 make_dir (Dirs9) 158 make_dir (Dirs) 159 break
160 endswitch 161 endif 162 endif 163 catch (Exception) 164 if(-1!=WindowHandle) 165 set_display_font (WindowHandle, 16, 'sans', 'true', 'false') 166 disp_message (WindowHandle, '確保定義的路徑不存在於電腦中!', 'window', 12, 12, 'red', 'false') 167 endif 168 endtry 169 *以系統月日創建一個文件夾,並以系統時間為名稱保存圖片 170 get_system_time (MSecond, Second, Minute, Hour, Day, YDay, Month, Year) 171 Path:=Dirs+Month$'d'+'-'+Day$'d'+'/'
172 file_exists (Path, DirExist) 173 if(DirExist) 174 else
175 make_dir (Path) 176 endif 177 Filename:=Path+Hour$'d'+'時'+Minute$'d'+'分'+Second$'d'+'秒'+'.bmp'
178 write_image (Image, 'bmp', 0, Filename)