/// <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); }
/// <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()); }
/// <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; }
/// <summary> /// 코드셋을 정의하고 반환 /// </summary> /// <param name="inputString">입력 문자열</param> /// <param name="inputCodeSet">요청 코드셋</param> public Code128(string inputString, CODESET inputCodeSet) { init_Code128(inputString, inputCodeSet, RETURNCOLUMN.Pattern); }
/// <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); }