본문 바로가기

프로그래머/C#

Interface, Abstract, Virtual namespace treach.tistory.com { // 인터페이스 : interface interface A { void AA(); //추상매소드만 선언 가능. } //(abstract 예약어는 사용하지 않으며, 자식 클래스에서 매소드 구현 필요. interface B { void BB(); } class _interface : A, B //다중 상속 가능. { public void AA() //상속 받은 클래스에서 매소드를 강제로 정의를 요함. { Console.Write("AA 매소드 구현\n"); } public void BB() { Console.Write("BB 매소드 구현\n"); } } //추상화 : abstract, override abstract class Animal { publi.. 더보기
코딩 테스트. 1. TCP/IP 사용 2. 클라이언트에서 서버로 String 송신. 3. 서버는 수신된 String에 카운터를 붙여 송신. 앞으로 소켓 통신할 일이 있을지는 모르겠지만, 재밌었음. 더보기
디아블로3 경매장 프로그램(스톱워치) 주말이고, 아이폰용 스톱워치는 불편하기도 해서... 28살에 이런거 만들어야되나.. ㅜㅜ 시간되면 3분 전에 비프음이나 리스트박스 글자 색 변경하려고 생각만 하는 中 실행 환경 : 1. Windows XP 이상, 닷넷 프레임워크 2.0 기능 : 1. 경매 남은 시간 설정 2. 리스트 목록 저장 및 프로그램 시작시 목록 재호출 사용법 : 시작 버튼 : 아이템 목록 호출, 타이머 시작 아이템 추가 : 아이템 목록에 아이템 추가 주의 : 듀얼 모니터 소지자. 스톱워치의 시간을 계속 보고 계실분만 사용 권장. 더보기
C#에서 Oracle TO_DATA 문제 SELECT * FROM (SELECT OPERATION, PRODUCT, TAGSTRING4, LOTID, ACTIVITY, REASONCODEQTYSET, QTY, EVENTROWID, ACTIVITYTIME, CARRIERID, ROUTE, EQPNAME, WORKORDER, VENDOR, USERID FROM RASWIPPUBLISHINFOHISTORY UNION ALL SELECT OPERATION, PRODUCT, TAGSTRING4, LOTID, ACTIVITY, REASONCODEQTYSET, QTY, EVENTROWID, ACTIVITYTIME, CARRIERID, ROUTE, EQPNAME, WORKORDER, VENDOR, USERID FROM RASWIPPUBLISHINFOFAILE.. 더보기
Label 동적 생성 Label[] TEST = new Label[100]; TEST[i] = new Label(); Controls.Add(TEST[i]); TEST[i].Location = new System.Drawing.Point(11, 20); TEST[i].Name = "test2"; TEST[i].Size = new System.Drawing.Size(38, 12); TEST[i].Text = "label1"; 더보기
Delegate 이해 및 예제 [C#] Delegate 이해 C#에서 Delegate는 내부의 코드는 기술하지 않습니다. 델리게이트는 대리할 메서드와 이름은 같지 않아도 되지만 반환형과 매개변수 타입 및 개수등은 반드시 일치해야 합니다. [Source Code 1]는 Delegate의 사용법이고, [Source Code 2]는 Delegate 추가/제거 방법입니다. C++프로그래밍하다가 C#으로 프로그래밍을 공부하면 좀 생소합니다.. [Source Code 1] using System; using System.Text; namespace ConsoleApplication2 { class Arithmetic { public int Add(int a, int b) { return a + b; } public int Sub(int a, i.. 더보기
Thread로 Class에 Parameter 넘기기 private void StartProcessThread() { string i ="test"; ProcThread = new Thread(new ParameterizedThreadStart(CreateThreadRun)); ProcThread.IsBackground = true; ProcThread.Start(i); } private void CreateThreadRun(object o) { string s = o.ToString(); } ParameterizedThreadStart로 선언하고 오브젝트로 받으면 되는듯 -네이버 검색 더보기
Hosts 파일 수정 Console Source using System.IO; namespace Host_String_Addition { class Program { static void Main(string[] args) { string filepath = "c:\\Windows\\System32\\drivers\\etc\\hosts"; StreamReader tr = new StreamReader(filepath, System.Text.Encoding.Default); string data = tr.ReadToEnd(); // 파일을 처음부터 끝까지 읽어옴 tr.Close(); if (data.IndexOf("찾을 문자열") == -1) //IndoxOf 찾는 문자열이 없을 때 -1을 반환 { data += Environment.NewLine + .. 더보기
제브라 라벨프린터 소스 분석 ^LHx,y (Label Home position) x = 기본값 0, y = 기본값 0 ^XA 프린트 시작(Opening Bracket으로 Format의 시작을 알림) ^BY2,2 바코드 속성 중 좁은바 넓이를 2로 하고 넓은바는 좁은바의 2배 ^FO (Field Origin) : 인쇄 할 항목의 인쇄 할 위치(X축, Y축)를 정의합니다. - Dot 단위 : 1dot = 0.125 mm ^A0 (Scalable Font) ^FD (Field Data) : 인쇄할 문구 데이터를 정의 ^FS (Field Separator) : 필드 구분자로 Field 마지막에 위치 ^PQ1^FS 라벨 인쇄 매수 ^XZ ^PRx (Print rate) Default A : 51mm/sec B : 76mm/sec C : 10.. 더보기
DATAMAX I-CLASS 소스 분석 Datamax의 경우 1dot는 0.0254cm serialPort.Write("\x01D11\n"); // 전체적인 폰트 및 바코드 값을 기본 비율 값으로 지정. serialPort.Write("H10\n"); // 헤드 온도 (1 ~ 20) serialPort.Write("PO\n"); // 인쇄 속도 기본값 (2 ~ 8) serialPort.Write("\x02L\n"); // ┑L 라벨 기록 시작. serialPort.Write("1X11000 0000 0004 b 0382 0298 0002 0002 \n"); 박스 만들기 1 출력 회전 ( 1 : 0 도, 2 : 90 도, 3 : 180 도, 4 : 270 도 ) X (박스 / 라인), 11000 (박스 / 라인 고정값) 0000 Y 좌표 위치 .. 더보기