溫馨提示:這篇文章已超過721天沒有更新,請注意相關的內容是否還可用!
?
?
?電子塑封機使用方法??
????????????????????????????? 一、接通電源:插上電源插頭后,將開關分別置于“順轉”“封塑”位置,啟動電源開關? ????????????????????????????? 二、設定和調節(jié)溫度:調節(jié)“調溫”旋紐,再將溫度表指針設定在150℃左右,預熱至? “預熱”指示燈亮,即可開始塑封。
????????????????????????????? 三、塑封方法:將待塑封的相片證件夾在設卡膜兩片之間,從正面送入,證件自行? 從出口板間出來,并取出,塑封即告完成。
????????????????????????????? 四、關機。 注意事項??
????????????????????????????? 1、機器預熱時間因環(huán)境溫度不同而有所差異,一般情況下,夏天氣溫較高時,預熱時間較短,此時設定溫度可以低些。冬天則相反,預熱時間長些,設定溫度應高些。??
????????????????????????????? 2、塑封時,設定溫度過低,會造成不完全性封接;溫度過高,則因薄膜過熱而出現(xiàn)皺折,甚至將片卷入機內。此時應用“調溫”旋鈕重新設定溫度。??
????????????????????????????? 3、本機底板下有四個螺絲,用于膠輥前后、左右的壓力調節(jié)。如果塑封面兩邊或某一邊有不完全性封接時,可調節(jié)這些螺絲。但切不可將螺絲旋得太緊,以免造成塑封面皺折和電機負荷過重。? ??????????????????????????????? 4、膠輥表面有異焦物時,應在切斷電源而膠輥仍然時,用棉花醮酒精或香蕉水擦之;
一種自動包裝機的結構如圖 1 所示。首先機器中有?N?條軌道,放置了一些物品。軌道下面有一個筐。當某條軌道的按鈕被按下時,活塞向左推動,將軌道盡頭的一件物品推落筐中。當 0 號按鈕被按下時,機械手將抓取筐頂部的一件物品,放到流水線上。圖 2 顯示了順序按下按鈕 3、2、3、0、1、2、0 后包裝機的狀態(tài)。
圖1 自動包裝機的結構
圖 2 順序按下按鈕 3、2、3、0、1、2、0 后包裝機的狀態(tài)
一種特殊情況是,因為筐的容量是有限的,當筐已經(jīng)滿了,但仍然有某條軌道的按鈕被按下時,系統(tǒng)應強制啟動 0 號鍵,先從筐里抓出一件物品,再將對應軌道的物品推落。此外,如果軌道已經(jīng)空了,再按對應的按鈕不會發(fā)生任何事;同樣的,如果筐是空的,按 0 號按鈕也不會發(fā)生任何事。
現(xiàn)給定一系列按鈕操作,請你依次列出流水線上的物品。
輸入格式:
輸入第一行給出 3 個正整數(shù)?N(≤100)、M(≤1000)和?Smax?(≤100),分別為軌道的條數(shù)(于是軌道從 1 到?N?編號)、每條軌道初始放置的物品數(shù)量、以及筐的最大容量。隨后?N?行,每行給出?M?個英文大寫字母,表示每條軌道的初始物品擺放。
最后一行給出一系列數(shù)字,順序對應被按下的按鈕編號,直到??1?標志輸入結束,這個數(shù)字不要處理。數(shù)字間以空格分隔。題目保證至少會取出一件物品放在流水線上。
輸出格式:
在一行中順序輸出流水線上的物品,不得有任何空格。
輸入樣例:
3 4 4
GPLT
PATA
OMSA
3 2 3 0 1 2 0 2 2 0 -1
輸出樣例:
MATA
#include
#include
int main()
{
int x,y,z,ba=0,num;//ba代表著籃子的起始值。num表示著輸入的軌道編號。
int l,side,max;
int i;
scanf("%d %d %d",&l,&side,&max);//輸入軌道數(shù),軌道大小,以及籃子大小。
int b[l];
static int chushi[1000];//定義一個起始的值讓數(shù)組都從零開始。
char a[l][side+1];
char d[max];//定義一個籃子用來放不符合的東西;
getchar();
for(i=0;i { gets(a[i]); b[i]=strlen(a[i]); //為了防止初始值的不一樣。 } while(1) { scanf("%d",&num); if(num==-1)break; else if(num==0)//當為零的時候 要從籃子里取出一個 { if(ba!=0) { printf("%c",d[ba-1]); ba--; } } else if(num>=1) { num=num-1;//這里是因為數(shù)組是從0開始的。 if(b[num]!=0)//這個軌道還有東西。 { if(ba>=max)//如果籃子超出 { printf("%c",d[ba-1]);//先拿出來一個 ba--; d[ba]=a[num][chushi[num]];//再放進去一個。 ba++; } else if(ba { d[ba]=a[num][chushi[num]]; ba++; } chushi[num]++;//然后到下一個貨物。 b[num]--;//軌道上物品數(shù)減一 } } } return 0; } 歡迎大家給出新的想法 手機共享了熱點,另一部手機通過wifi連接連接上這個熱點。手機頂部會出現(xiàn)一個藍色的工具欄,并顯示”個人熱點:1個連接“,這個工具欄比正常的工具欄告20個像素。 當打開一個應用,若該頁面不顯示系統(tǒng)工具欄,看不到這個熱點工具欄;若該頁面顯示了系統(tǒng)工具欄,那么就可以看到這個高度增加了一倍的工具欄,并且頁面的所有空間下移20像素,導致在底部的按鈕顯示不全。想修改這個問題,主要是如何發(fā)現(xiàn)藍條的顯示和消失,來決定是否上移底部的按鈕20個像素。系統(tǒng)會根據(jù)藍條的顯示和消失,重新布局頁面,所以不要移動所有所有控件,一般只需要適配底層一到二個控件就可以。 判斷應用狀態(tài)欄是否顯示藍條可以通過三種方法: // 標準系統(tǒng)狀態(tài)欄高度 #define SYS_STATUSBAR_HEIGHT 20 // 熱點欄高度 #define HOTSPOT_STATUSBAR_HEIGHT 20 (1).被動方式,當藍條顯示或消失,會發(fā)送狀態(tài)欄變更通知(UIApplicationWillChangeStatusBarFrameNotification),通過讀取通知中狀態(tài)欄的高度來判斷是否顯示了欄條。 - (void)handleUIApplicationWillChangeStatusBarFrameNotification:(NSNotification*)notification { [self logViewTreeForMainWindow]; if(notification != nil) { CGRect newStatusBarFrame = [(NSValue*)[notification.userInfo objectForKey:UIApplicationStatusBarFrameUserInfoKey] CGRectValue]; // 根據(jù)系統(tǒng)狀態(tài)欄高判斷熱點欄的變動 [Sin***Object sharedInstance].bPersonalHotspotConnected = (CGRectGetHeight(newStatusBarFrame)==(SYS_STATUSBAR_HEIGHT+HOTSPOT_STATUSBAR_HEIGHT)?YES:NO); } else { [Sin***Object sharedInstance].bPersonalHotspotConnected = ([UIApplication sharedApplication].statusBarFrame.size.height==(SYS_STATUSBAR_HEIGHT+HOTSPOT_STATUSBAR_HEIGHT)?YES:NO); } float hotspotConnectedOffsetY = 0; if(([Sin***Object sharedInstance].bPersonalHotspotConnected) && (_listenOrderPanel != nil)) { hotspotConnectedOffsetY = -HOTSPOT_STATUSBAR_HEIGHT; } //調整控件的frame } (2).主動方式,通過直接讀取系統(tǒng)狀態(tài)欄的高度([UIApplication sharedApplication].statusBarFrame.size.height)來判斷是否顯示了熱點藍條。 - (void)applicationDidBecomeActive:(UIApplication *)application { BOOL bPersonalHotspotConnected = ([UIApplication sharedApplication].statusBarFrame.size.height==(SYS_STATUSBAR_HEIGHT+HOTSPOT_STATUSBAR_HEIGHT)?YES:NO); [Sin***Object sharedInstance].bPersonalHotspotConnected = bPersonalHotspotConnected; if([Sin***Object sharedInstance].isInYXCenterViewController) { [[NSNotificationCenter defaultCenter] postNotificationName:CHANGE_STATUS_BAR_FRAME_NOTIFICATION object:nil]; } } (3).主動獲取,通過檢查keyWindow的倒數(shù)第二個圖層的初始y坐標是否為20像素來判斷是否顯示熱點藍條 +(BOOL)getPersonalHotspotConnected { UIView *keyWindowView = [[UIApplication sharedApplication] keyWindow]; if((keyWindowView != nil) && ([keyWindowView subviews].count > 1)) { UIView *UILayoutContainerView0 = [keyWindowView subviews][1]; if(UILayoutContainerView0.frame.origin.y == HOTSPOT_STATUSBAR_HEIGHT) { [Sin***Object sharedInstance].bPersonalHotspotConnected = YES; } else { [Sin***Object sharedInstance].bPersonalHotspotConnected = NO; } } return [Sin***Object sharedInstance].bPersonalHotspotConnected; } 既然知道了如何判斷是否顯示了熱點藍條,剩下的是如何捕獲熱點藍條顯示和消失的時機,進而進行實時調整底部的控件的偏移就可以了。熱點藍條顯示和消失的情景如下: 1.應用在前臺切換到后臺時會收到狀態(tài)欄變更通知,藍色狀態(tài)欄通知(狀態(tài)欄高度為正常的20像素),就是應用在后臺,你的應用是沒有熱點藍條的。 2.應用在后臺,操作系統(tǒng)熱點藍條消失,若應用非定位服務的應用可能你收不到狀態(tài)欄變更通知,定位服務的應用會收到狀態(tài)欄變更通知。 3.應用在后臺,操作系統(tǒng)熱點藍條出現(xiàn),若應用非定位服務的應用可能你收不到狀態(tài)欄變更通知,定位服務的應用應該會收到狀態(tài)欄變更通知。 4.當應用從后臺切換到前臺時,會收到狀態(tài)欄改變通知(狀態(tài)欄高度為40像素)。 5.當操作系統(tǒng)已經(jīng)顯示藍條,應用開始啟動,你收不到狀態(tài)變更通知。你想正確調整底部控件,只能主動獲取狀態(tài)欄的高度進行是否顯示了熱點藍條,進而調整底部控件。 6.啟動時沒有熱點藍條,當應用在前臺,有人接入熱點,顯示熱點藍條,會收到狀態(tài)欄變更通知。當應用在前臺,顯示熱點藍條,后藍條消失,會收到狀態(tài)欄變更通知。 5.當操作系統(tǒng)已經(jīng)顯示藍條,應用開始啟動后,有人接入熱點,顯示熱點藍條,會收到狀態(tài)欄變更通知。當應用在前臺,顯示熱點藍條,后藍條消失,會收到狀態(tài)欄變更通知。 可以看到應用在前臺時,都是能夠收到系統(tǒng)的狀態(tài)欄變更,只需要被動的接收系統(tǒng)的狀態(tài)欄變更通知,再調整控件就可以了。 當應用在后臺,經(jīng)過多次熱點藍條的消失和顯示,你可能漏掉正確的調整空間的時機。 真對這種情況,你只需要在應用進入前臺時,通知相關需要調整的頁面調整一下底部控件就可以了,如:(2)主動式獲取狀態(tài)欄的處理。 你處理了這兩類情況,你就解決了絕大多數(shù)情況。但是還有一種異常情況,咱們看一下: 當然當應用啟動前手機已經(jīng)顯示了藍條,有可能(我的出租車司機端必現(xiàn))出現(xiàn)整個頁面下移動40像素。當藍條消失時,顯示頂部控件到手機頂部比期望的高20像素,工具欄顯示的狀態(tài)欄背景為黑色。當顯示熱點藍條時,通過View UI Hierarchy,觀察立體圖層發(fā)現(xiàn)該種異常情況下,頁面的全屏幕布局分了3個階梯,每一個階梯相差20像素;當不顯示熱點藍條時,通過View UI Hierarchy,觀察立體圖層發(fā)現(xiàn)該種異常情況下,頁面的全屏幕布局分了2個階梯,每一個階梯相差20像素。 當然當應用啟動前手機不顯示藍條,進入首頁面顯示熱點藍條時,通過View UI Hierarchy,觀察立體圖層發(fā)現(xiàn)該種情況下,頁面的全屏幕布局分了2個階梯,每一個階梯相差20像素;當熱點藍條消失后,通過View UI Hierarchy,觀察立體圖層發(fā)現(xiàn)該種異常情況下,頁面的全屏幕布局都一個高度。 通過分析上面兩種情況的全屏幕圖層的frame高度和起始高度數(shù)據(jù)看到第6層及以后的名稱為 UILayoutContainerView圖層顯然出現(xiàn)了明顯的差異,如: 進入時有藍條,及藍條消失第7層的打印數(shù)據(jù): ------------[ 6] UILayoutContainerView, height:548.000000, origin.y:20.000000 ------------[ 6] UILayoutContainerView, height:548.000000, origin.y:20.000000 進入時沒有藍條,藍條顯示和消失,再顯示時的第7層的打印數(shù)據(jù): ------------[ 6] UILayoutContainerView, height:568.000000, origin.y:0.000000 ------------[ 6] UILayoutContainerView, height:568.000000, origin.y:0.000000 ------------[ 6] UILayoutContainerView, height:568.000000, origin.y:0.000000 可以看到不同,這就是進入時有藍條,當進入首頁時頂部控件距離熱點藍條多20像素,當熱點藍條消失時顯示的狀態(tài)欄有20個像素的黑色區(qū)域并且首頁的頂部控件到狀態(tài)欄多20個像素的真正原因。 既然知道了原因,只需要判斷出這這種情況,修改大于等于第6層的 UILayoutContainerView圖層frame就可以了,看來還是需要修改系統(tǒng)底層的東西??!應用的圖層都是在第8層UINavigationTransitionView以后的圖層,并且名稱都不叫UILayoutContainerView。只要在加載首頁面時判斷出這種情況修改好就可以??梢酝ㄟ^遍歷keyWindow的所有圖層,找到異常的圖層把他的frame修改成CGRectMake(0, 0, kScreenWidth, kScreenHeight)就可以。 具體需要修改的代碼,在viewDidLoad調整就可以,代碼如下: - (void)dumpView:(UIView *)aView atIndent:(int)indent into:(NSMutableString *)outstring { for (int i = 0; i < indent; i++) [outstring appendString:@"--"]; [outstring appendFormat:@"[%2d] %@, height:%f, origin.y:%f\n", indent, [[aView class] description], aView.frame.size.height, aView.frame.origin.y]; if((indent > 5) && (aView != nil) && ([[[aView class] description] isEqualToString:@"UILayoutContainerView"])) { if(aView.frame.origin.y == HOTSPOT_STATUSBAR_HEIGHT) { aView.frame = CGRectMake(0, 0, kScreenWidth, kScreenHeight); } } for (UIView *view in [aView subviews]) [self dumpView:view atIndent:indent + 1 into:outstring]; } // Start the tree recursion at level 0 with the root view - (NSMutableDictionary *) displayViews: (UIView *) aView { NSMutableString *outstring = [[NSMutableString alloc] init]; UIView *keyWindowView = [[UIApplication sharedApplication] keyWindow]; [self dumpView: aView atIndent:0 into:outstring]; if(outstring.length != 0) { if((keyWindowView != nil) && ([keyWindowView subviews].count > 1)) { UIView *UILayoutContainerView0 = [keyWindowView subviews][1]; if(UILayoutContainerView0.frame.origin.y == HOTSPOT_STATUSBAR_HEIGHT) { [Sin***Object sharedInstance].bPersonalHotspotConnected = YES; } else { [Sin***Object sharedInstance].bPersonalHotspotConnected = NO; } } NSString *personalHotspotConnectedValue = [Sin***Object sharedInstance].bPersonalHotspotConnected ? @"1":@"0"; NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:outstring, @"outstring", personalHotspotConnectedValue, @"bPersonalHotspotConnected", nil]; return dic; } else { return nil; } } // Show the tree - (void)logViewTreeForMainWindow { NSMutableDictionary *dic = [self displayViews:[[UIApplication sharedApplication] keyWindow]]; if((dic.count == 2) && ([dic[@"outstring"] isKindOfClass:[NSString class]])) { FLDDLogDebug(@"The view tree:\n%@", dic[@"outstring"]); } } - (void)viewDidLoad { [super viewDidLoad]; [self logViewTreeForMainWindow]; } 進入時有藍條,及藍條消失全部數(shù)據(jù),第1層的數(shù)據(jù)都相同就不重復了: [ 0] UIWindow, height:568.000000, origin.y:0.000000 –[ 1] UILayoutContainerView, height:548.000000, origin.y:20.000000 –[ 1] UILayoutContainerView, height:568.000000, origin.y:0.000000 ----[ 2] UINavigationTransitionView, height:548.000000, origin.y:0.000000 ----[ 2] UINavigationTransitionView, height:568.000000, origin.y:0.000000 ------[ 3] UIViewControllerWrapperView, height:548.000000, origin.y:0.000000 ------[ 3] UIViewControllerWrapperView, height:568.000000, origin.y:0.000000 --------[ 4] UIView, height:548.000000, origin.y:0.000000 --------[ 4] UIView, height:568.000000, origin.y:0.000000 ----------[ 5] UIView, height:548.000000, origin.y:0.000000 ----------[ 5] UIView, height:548.000000, origin.y:0.000000 ------------[ 6] UILayoutContainerView, height:548.000000, origin.y:20.000000 ------------[ 6] UILayoutContainerView, height:548.000000, origin.y:20.000000 --------------[ 7] UINavigationTransitionView, height:548.000000, origin.y:0.000000 --------------[ 7] UINavigationTransitionView, height:548.000000, origin.y:0.000000 ----------------[ 8] UIViewControllerWrapperView, height:548.000000, origin.y:0.000000 ----------------[ 8] UIViewControllerWrapperView, height:548.000000, origin.y:0.000000 進入時沒有藍條,藍條顯示和消失的全部數(shù)據(jù),第1層的數(shù)據(jù)都相同就不重復了: [ 0] UIWindow, height:568.000000, origin.y:0.000000 –[ 1] UILayoutContainerView, height:568.000000, origin.y:0.000000 –[ 1] UILayoutContainerView, height:548.000000, origin.y:20.000000 –[ 1] UILayoutContainerView, height:568.000000, origin.y:0.000000 ----[ 2] UINavigationTransitionView, height:568.000000, origin.y:0.000000 ----[ 2] UINavigationTransitionView, height:548.000000, origin.y:0.000000 ----[ 2] UINavigationTransitionView, height:568.000000, origin.y:0.000000 ------[ 3] UIViewControllerWrapperView, height:568.000000, origin.y:0.000000 ------[ 3] UIViewControllerWrapperView, height:548.000000, origin.y:0.000000 ------[ 3] UIViewControllerWrapperView, height:568.000000, origin.y:0.000000 --------[ 4] UIView, height:568.000000, origin.y:0.000000 --------[ 4] UIView, height:548.000000, origin.y:0.000000 --------[ 4] UIView, height:568.000000, origin.y:0.000000 ----------[ 5] UIView, height:568.000000, origin.y:0.000000 ----------[ 5] UIView, height:568.000000, origin.y:0.000000 ----------[ 5] UIView, height:568.000000, origin.y:0.000000 ------------[ 6] UILayoutContainerView, height:568.000000, origin.y:0.000000 ------------[ 6] UILayoutContainerView, height:568.000000, origin.y:0.000000 ------------[ 6] UILayoutContainerView, height:568.000000, origin.y:0.000000 --------------[ 7] UINavigationTransitionView, height:568.000000, origin.y:0.000000 --------------[ 7] UINavigationTransitionView, height:568.000000, origin.y:0.000000 --------------[ 7] UINavigationTransitionView, height:568.000000, origin.y:0.000000 ----------------[ 8] UIViewControllerWrapperView, height:568.000000, origin.y:0.000000 ----------------[ 8] UIViewControllerWrapperView, height:568.000000, origin.y:0.000000 ----------------[ 8] UIViewControllerWrapperView, height:568.000000, origin.y:0.000000 ------------------[ 9] UIView, height:568.000000, origin.y:0.000000 ------------------[ 9] UIView, height:568.000000, origin.y:0.000000 ------------------[ 9] UIView, height:568.000000, origin.y:0.000000 --------------------[10] UIImageView, height:568.000000, origin.y:0.000000 --------------------[10] UIImageView, height:568.000000, origin.y:0.000000 --------------------[10] UIImageView, height:568.000000, origin.y:0.000000 進入時有藍條的圖層層次圖(異常場景): 進入時有藍條,熱點共享藍條消失后的圖層層次圖(異常場景): 進入時沒有有藍條,熱點共享藍條出現(xiàn)后的圖層層次圖(正常場景): 進入時沒有熱點共享藍條的圖層層次圖(正常場景): 進入時沒有熱點藍條,當熱點藍條消失時,狀態(tài)欄顯示為20個像素的黑色區(qū)域,頂部控件到頂部的距離也比預期的高20個像素的截圖如下(異常場景): 進入時有熱點藍條,當熱點藍條消失時,修正后的正確截圖如下: 進入時有熱點藍條,修正后的正確截圖如下: 下面是微信沒有完美解決熱點共享藍條下壓后導致頂部工具欄異常的圖片??梢娭皇强拷邮誙IApplicationWillChangeStatusBarFrameNotification通知來處理它引起的狀態(tài)欄異常是不完美的。我也經(jīng)過很長時間的修改探索才找到這個完美解決方案。對工作執(zhí)著、對產(chǎn)品負責的態(tài)度,極度注重細節(jié),不斷追求完美,沒有絕對完美的產(chǎn)品,我們都是在追求路上。 注意:iOS13.51后,蘋果抄襲安卓,把那個多出20像素狀態(tài)欄修改為顯示左上角時間背景顏色,并把時間換成對應圖標一小段時間,然后圖標消失,仍舊顯示時間。所以蘋果的熱點共享(藍色),后臺定位(藍色)和后臺語音(紅色)不會出現(xiàn)狀態(tài)欄下壓20像素導致底部頁面20像素顯示不出來的問題了。這個小功能變更不知道蘋果什么時候修改的,蘋果也沒有給這方面的說明,我估計可能是iOS13時修改的。不過這樣我們不用再適配這種頁面混亂了。其實原來影響最差的不是普通頁面,而是啟動頁面。若你的啟動頁面中間有有意義的圖像。當熱點狀態(tài)欄出來時,會把中間截取20像素扔掉。 后臺定位剛出現(xiàn)時。 熱點共享工具欄出現(xiàn)一段時間后。 后臺語音剛出現(xiàn)時。
發(fā)表評論
還沒有評論,來說兩句吧...