[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

[PHP] twitter API를 통해서 데이터 얻기

PHP
API 파일 출처 : http://github.com/j7mbo/twitter-api-php 위 사이트에서 API 파일을 획득 하였으며, 해당 기능을 위해서 사용을 합니다.트위터에 글을 올릴수도 있지만 현재 제가 사용하는 기능은 특정 계정의 글을 수집해서 서버에 저장 하기 위해서 필요한 기능입니다.API 파일에는 그 밖에도 많은 기능이 있지만은 전 일방적으로 글 내용을 가져오는 기능으로만 코드를 정리 합니다. /** * API 사용을 위한 기본 설정 **/ $SETTINGS = array( 'consumer_key' => "트위터에서 제공해주는 값", 'consumer_secret' => "트위터에서 제공해주는 값", 'oauth_access_token' => "트위터에서 제공해주는 값", 'oauth_access_token_secret' => "트위터에서 제공해주는 값" ); $URL = 'https://api.twitter.com/1.1/statuses/user_timeline.json'; /** * 트위터에 요청하고 결과값 받기 **/ $getfield = '?screen_name=트위터 계정명&count=받아올 숫자'; $twitterObj = new TwitterAPIExchange($SETTINGS); $response = $twitterObj->setGetfield($getfield)->buildOauth($URL, 'GET')->performRequest(); $response = json_decode($response, true); 이 이후 설정을 자신의 결과값을 보고 필요한 형태로 가공을 하면 됩니다.현재 가공 정보가 제가 독자적으로 가공하는 정보여서 기본 형태를 새롭게 만들경우에 해당 글을…
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

[PHP] 랜덤 문자열 생성

PHP
코딩시 가끔 무작위문자열이 필요할때가 있는데 시스템이나 내장함수에서 제공하는 방식은 원하는 기준으로 맞추기가 번거롭다.단순 비교만 사용되는 토큰이나 인증코드 등은 기본난수를 해시화해서 다루면 되지만 암호찾기 등으로 변경된 암호를 사용자에게 알릴 필요가 있을때에는 상황에 따라 정돈된 무작위문자열이 필요한 경우가 있다.랜덤문자를 원하는 조합으로 원하는 길이만큼 생성할 수 있도록 만들어 보았다. function get_random_string($type = '', $len = 10) {     $lowercase = 'abcdefghijklmnopqrstuvwxyz';     $uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';     $numeric = '0123456789';     $special = '`~!@#$%^&*()-_=+\\|[{]};:\'",<.>/?';     $key = '';     $token = '';     if ($type == '') {         $key = $lowercase.$uppercase.$numeric;     } else {         if (strpos($type,'09') > -1) $key .= $numeric;         if (strpos($type,'az') > -1) $key .= $lowercase;         if (strpos($type,'AZ') > -1) $key .= $uppercase;         if (strpos($type,'$') > -1) $key .= $special;     }     for ($i =…
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

[MySQL] mysql error 1364 Field ‘name’ doesn’t have a default values

Database
MySQL 5.6 이전에는 필드 생성시 default 값을 따로 지정을 안 해도 insert 시에 '' 처럼 자동으로 디폴트 값이 반영이 되었습니다. 5.6 이후부터는 STRICT 모드라고 해서 테이블 생성시에 default 값을 지정하지 않을 경우 insert 시에 아래와 같이 에러가 발생합니다. 정확하게 필드마다 값을 지정해주는것도 좋지만 외부프로그램을 사용할때 특별히 지정 안해줘도 되는 부분에 '' 이걸 다 셋팅해주긴 귀찮은 편입니다. mysql.cnf 파일에서 "sql_mode"부분을 찾아서 다음 부분을 제외 하고 재시작을 해주시면 됩니다. #sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # 'STRICT_TRANS_TABLES' 항목을 제외하고 mysql 재시작 sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Read More

[HTML] DIV 웹 스크롤 따라 다니도록 하기

WWW
[HTML] DIV 웹 스크롤 따라 다니도록 하기 <div style="position:relative;float:left;width:80px;"> <div id="scroll" style="position:absolute;top:0px;left:0px;"> <div>따라갑시다.</div> </div> </div> <script> $("document").ready(function() { $(window).scroll(function() { $('#scroll').animate({top:$(window).scrollTop()+"px" },{queue: false, duration: 350}); }); $('#scroll').click(function() { $('#scroll').animate({ top:"+=15px",opacity:0 }, "slow"); }) }); </script>
Read More

[JQuery] Error 내역 alert 표시

JavaScript
$.ajax({ url: '/board/write_update.php', type: 'POST', processData: false, contentType: false, data: formData, cache : false, timeout: 300000, datatype:"json", success: function (data, status) { alert(data.href); location.replace(data.href); }, error : function(request,status,error) { alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } });
Read More