Halcon获取当前系统时间并以时间命名图片保存在指定目录下


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

 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)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM