curtis
17小時前 0756bf12d10cf1b7f78c571de0a9ad69cbaeb7ca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
{ ==============================================================================
  方法名稱:BarCode2CaseID
  引用相依:
  方法描述:從目前掃瞄到的條碼清單中提取案件編號 (CaseID)。方法會遍歷條碼暫存對象
             (MpsBarcodeinf),並將第一個長度正好等於預設 CaseIDLength 的條碼值視
            為合法的案件編號返回。若遍歷結束仍未找到符合長度限制的條碼,則返回空字
            串。
============================================================================== }
Function TCB_IMGPSScanX.BarCode2CaseID : String; //Barcode依規則轉成CaseID
var
  i : Integer;
  iCaseID : String;
begin
  Result := ''; //沒找到
  iCaseID := '';
  for i := 1 to MpsBarcodeinf.Count  do    //20180920 拿掉-1
  begin
    if (Length(MpsBarcodeinf.text[i]) = CaseIDLength) then
    begin
      iCaseID := MpsBarcodeinf.text[i];
      Result := iCaseID;
      Break;
    end;
  end;
end;
 
 
{ ==============================================================================
  方法名稱:BarCode2FormID
  引用相依:
  方法描述:從目前掃瞄到的條碼清單中識別有效的表單代碼 (FormID)。方法會過濾長度符
            合 FormIDLength 的條碼,並呼叫 FormIDAppear 驗證其格式。若初步驗證通過
            ,會進一步呼叫 FormIDExists 確認該代碼在系統中已註冊且可用。返回第一個
            完全符合條件的表單代碼,否則返回空。
============================================================================== }
Function TCB_IMGPSScanX.BarCode2FormID : String; //Barcode依規則轉成FormID
var
  i : Integer;
  FormID : String;
begin
  Result := ''; //沒找到
  FormID := '';
  for i := 1 to MpsBarcodeinf.Count  do
  begin
    if (Length(MpsBarcodeinf.Text[i]) = FormIDLength) then
    begin
      FormID := MpsBarcodeinf.text[i];
      if not FormIDAppear(FormID) then
        FormID := '';
    end;
    if (FormID <> '') and FormIDExists(FormID,False,0) then   //有可用的FormID就離開
    begin
      Result := FormID;
      Break;
    end;
  end;
end;