C#
-
C# 웹이미지 다운로드 내폴더에 저장하기닷넷/C# 2020. 1. 3. 00:26
private bool DownloadRemoteImageFile(string uri, string fileName) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); bool bImage = response.ContentType.StartsWith("image", StringComparison.OrdinalIgnoreCase); if ((response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.Moved || response.S..
-
C# WebBrowser없이 HTML 파싱하기(HtmlAgilityPack 사용기)닷넷/C# 2019. 12. 26. 19:56
웹브라우저로 사이트 띄우고 html을 가져오고 하는게 은근히 손이 많이 들어간다. 처음부터 끝까지 오로지 하나의 메소드 안에서 코드로만 작업하고 싶다. 또 사이트 주소는 모르고 html 형식으로 된 텍스트만 가지고 있을때 html을 파싱할 수 있는 방법이 어디 없을까? 도구 > NuGet 패키지 관리자 > 솔루션용 NuGet 패키치관리 순으로 클릭한다. HtmlAgilityPack을 검색한다. HtmlAgilityPack을 설치한다. HtmlAgilityPack이 설치된 후 사용할 폼 코드 맨 윗줄에 System의 HtmlDocument랑 충돌나므로 using hap = HtmlAgilityPack; 이런 식으로 입력한다. private void buttonSystem_Click(object sender..
-
C# 문자열을 열 글자씩 쪼개기, 문자열 자르기닷넷/C# 2019. 6. 19. 17:17
텍스트박스나 문자열에 줄바꿈없이 문자들이 나열되어 있을 때 줄바꿈을 주기위해 몇 글자마다 줄바꿈을 줄 것인지에 대한 방법이다. 예시 코드에는 10글자마다 줄바꿈을 주었다. private void button1_Click(object sender, EventArgs e) { string strings = textBox5.Text; int indexStart = 0; // 시작 위치 int indexEnd = 0; // 종료 위치 int iSplit = 11; // 몇 글자씩 쪼갤 것인지 + 1 (문자열을 10글자씩 쪼갤 때 = 11) int totalLength = strings.Length; // 문자열 길이 int forCount = totalLength / iSplit; // 글자를 몇 번 쪼개야 하..
-
C# 책 추천 네트워크, 소켓, 문법, 디자인패턴 등등도서 2019. 5. 21. 18:15
1. TCP/IP 소켓 프로그래밍 - C# 버전 David B. Makofske (지은이),최낙준 (옮긴이)사이텍미디어(희중당)2005-01-24 TCP/IP 소켓 프로그래밍 - C# 버전 TCP/IP 뿐만 아니라 넌블로킹 소켓, 멀티플렉싱, 쓰레드, 비동기 프로그래밍 그리고 멀티캐스팅 등 주요 소켓 프로그래밍 기법에 대한 튜토리얼 형태의 설명과 그에 해당하는 많은 코드 예제가 있다. 또한, 빠른 속... www.aladin.co.kr 2. 실무자를 위한 C# 네트워크 프로그래밍 Richard Blum 저 / 김형규, 최낙준 편역 | 지앤선(志&嬋) | 2004년 01월 09일 | 원제 : C# Network Programming 실무자를 위한 C# 네트워크 프로그래밍 초보자들이 C#의 네트워크 클래스와..
-
C# and Database(SQLite, MySQL, MSSQL, Oracle) data type mapping닷넷/C# 2019. 5. 3. 17:49
1. C# vs SQLite: C# SQLite The field name Type Library type GetFieldType(#) Transformation Remarks F_BOOL bool BIT NOT NULL Boolean F_BOOL_NULL bool? BIT Boolean F_SBYTE sbyte INT8 NOT NULL SByte sbyte_ F_SBYTE_NULL sbyte? INT8 SByte sbyte_ F_BYTE byte UINT8 NOT NULL Byte F_BYTE_NULL byte? UINT8 Byte F_SHORT short INT16 NOT NULL Int16 F_SHORT_NULL short? INT16 Int16 F_USHORT ushort UINT16 NOT NU..
-
C# WinForms Datagridview Paging, 데이타그리드뷰에서 데이터를 페이지로 나누기닷넷/WinForms 2019. 5. 3. 11:29
티스토리 에디터가 바뀌면서 Color Scripter에서 복사한 게 이상하게 붙여진다. 다행이도 주소로 공유할 수 있어서 코드는 아래 주소를 통해 공유한다. Form1.Designer.cs(디자인): http://colorscripter.com/s/dpYT9Qb 공유된 코드 - Color Scripter 코드 설명 : [Form designer cs]How to paging with datagridview in c# colorscripter.com Form1.cs(코드): http://colorscripter.com/s/VyVn5TH 공유된 코드 - Color Scripter 코드 설명 : How to paging with datagridview in c# colorscripter.com 프로그램 실행 영상
-
C# DataGridView 편집, 추가, 삭제, 열 다시 정렬닷넷/WinForms 2019. 4. 21. 09:04
// 편집 불가능(읽기) dataGridView1.ReadOnly = true; // 편집 가능(읽기, 쓰기) dataGridView1.ReadOnly = false; // 추가 O dataGridView1.AllowUserToAddRows = true; // 추가 X dataGridView1.AllowUserToAddRows = false; // 삭제 O dataGridView1.AllowUserToDeleteRows = true; // 삭제 X dataGridView1.AllowUserToDeleteRows = false; // 열 다시 정렬 O dataGridView1.AllowUserToOrderColumns = true; // 열 다시 정렬 X dataGridView1.AllowUserToOrd..
-
C# 요일 구하기 DayOfWeek 메서드닷넷/C# 2019. 4. 20. 09:07
C#에서 요일을 구하는 DayOfWeek 메서드 사용법 //월화수목금토일을 int형으로 반환하는 함수 int WhatDay(DateTime _dt) { int iReturn = 0; DayOfWeek dt = _dt.DayOfWeek; switch (dt) { case DayOfWeek.Monday: //월 iReturn = 1; break; case DayOfWeek.Tuesday: //화 iReturn = 2; break; case DayOfWeek.Wednesday: //수 iReturn = 3; break; case DayOfWeek.Thursday: //목 iReturn = 4; break; case DayOfWeek.Friday: //금 iReturn = 5; break; case DayOfW..
-
C# How to export data direct from reportviewer to excel.닷넷/WinForms 2019. 4. 19. 12:15
private void btnExcel_Click(object sender, EventArgs e) { Warning[] warnings; string[] streamids; string mimeType; string encoding; string extension; byte[] bytes = reportViewer1.LocalReport.Render( "Excel", null, out mimeType, out encoding, out extension, out streamids, out warnings); SaveFileDialog save = new SaveFileDialog(); save.Filter = "Excel File (*.xls)|*.xls|All Files (*.*)|*.*"; save...
-
C# List<type> 중복제거닷넷/C# 2019. 4. 14. 21:33
List의 Distinct를 쓰면 된다. 단, List에 타입이 string이나 int 같이 속성이 하나일 때만 된다. 속성이 여러개이면 중복제거가 되지 않으므로 중복을 제거할 값의 타입으로 먼저 리스트를 만들고 값을 넣어 중복제거하고 다른 리스트에 담으면 된다. 다음은 카톡 대화내용 분석에서 방문자리스트를 만들 때 사용한 방법이다. // 방문자 이름만 담을 리스트 List list = new List(); for (int i = 3; i 0) { if (text[i].Substring(0, 1) == "[") { string[] s = text[i].Split(' '); try { if (s[1].IndexOf("[오") > -1) { list.Add(s[0]); } } catch { continue;..
-
C# 데이터그리드뷰 CSV 파일로 저장하기닷넷/WinForms 2019. 4. 14. 21:14
private void Save_Csv(string fileName, DataGridView dgv, bool header) { string delimiter = "`"; // 구분자 FileStream fs = new FileStream(fileName, System.IO.FileMode.Create, System.IO.FileAccess.Write); StreamWriter csvExport = new StreamWriter(fs, System.Text.Encoding.UTF8); if (dgv.Rows.Count == 0) return; // 헤더정보 출력 if (header) { for (int i = 0; i
-
C# 숫자만 입력되게 하는 방법들닷넷/WinForms 2019. 4. 5. 08:54
금액이나 수량이 입력되는 텍스트박스를 만들 때 숫자가 아닌 것이 입력될 경우 계산에 오류를 주는 등 치명적인 오류가 발생할 수 있다. 그러므로 아예 입력될 때부터 숫자만 입력되게 할 수 있는 방법들에 대해 정리해 보았다. 1) KeyPress 이벤트에서 핸들링 [: 한글 입력은 ProcessKey이기 때문에 KeyPress 이벤트로는 한글 입력을 막지 못한다. 아래 방법 중 한가지를 같이 쓰던가 해야할 것이다.] private void txtPrepay_KeyPress(object sender, KeyPressEventArgs e) { // 숫자와 백스페이스만 입력가능 if (!(char.IsDigit(e.KeyChar) || e.KeyChar == Convert.ToChar(Keys.Back))) { ..
-
C# 윈폼을 단순하지만 예쁜 디자인으로 탈바꿈 해주는 메트로폼 feat.Visual Studio에서 Metro UI Framework 추가하기닷넷/WinForms 2019. 3. 4. 14:37
비주얼 스튜디오에서 기본적인 C# 윈도우폼을 만들면 아래와 같이 회색풀하다. =예쁘지가 않다. 이런 윈폼을 예쁘게 꾸미기 위해 여러 아이콘과 이미지를 구해 꾸미곤 했는데 그러다 보면 코딩은 기본이고 거기에 원하는 이미지를 찾거나 만들어 배치하느라 시간이 배로 들었다. 혹은 라이센스를 구매해서 데브나 텔레릭 등의 UI를 사용해야 한다. (회사가.....) 윈폼대신 무료이거나 비용이 적으면서 쉽게 구성할 수 있는 쓸만한게 어디 없을까? 세상에 Windows 운영체제가 버전이 올라가면서 특히 윈도우 앱을 위해 발전한 Metro 디자인이 있었다. 위에 윈폼을 메트로폼으로 바꾸면 아래와 같은 화면으로 바뀐다. =단순하지만 예쁘다. 자 그럼 이것을 어떻게 적용할까? 1. 첫 번째: MetroFramework 설치하..
-
Tizen C# load local image, res 폴더에 있는 이미지 읽기 (ImageSource.FromFile)닷넷/C# 2019. 1. 3. 11:41
타이젠 앱을 다 만들고 삼성 갤럭시 앱스에 판매등록 했었는데 인증심사에서 떨어졌다. 왜 그런고 하니 이미지 파일을 읽을 수가 없어 앱이 제대로 실행되지 않았다. 디버깅할 때야 파일 경로로 이미지를 선택할 수 있는데 실제 갤럭시 워치에서 앱이 실행되려면 이미지 앱 자체에서 불러올 수 있게 해야 했다. 타이젠에 추가된 언어는 c#보다는 자마린에 가까워서 내가 알던 방식으로는 리소스폴더에 접근할 수 없었고,구글링을 하며 이것 저것 해보아도 도저히 도저히 되지 않다가 한 달이 지나 잊고 있었다. 오늘에서야 그 방법을 찾을 수 있었다. https://stackoverflow.com/questions/44609222/image-in-tizen-mobile-is-not-visible 이미지 파일을 res 폴더에 넣고..