前段时间,用到这一块,发现不是太懂就上网搜索,结果搜是搜到了,但是碍于各种权限,不能直接快速的获得,于是自己研究了一下午,勉强写了出来,欢迎大家指正。代码如下:
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)