小編以前在生產線的廠區服務過,當時就遇到了一個有趣的案例,今天老人談古來跟大家分享一下,當時的狀況是這樣的,生產線有一個設備料件,但該料件有不同來源或不同進貨日期,但物料卻同時上了產線搞混了,設備上的序號雖然可以識別差異,但序號又臭又長又小字,因此產線上的領班就希望IT可以Support緊急提供一隻可以比對序號是否正確的程式,否則透過人工比對很可能會有出錯的狀況。
有經驗的網友們應該很清楚關鍵字了,沒錯就是「緊急」立馬、馬上的意思,在江湖上行走過的都知道,依據正式流程要MIS提供一支程式,你不先來個填寫申請單、主管審核、PM訪談需求、工程師開發、程式驗證、驗收程式、佈署程式的完整流程,流程沒錯,但依據這個緊急狀況的確也不符合時效。
這時寫小工具的DEV C++就可以快速的派上用場了,依據需求就是透過條碼讀取器 (Barcode reader)讀入序號,如果序號不對,就來個鮮明的告警。
這需求不難,程式碼如下(假設要比對的序號是123456789):
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <windows.h>
int count;
int main(int argc, char* argv[]) {
char keyinchr[] = “123456789“;
char input[10];
for( count = 1; count <= 4000; count = count + 1 )
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
printf(“keyin:“);
gets(input);
if(strcmp(keyinchr, input) == 0) {
}
else {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED);
printf(“warning“);
printf(“\n”);
}
}
}
編譯後執行結果如下:
如果序號比對正確,就不提示告警,如果比對錯誤就會有紅色自己的「warning」告警。