[C#] 원하는 URL 원하는 웹브라우저로 실행하기

CSharp
WinForm을 만들여서 특정한 URL에 대해서 웹으로 접근해야 합니다.내장현 브라우저를 사용해도 되지만 사용자가 사용하는 웹브라우저는 분명히 존재하거나 혹은 기본으로 설정해 놓은 값이 다르면은 츨력에 에러가 발생할때도 있습니다.그래서 단순하게 OS에 기본 브라우저를 믿을것이 아니라 개발자가 직접 지정을 해서 실행을 하면은 좀 더 명확하게 원하는 웹브루어저로 웹에 접근을 할 수 있을것 같아서 찾아본것입니다. ProcessStartInfo cmd = new ProcessStartInfo(); Process process = new Process(); cmd.FileName = @"cmd"; cmd.WindowStyle = ProcessWindowStyle.Hidden; // cmd창이 숨겨지도록 하기 cmd.CreateNoWindow = true; // cmd창을 띄우지 안도록 하기 cmd.UseShellExecute = false; cmd.RedirectStandardOutput = true; // cmd창에서 데이터를 가져오기 cmd.RedirectStandardInput = true; // cmd창으로 데이터 보내기 cmd.RedirectStandardError = true; // cmd창에서 오류 내용 가져오기 process.EnableRaisingEvents = false; process.StartInfo = cmd; process.Start(); process.StandardInput.Write(@"start explorer http://naver.com "+ Environment.NewLine); // 크롭 //process.StandardInput.Write(@"start firefox http://naver.com "+ Environment.NewLine); // 파이어폭스 //process.StandardInput.Write(@"start whale http://naver.com "+ Environment.NewLine); //…
Read More

[C#] datagridview에 아이콘 표시 하기

CSharp
[C#] datagridview에 아이콘 표시 하기 Datagrid에 Header부터 행 처리에 있어서 필요한 코드만 정리해 놓은것입니다.사용 방법은 자신이 원하는 형태로 처리 하시기 바랍니다. // header dataGridView1.Visible = true; dataGridView1.AutoGenerateColumns = false; dataGridView1.RowHeadersVisible = false; dataGridView1.MultiSelect = false; dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Red; dataGridView1.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "제목", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill, FillWeight = 10 }); dataGridView1.Columns.Add(new DataGridViewImageColumn() { HeaderText = "아이콘 출력 ", Width = 40, ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill, ValuesAreIcons = true, FillWeight = 5 }); // 아이콘 정의 Icon New = Properties.Resources.newicon; // icon의 x 자 표시 없애주기 dataGridView1.Columns[1].DefaultCellStyle.NullValue = null;
Read More

[C#] Treeview 문자 검색 하여서 노드 찾기

CSharp
[C#] Treeview 문자 검색 하여서 노드 찾기 Treeview 사용에 있어서 정확하게 node를 지정할 수 있으면 가장 편하지만은 사용자의 값을 넣다 보면은 규칙적으로 변하지 않을 경우에 강제로 treeview에서 node로 검색을 해서 추가 해야 합니다.해당 기능의 소스 입니다. private TreeNode SearchNode(string SearchText, TreeNode StartNode) { TreeNode node = null; while (StartNode != null) { if (StartNode.Text.ToLower().Contains(SearchText.ToLower())) { node = StartNode; break; }; if (StartNode.Nodes.Count != 0) { node = SearchNode(SearchText, StartNode.Nodes[0]); //Recursive Search if (node != null) { break; }; }; StartNode = StartNode.NextNode; }; return node; }
Read More

[C#] Treeview에 아이콘 표시 방법

CSharp
winform 작업할 경우에 treeview를 사용할때 아이콘을 표시해서 좀 더 명확하게 보여주어야 할때가 있습니다.이럴 경우에 아이콘을 사용하면은 글을 읽이 않아도 아이콘 모양으로 한번에 알아 보기 쉽도록 하기 위해서 필요한 기능입니다. 리소스에 아이콘을 추가 하고 해당이름으로 리스트를 만듭니다.이 이후에 treeview에 node에 맞춰서 추가를 해 주면 됩니다. // 아이콘 리스트 만들기 ImageList myimageList = new ImageList(); myimageList.Images.Add(Properties.Resources.icon); // 아이콘 1 myimageList.Images.Add(Properties.Resources.icon2); //아이콘 2 treeView1.ImageList = myimageList; // 아이콘 추가 TreeNode AllCreator = new TreeNode("이름"); AllCreator.ImageIndex = 0; AllCreator.SelectedImageIndex = 0; treeView1.Nodes.Add(AllCreator);
Read More
[C#] 편성표 사이트 API를 통한 데이터 출력

[C#] 편성표 사이트 API를 통한 데이터 출력

CSharp
[C#] 편성표 사이트 API를 통한 데이터 출력 제작환경 : Visual Studio 2017 필수 : .Net FrameWork 4.5 이상 지신이 필요해서 제작을 하였으며, 편성표 사이트에서 제공하는 API를 통해서 데이터를 가공해서 보여주게 되었습니다.API를 제공하는 사이트는 2곳이여서 개별적으로 접속을 해서 확인을 해야 하기에 2곳을 모두 모아서 처리해서 보여 주게 되어 있습니다.JSON처리를 하여서  데이터 처리를 하였습니다. ※ 현재 해당 프로그램의 공개는 하지 않고 있습니다. 상위 개발로 하위 버전을 배포하지 않고 있습니다.
Read More

[C#] 디렉토리, 파일 유무 체크

CSharp
// 디렉토리 유무 체크 System.IO.DirectoryInfo di = new System.IO.DirectoryInfo("디렉토리 경로"); if(di.Exists) { // 디렉토리 존재 } else { // 디렉토리 없음. } // 파일 유무 체크 string _Filestr = "파일 경로"; System.IO.FileInfo fi = new System.IO.FileInfo(_Filestr); if(fi.Exists) { // 파일 존재 } else { // 파일 없음. }
Read More

[C#] – Unix TimeStamp를 DateTime으로 변환하기

CSharp
C# – Unix TimeStamp를 DateTime으로 변환하기 Unix 시스템에서는 1970년 1월 1일(GMT)을 기준으로 초를 측정하여 시간을 나타냅니다. static DateTime ConvertFromUnixTimestamp(double timestamp) { DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0); return origin.AddSeconds(timestamp); } static double ConvertToUnixTimestamp(DateTime date) { DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0); TimeSpan diff = date - origin; return Math.Floor(diff.TotalSeconds); }
Read More

[C#] 숫자 3자리 마자 콤마 찍기

CSharp
int won = 123456890; Console.WriteLine(string.Format("{0:n0}", won)); Console.WriteLine(string.Format("{0}", won.ToString("n0"))); ; Console.WriteLine(string.Format("{0:#,##0}", won)); Console.WriteLine(string.Format("{0}", won.ToString("#,##0"))); //결과 //123,456,890 //123,456,890 //123,456,890 //123,456,890
Read More
[PHP] skechers.com 스크래핑 웹페이지 소스 얻기

[PHP] skechers.com 스크래핑 웹페이지 소스 얻기

CSharp, PHP
# 요구사항 1. 전체 상품을 모두 가져와야 한다. 2. 각 상품의 모든 보여주는 이미즈를 모두 저장해야 한다. 3. 각 상품의 고유한 정보는 정리해서 모두 등록한다. # 작업환경 Visual Stuido 2013 C# WinForm, MySQL PHP 7.0.4 (cli) 초기 작업은 C#으로 이줘졌지만은 이후 작업은 Local에서 순수 PHP (cli)만드로 작업이 되었습니다. 1. 각 상품의 대분류에 따라서 이미지 저장을 달리함. 일단 영문자, - 외에는 모두 제거 하여서 Web상에서 사용할 경우에도 주소를 획일한 시켜드림 각 이미지 파일은 원본 사이트의 순수 이름 그대로 인용하여서 처리 하였습니다. 2. 각 상품상세정보 페이지에서 가져온 원본 소스와 해당 정보를 추리하는 JSON값을 추출하여서 별도로 분리하여서, 웹스크래핑 당시의 전체 웹페이지를 눈으로 확인 할 수 있습니다. 아울러 JSON으로 별도로 저장해서 상품상세페이지에서 정보를 한눈에 볼 수 있도록 파일을 만들어 드렸습니다. 아래의 캡쳐 화면은 원본 사이트의 순서 소스를 그대로 저정한 화면이기때문에 바로 로컬에서 웹페지를 확인해…
Read More
[C#] 연봉정보 검색 후 상세정보 수집

[C#] 연봉정보 검색 후 상세정보 수집

CSharp
[C#] 연봉정보 검색 후 상세정보 수집 Jobkorea의 연봉검색을 통해서 전체 기업명과, 기업의 연봉정보를 직급결로 수집하는것입니다. 한번에 전체 수집도 있지만, 개별적으로 검색해서 수집을 할 수 있는 기능을 포함을 요청 하였습니다. 작업환경 Visual Studio 2013 C# WinForm HtmlAgilityPack 라이브러리 사용 요구사항 1. Jobkorea 로그인 하여서 연봉 검색후 파일 저장 요청 2. 전체 기업 목록을 수집 3. 원하는 기업 검색후 해당 기업만 선택후 수집 4. 각 기업의 상세정보의 직급별 정보를 요청함 작업 화면 (※ 작업화면의 결과는 일반적으로 공개되지 않으면은 일부 내용을 삭제 처리하여서 난독화 시켜 놓습니다.) 1. 초기 화면 1-1. 연봉 전체 검색시 화면 1-2. 개별 검색 화면 2. 목록 파일 생성 결과 화면 해당 목록의 파일을 생성합니다. 중복을 최대한 억제하기 위해서 개별적으로 날짜와 시간을 넣어서 파일명의 동일할 경우에 덮어쓰지 않도록 하였습니다. 파일은 CSV(Tab 구분)으로 생성하여서 파일을 생성한 화면 입니다. 3. 개별 상세…
Read More
[C#] skechers.com 스크래핑 웹페이지 Source 크롤링

[C#] skechers.com 스크래핑 웹페이지 Source 크롤링

CSharp
# 요구사항1. 전체 상품을 모두 가져와야 한다.2. 각 상품의 모든 보여주는 이미즈를 모두 저장해야 한다.3. 각 상품의 고유한 정보는 정리해서 모두 등록한다. # 작업환경Visual Stuido 2013 C# WinForm, MySQLPHP 7.0.4 (cli) skechers.com 작업은 조금 귀찮은 작업으로 이뤄졌습니다.일단 AJAX로 json 값을 가져와서 페이지에 로딩하기때문에 한번에 HTML 소스를 가져오지 못하였습니다. 위 사진과 같이 상품 진열 페이지가 일반적으로 보면은 웹페이지만은 AJAX로 추가되기 때문에 소스를 가져오는 방식이 조금 사물 다릅니다. 각 상품의 URL 주소를 번호를 주어서 아래와 같이 저장을 하여서 1~* 까지 번호로 저장을 하였습니다.물론 각기 원하는 방식으로 저장도 되지만은 숫자가 가장 편한 작업니다. 이후에 작업은 C#에서 처리 하지 않았습니다.PHP로 LOCAL로 처리 하였습니다
Read More

[C#] Webbrowser의 스크롤을 가장 하단으로 보내기

CSharp
웹브라우저를 사용할 경우에 가로 스크롤를 가장 하단으로 보내는것입니다. #파라미터 Bool # true : Top # false : bootom webBrowser1.Document.Body.ScrollIntoView(false); 사용하는 목적은 가로 스크롤이 길 경우에 화면에 보이는 부분을 가장 하단으로 하여서 지표를 보기 위해서 입니다.
Read More