Exemple #1
0
        /// <summary>
        /// I TypeValue()
        /// </summary>
        public string GetTypeValue(CODESET codeset, char inputData)
        {
            string _val = TypeValue(codeset, inputData); // code128테이블 value

            //In the V24 barcode structure, we can use the ASCII table to insert the
            //characters bytes.
            //If we use the Code 128 characters table, we have to add 20h
            //to the characters to be encoded.
            //In the code A, we have to add 20h to the special characters
            //(NUL, SOH, STX…).For example, to insert STX, we have to
            //send 62h(In the code 128 table STX = 66 decimal = 42h).
            //In the Code C, a couple of digit have to be inserted with 2
            //bytes(example 07 will be 30h 37h).
            //That is not necessary to add 20h to the variable delimiter and
            //variable elements (counter, date, etc).
            //V24 바코드 구조에서는 ASCII 테이블을 사용하여
            //문자 바이트.
            //코드 128 문자 표를 사용하는 경우 20h를 추가해야합니다.
            //인코딩 할 문자.
            //코드 A에서 특수 문자에 20h를 추가해야합니다.
            //(NUL, SOH, STX ...).예를 들어 STX를 삽입하려면
            //62h를 보내십시오 (코드 128의 STX 테이블에서 66 = 10 진수 = 42h).
            //코드 C에서 2 자리 숫자를 2로 삽입해야합니다.
            //바이트(예 07은 30h 37h가됩니다).
            //변수 구분 기호에 20h를 추가 할 필요는 없습니다.
            //가변 요소 (카운터, 날짜 등).
            //return string.Format("0x{0}", (int.Parse(_val) + 0x20).ToString("X"));
            Console.WriteLine(inputData + " = " + _val + " = " + (Convert.ToInt32(_val, 16) + 0x20).ToString("X"));
            return((Convert.ToInt32(_val, 16) + 0x20).ToString("X"));
            //return TypeValue(codeset, inputData);
        }
Exemple #2
0
        /// <summary>
        /// Codeset에 일치하는 code128의 value반환
        /// </summary>
        /// <returns>value 값</returns>
        private string TypeValue(CODESET codeset, char inputData)
        {
            DataRow[] rows;

            switch (codeset)
            {
            case CODESET.C:
                rows = this.code128Table.Select(string.Format("C = '{0}'", inputData));
                break;

            case CODESET.A:
                rows = this.code128Table.Select(string.Format("A = '{0}'", inputData));
                break;

            case CODESET.B:
                rows = this.code128Table.Select(string.Format("B = '{0}'", inputData));
                break;

            default:
                rows = this.code128Table.Select(string.Format("B = '{0}'", inputData));
                break;
            }

            return(rows[0]["Value"].ToString());
        }
Exemple #3
0
 /// <summary>
 /// init!!!!
 /// </summary>
 /// <param name="inputString">입력 문자열</param>
 /// <param name="inputCodeSet">요청 코드셋</param>
 /// <param name="inputReturnColumn">요청 컬럼</param>
 private void init_Code128(string inputString, CODESET inputCodeSet, RETURNCOLUMN inputReturnColumn)
 {
     //코드셋을 자동검증해서 적용해야하는 로직은 일단 추후에!!
     //this.codeSet = CODESET.Unknown;
     //일단 B로 갑시다 ㅠㅠ
     this.inputData    = inputString;
     this.codeSet      = inputCodeSet;
     this.returnColumn = inputReturnColumn;
 }
Exemple #4
0
 /// <summary>
 /// 코드셋을 정의하고 반환
 /// </summary>
 /// <param name="inputString">입력 문자열</param>
 /// <param name="inputCodeSet">요청 코드셋</param>
 public Code128(string inputString, CODESET inputCodeSet)
 {
     init_Code128(inputString, inputCodeSet, RETURNCOLUMN.Pattern);
 }
Exemple #5
0
 /// <summary>
 /// 코드셋과 반환 컬럼형태를 변경하고 반환
 /// </summary>
 /// <param name="inputString">입력 문자열</param>
 /// <param name="inputCodeSet">요청 코드셋</param>
 /// <param name="inputReturnColumn">요청 컬럼</param>
 public Code128(string inputString, CODESET inputCodeSet, RETURNCOLUMN inputReturnColumn)
 {
     init_Code128(inputString, inputCodeSet, inputReturnColumn);
 }