728x90
반응형

컴퓨터 42

C# MDI Form/ MDI Child Form 사용하기 (간단)

* MDI란? https://ko.wikipedia.org/wiki/%EB%8B%A4%EC%A4%91_%EB%AC%B8%EC%84%9C_%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4 다중 문서 인터페이스 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 다중 문서 인터페이스 (MDI)는 여러 창을 하나의 부모 창에서 상주하는 그래픽 사용자 인터페이스이다. 이러한 시스템은 자식 창이 다른 창을 포함하여 복잡하 ko.wikipedia.org * 참고 사이트 https://stackoverflow.com/questions/2356337/how-to-show-a-child-form-within-a-mdi-container-form-which-its-wind..

컴퓨터/c# 2021.06.11

C#으로 PDF 제어하기 결과물 (PDFSPlit)

그간의 'C#으로 PDF 제어하기'와 여러 기능들을 활용하여 오랜 시간 걸렸지만 드디어 하나의 결과물이 나왔습니다. 작동 방식은 찾을 내용이 있는 엑셀 데이터를 불러와서 그리드에 입력하고 찾을 데이터가 있는 PDF를 불러옵니다. 그리드의 특정 칼럼의 각 행과 PDF의 내용을 비교하여 그 데이터가 있으면 페이지를 저장하고 사용자가 원하는 파일명으로 저장되도록 했습니다. 일부 PDF의 경우 찾는 데이터가 있는 페이지와 그 뒤 일정한 수의 페이지가 전부 하나의 PDF에 저장되어야 하는 경우가 있어 PDF 병합 기능으로 해결하였습니다. * 2021.04.23 - [컴퓨터/c#] - C#으로 PDF 제어하기 (PDF 불러와서 원하는 페이지 저장) C#으로 PDF 제어하기 (PDF 불러와서 원하는 페이지 저장) 이..

C#으로 PDF 제어하기 3 (PDF에서 내용 찾기)

PDF를 불러온 상태에서 원하는 글자를 찾는 방법입니다. * 2021.04.23 - [컴퓨터/c#] - C#으로 PDF 제어하기 (PDF 불러와서 원하는 페이지 저장) https://k1asd1.tistory.com/25 * 2021.05.21 - [컴퓨터/c#] - C#으로 PDF 제어하기 2 (PDF Merge, PDF 병합, PDF 합치기) https://k1asd1.tistory.com/31 * 예제 PDDocument doc = null; //PDF 경로 지정 doc = PDDocument.load("c:\test.pdf"); PDFTextStripper strip = new PDFTextStripper(); //페이지 지정 (다양한 범위로 사용 가능) strip.setStartPage(1); ..

컴퓨터/c# 2021.05.21

C#으로 PDF 제어하기 2 (PDF Merge, PDF 병합, PDF 합치기)

PDF 불러와서 원하는 페이지 저장에 이어 여러 PDF 파일을 하나의 PDF로 합쳐보도록 하겠습니다. PDF가 몇 장이든 상관없이 저장 경로와 합칠 PDF만 지정해주면 간단하게 가능합니다. * 2021.04.23 - [컴퓨터/c#] - C#으로 PDF 제어하기 (PDF 불러와서 원하는 페이지 저장) C#으로 PDF 제어하기 (PDF 불러와서 원하는 페이지 저장) 이번에 문서를 가지고 작업해야 할 일이 생겼습니다. 우선, 엑셀 파일(정보 파일)과 한글 파일(서식 파일)로 한글의 '메일 머지' 기능을 사용하여 약 100여 장(엑셀 파일에 입력한 데이터만큼)에 k1asd1.tistory.com * 2021.05.21 - [컴퓨터/c#] - C#으로 PDF 제어하기 3 (PDF에서 내용 찾기) C#으로 PDF ..

컴퓨터/c# 2021.05.21

C# 한자, 일본어 확인 및 변환 등 (비정규식)

한자, 한문, 일본어 등이 포함된 문자열을 처리하고 싶을 때 사용 가능합니다. 사이트에는 16진수로 되어 있으나 전 10진수로 바꿔서 사용했습니다. * 전체 유니코드 영역 목록 https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%EC%98%81%EC%97%AD 유니코드 영역 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 유니코드에는 연속된 코드 포인트의 집합인 영역(block, 블록)들이 있다. 각 영역의 이름은 유일하며, 그 범위는 다른 영역과 겹치지 않는다. 영역의 크기는 16의 ko.wikipedia.org * 코드 * 참조 관리자 -> COM -> 'Hanja Dictionary Type Library 1..

컴퓨터/c# 2021.05.20

C#으로 PDF 제어하기 (PDF 불러와서 원하는 페이지 저장)

이번에 문서를 가지고 작업해야 할 일이 생겼습니다. 우선, 엑셀 파일(정보 파일)과 한글 파일(서식 파일)로 한글의 '메일 머지' 기능을 사용하여 약 100여 장(엑셀 파일에 입력한 데이터만큼)에 달하는 한글 파일이 만들어지면 이걸 PDF로 다시 변환하고 그 PDF 내에서 원하는 내용을 찾고 내용이 있으면 그 해당 페이지를 따로 저장하여 특정한 파일명까지 지정해줘야 했습니다.. * 메일머지 http://help.hancom.com/hoffice/multi/ko_kr/hwp/tools/mail_merge/mail_merge.htm 메일 머지 메일 머지 도구-메일 머지 메일 머지는 여러 사람의 이름, 주소 등이 들어 있는 '데이터 파일(data file)'과 '서식 파일(form letter file)'을 ..

컴퓨터/c# 2021.04.23

oscdimg로 부팅 가능한 디스크 이미지 ISO 작성 (BIOS, UEFI 사용 가능)

'oscdimg' 참 오랜만에 사용해봅니다. 2005년? 2006년? 정도에 Windows XP WOW 버전을 만들어 본다고 여기저기 찾아가며 공부하며 사용하였었는데 버전별로 OS를 가져다 놓으니 몇 기가 ~ 몇십 기가씩 하던 파일들을 oscdimg 파일을 통해 명령어를 넣고 ISO 파일로 만들면 상당히 작은 용량으로 만들어졌던 기억이 납니다. 어렸던 저 당시에 이해했기로 'oscdimg' 프로그램의 명령어 하나가 중복되는 파일들의 속은 지우고 껍데기만 남겨놓아 하나의 파일에 연결하여 용량을 줄여준다고 이해했었는데 그게 아니라 중복 파일을 한 번만 인코딩해 용량을 최적화 하는게 핵심이었습니다. (지금 생각해보면 그 당시에 이해했던 게 더 불가능해 보입니다.) * oscdimg 명령어 설명 (위 내용은 문..

컴퓨터/기타 2021.04.02

MSSQL WITH 구문 사용 방법 (단일(?), 다중(?) 변수)

MSSQL 선입 선출 관련 쿼리를 작성하다 WITH문을 사용했었습니다. 임시 테이블 사용 시 간단하게 사용할 수 있어서 요즘 자주 사용하는 편입니다. ※ 단일, 다중 변수.. 공식적인 용어는 아닙니다. 다만 제가 구분하기 위해 붙여보았으니 오해 없으시기 바랍니다. WITH 구문의 사용 방법은 간단합니다만, 이 또한 기록으로 남기기 위해 글을 작성합니다. * WITH 구문 단일 변수 사용 예제 WITH temp AS ( SELECT 1 AS num, '단일' AS gubun, 'with 구문' AS contents, '0001' AS userid UNION ALL SELECT 2 AS num, '단일' AS gubun, '변수' AS contents, '0002' AS userid ) SELECT num,..

컴퓨터/MSSQL 2021.03.24

MSSQL 선입 선출 적용 방법(feat. WITH 구문)

MSSQL에 일자별로 입력된 데이터로 선입 선출을 적용하여 계산할 일이 생겼습니다. 선입 선출을 적용한다는 게 해본 적이 없으니 생소하고 어렵게만 생각했으나 이해한 내용을 바탕으로 기록으로 남기고자 작성합니다. 여러 가지 방법으로 구현이 가능하겠으나 제가 이해하고 이를 응용하여 사용하기도 하였습니다. 그리고 입력되어 있는 데이터 중에서 먼저 입력된 데이터를 먼저 차감하는게 이번 선입 선출 적용의 목적입니다. * 선입 선출이란? https://ko.wikipedia.org/wiki/%EC%84%A0%EC%9E%85_%EC%84%A0%EC%B6%9C 선입 선출 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 선입선출의 개요도. 선입 선출(先入先出, first in, first out, ..

컴퓨터/MSSQL 2021.03.24

COMPAQ Presario CQ62-405AU 노트북 분해

2011년쯤 출시되었던 Compaq사의 Presario CQ62-405AU 노트북입니다. 업그레이드 의뢰(?)가 들어온 제품인데 오래되기도 했고 느려서 사용 안 한지도 오래되었다고 합니다.. 간단한 웹 서핑, 기타 등등을 위해 업그레이드 가능한지 확인하기 위해 분해해보았습니다. http://prod.danawa.com/info/?pcode=1311615#bookmark_product_information [다나와] COMPAQ 프리자리오 CQ62-405AU (기본) 최저가 0원 prod.danawa.com 우선 하단부의 쿨링팬에서 굉음이 있어 전체 분해를 선택했습니다. 가능한 업그레이드는 SSD 추가, RAM 추가(총 슬롯 2개, 8기가까지 확장 가능, RAM의 상세 사양은 상품 페이지 참조), 2nd ..

컴퓨터/기타 2021.03.23

Visual Studio 2019 Ctrl + 마우스 왼쪽 클릭 시 정의 이동 해제

Visual Studio 2010 사용 시 빠른 복사 또는 붙여 넣기를 위해 Ctrl + 마우스 왼쪽을 가끔 사용하였습니다. 처음에는 불편했는데 익숙해지니 원하는 단어를 더블 클릭하는 거보다 조금 더 빠르게 선택할 수 있습니다. (개인적인 생각) Visual Studio 2019에서 개발할 일이 있어 하던 중 필요한 곳에 버릇처럼 Ctrl + 마우스 왼쪽을 사용하였는데 기본 설정일 경우 선택된 클래스나 메서드의 정의로 계속 이동하게 되어 매우 불편하여 해당 기능을 찾게 되었고 변경하는 방법을 글로 남기고자 합니다. * Visual Studio 2019 설정 방법 - Visual Studio 2019 실행 ->도구 -> 옵션 -> 텍스트 편집기 -> 일반 - '마우스를 클릭하면 정의로 이동하도록 허용' 체..

컴퓨터/기타 2021.03.02

MSSQL 버전 확인 (쿼리문, 간단)

사용 중인 MSSQL의 버전을 정확히 확인해야 할 일이 있어 글로 남겨봅니다. 여러 가지 방법이 있으나 간단하게 쿼리문으로 작성 후 확인해봅니다. * 쿼리문 SELECT @@version * 결과 Microsoft SQL Server 2008 R2 (SP3) - 10.50.6000.34 (X64) .... - 사용중인 SQL의 버전과 플랫폼, 설치 일자, 설치된 운영체제의 버전과 플랫폼 등 간략하게 조회 가능합니다. 이상입니다.

컴퓨터/MSSQL 2021.02.24

MSSQL 날짜 형식 (Date Format)

MSSQL의 날짜 형식입니다. 쿼리문 작성 시 자주 쓰이기도 하고 날짜 관련 쿼리 작성 시 매번 찾아보는 부분이라 글로 남겨봅니다. MSSQL에서 날짜 관련 형식은 여러 가지의 형식을 지원합니다. 결과를 보고 사용자가 원하는 형식을 사용하면 되겠습니다. * MSSQL 날짜 형식 쿼리문 및 결과 쿼리문 결과 SELECT CONVERT(varchar, GETDATE(), 0) 02 24 2021 2:52PM SELECT CONVERT(varchar, GETDATE(), 1) 02/24/21 SELECT CONVERT(varchar, GETDATE(), 2) 21.02.24 SELECT CONVERT(varchar, GETDATE(), 3) 24/02/21 SELECT CONVERT(varchar, GETDA..

컴퓨터/MSSQL 2021.02.24

VB.NET 엑셀 업로드 (Import Excel)

VB.NET으로 개발하다 엑셀 업로드를 해야 하는데 전체 행 중에서 특정 데이터만 선택해서 그리드에 입력해야 하는 일이 있었습니다. 엑셀 업로드 방법은 여러 가지 방법이 있지만 Dataset에 저장해서 필요한 데이터만 선택하던지 혹은 전체를 올리는 방식은 추후 시간이 되면 따로 작성하도록 하고 이번에는 필요한 데이터의 위치를 지정하고 그 값을 얻고자 합니다. 실제 적용도 해보고 정리도 할 겸 글로 남깁니다. * 예제 - 위와 같은 예제에서 필요한 데이터는 빨간 테두리 안의 데이터입니다. * 코드 '프로젝트의 참조에 Microsoft.Office.Interop.Excel 추가 '선언(필수) Imports Excel = Microsoft.Office.Interop.Excel '원하는 위치에서 사용 가능(버튼..

컴퓨터/VB.NET 2021.02.10

MSSQL 연결된 서버 사용하기 (Linked Server)

회사에 DB서버가 여러 대라 각각의 DB서버에 연결된 서버로 등록하여 서로 연결되어 있습니다. 각각의 DB서버의 테이블에 데이터 조회할 일이 있을 때마다 여기저기 찾아다니며 검색하게 되고 의외로 간단한데도 자주 사용하지 않아 잊어버리니 기록으로 남기고자 작성합니다. * 해당 예제는 MSSQL -> 서버 개체 -> 연결된 서버(Linked Server)에 연결하고자 하는 서버들이 연결되어 있다고 가정하고 예제로 진행합니다. - 위와 같이 현재 DB서버가 아닌 연결된 서버에 접근하고자 합니다. - C_Table에 원하는 데이터가 있어 조회하고자 합니다. * 조회 방법 -- 방법 SELECT * FROM 서버명칭.데이터베이스.dbo.테이블 -- 예제 -- insert INSERT INTO A_Server.B_..

컴퓨터/MSSQL 2021.01.28

c# 단일 실행 파일로 컴파일하기 (ILMerge, Fody)

이번에 개인적인 프로그램을 개발할 게 있어 작업 도중 자주 쓰이는 메서드나 컨트롤들을 DLL로 따로 관리하게 되었습니다. 그간 혼자 쓰느라 프로그램 배포할 일도 없었고 메서드나 컨트롤들을 프로그램 소스에 그대로 써서 라이브러리를 관리할 일도 없었습니다. 여기저기 흩어져있는 메소드나 컨트롤을 한 곳에 모으고 나름 관리를 해보고자 DLL로 구성하였고 이번에 개발하는 프로그램에도 아주 유용하게 적용하였습니다. 근데 이걸 컴파일 후 사용자한테 파일을 전달할 때 실행파일과 함께 사용된 DLL들도 같이 전달해야 하는 상황이 발생합니다. 이 파일들을 한 번에 전달하기에 좋은 방법이 없을까 하다 단일 파일로 만들 수 있는 방법들을 알게 되었고 앞으로도 유익하게 활용할 수 있어 기록으로 남기고자 합니다. * 컴파일 후 ..

컴퓨터/c# 2021.01.22

Windows 10 업데이트 안될 때 또는 오류 발생(0x80073712) 시 조치 방법 (간단)

포맷해야 할 PC가 생겨 포맷 이후 윈도우 10 설치하고 업데이트를 진행하였습니다. 원하는 각종 설정을 전부 마치고 업데이트만 기다리고 있는데 버전이 1703 혹은 1909인데도 불구하고 업데이트가 계속 최신이라고만 나옵니다. 몇 번을 재부팅하고 기다려도 계속 최신 상태라고 나오고 4~5시간이 지나도 1703 버전인데 최신이라고만 나옵니다. 여러 가지 해결 방법이 있으나 이 PC들에서는 해결되지 않았고 결국 수동 업데이트 프로그램으로 해결하였습니다. 업데이트가 되지 않는 증상이 있는 PC가 2~3대 있어 제가 해봤던 해결 방법들을 글로 남기고자 합니다. 2023.01.13 추가 * 윈도우 10 업데이트 시 '0x80073712' 오류 발생 시 해결 가능한 방법 - 윈도우 10 업데이트 문제 해결사 - 시..

컴퓨터/기타 2021.01.11

WMI 테스터 사용기

프린터 쪽 관련하여 만들어야 할 게 있어 정보를 찾다가 WMI(Windows Management Instrumentation) 관련 좋은 기능을 알게 되어 글로 남깁니다. WMI는 윈도우의 여러 가지 설정을 확인 및 구성이 가능하고 많은 부분을 관리할 수 있으며 개발할 때 상당히 유용하게 사용될 듯합니다. 더욱 자세한 내용은 위키 참조하시면 되겠습니다. https://ko.wikipedia.org/wiki/%EC%9C%88%EB%8F%84%EC%9A%B0_%EA%B4%80%EB%A6%AC_%EB%8F%84%EA%B5%AC 윈도우 관리 도구 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org 제가 전부다 사용할 일은 없겠지만 궁금했던 전체적인 클래스나 혹은 해당 클래스가 가지고 있는 객체명 ..

컴퓨터/기타 2020.12.31

MSSQL ORDER BY절에 CASE문 사용하기

쿼리문의 조회된 결과 중 어떠한 칼럼에 원하는 데이터가 있을 경우 그 그 데이터들만 특정한 칼럼을 기준으로 다시 오름 차순 정렬을 해야 하는 작업이 생겼습니다. 사용하는 언어의 컴포넌트나 지원 요소에 따라 간단히 해결될 수도 있고 다른 방식으로도 해결이 가능하겠지만 이번에는 ORDER BY 절에 CASE 문을 사용해보기로 했습니다. 초보라 설명은 잘 못하지만 가끔은 쓰일 듯 하여 글로 남겨봅니다. * 예제 데이터 위와 같이 'members' 테이블에 데이터가 입력되어 있고 'grade' 칼럼으로 오름차순 정렬되어 있습니다. 예를 들기 위해 단순히 입력했습니다. 우선, 여기서 현재 조회된 정렬 상태를 유지하되 'grade' 컬럼의칼럼의 데이터 중 '65'인 항목들만 'note' 칼럼의 데이터를 오름차순으로..

컴퓨터/MSSQL 2020.12.08

C# XML POST 전송과 응답, 파싱 예제 등

얼마 전 어쩌다 한 번씩 사용하는 사이트의 검색 결과를 XML 파싱할 일이 있어 작업하였습니다. 회사 업무용으로 가끔 사용하는데 응용 및 개선한다면 두루 사용 가능할 듯합니다. XML 파싱 방법을 찾다가 우연히 외국 사이트에서 찾은 라이브러리가 있었는데 인코딩 문제 해결부터 결과 나오기까지 간단히 해결하는 방법도 있었으나 이번에는 비주얼 스튜디오 자체적으로 지원되는 클래스를 사용하였습니다. XML 파싱 방법은 여러 가지 있는데 저는 XmlReader를 사용했습니다. 추후 다른 방법으로 개선한다면 그때 글을 작성하겠습니다. * XML POST 전송 및 응답 소스 string strxml = "전송 될 xml"; string url = "URL 주소"; //호출 HttpWebRequest req = (Htt..

컴퓨터/c# 2020.12.03
728x90
반응형