블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2024.12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

공지사항

최근에 올라온 글

마우스 우측(Right) 버튼 클릭 이벤트 처리 방법
마우스 RightClick

MouseClick 핸들러 이벤트에서 처리한다.

private void Button_MouseClick(object sender, MouseEventArgs e)
{
	switch (e.Button)
    {
    	case MouseButtons.Left:// Left click
        	...
    		break;
	    case MouseButtons.Right:// Right click
        	...
    		break;
    	default:
        	...
	}
}
Posted by 안녕1999
, |
네임스페이스는 필드나 메서드와 같은 멤버를 직접 포함할 수 없습니다.

=> namespace에 작성했다. class안에 넣어라.
Posted by 안녕1999
, |

아래와 같이 저장하니, 에러 안나오네요.

wb.SaveAs(m_File, Excel.XlFileFormat.xlExcel5);
Posted by 안녕1999
, |

LISTVIEW 관련 함수들

C# / 2020. 10. 11. 23:55
	static public class LISTVIEW
	{
		static public string Get_col_width(ListView lv)
		{
			int i, n;
			string s = "";
			ListView.ColumnHeaderCollection h = lv.Columns;
			n = h.Count;
			for (i = 0; i < n; i++)
			{
				s += h[i].Width + ",";
			}
			return s;
		}
		static public string Get_col_name(ListView lv)
		{
			int i, n;
			string s = "";
			ListView.ColumnHeaderCollection h = lv.Columns;
			n = h.Count;
			for (i = 0; i < n; i++)
			{
				s += h[i].Text + ";";
			}
			return s;
		}
		static public void Set_col_name(ListView lv, string col_name,//="sheet;cell;text;min;value;max"
			string default_col_name)//="sheet;cell;text;min;value;max;"
		{
			int i, n;
			string[] c = col_name.Split(';');
			string[] d=null;
			string name;
			ListView.ColumnHeaderCollection h = lv.Columns;
			h.Clear();
			n = c.Length;
			try
			{
				for (i = 0; i < n; i++)
				{
					//데이터가 부족한 경우, 기본설정값 사용
					name = c[i];
					if ((name == "") || (name == null))
					{
						if(d == null)
						{
							d = default_col_name.Split(';');
						}
						else
						{ }
						name = d[i];
					}
					else
					{ }
					h.Add(name);
				}
			}
			catch
			{ }
		}
		static public void Set_col_width(ListView lv, string col_width,//="50,50,200,100,50,50,50"
			string default_col_width)
		{
			int i, n;
			string[] c = col_width.Split(',');
			string[] d=null;
			string s;
			ListView.ColumnHeaderCollection h = lv.Columns;
			n = c.Length;
			if(n>h.Count)
			{
				n = h.Count;
			}
			else
			{ }
			try
			{
				for (i = 0; i < n; i++)
				{
					//읽은 데이터가 부족할 경우, 기본 데이터 사용
					s = c[i];
					if ((s == "") || (s == null))
					{
						if (d == null)
						{
							d = default_col_width.Split(',');
						}
						else
						{ }
						s = d[i];
					}
					else
					{ }
					h[i].Width = Convert.ToInt32(s);
				}
			}
			catch
			{ }
		}
		static public void Ini_load_header_name_width(string Section, ListView lv,
			string col_name,//="번호;제목;가격;기타;"
			string col_width)//="50,50,200,100,"
		{
			IniFile ini = new IniFile();
			ini.SetSection(Section);
			string s;
			s = ini.Gets("COL_NAME", col_name);
			Set_col_name(lv, s, col_name);
			s = ini.Gets("COL_WIDTH", col_width);
			Set_col_width(lv, s, col_width);
		}
		static public void Ini_save_header_name_width(string Section, ListView lv)
		{
			IniFile ini = new IniFile();
			ini.SetSection(Section);
			ini.Puts("COL_NAME", Get_col_name(lv));
			ini.Puts("COL_WIDTH", Get_col_width(lv));
		}
	}
Posted by 안녕1999
, |
	public class String_array
	{
		public int m_cnt;
		public string[] m_strarray;
		public int m_i;
		public String_array(int max=32)
		{
			New(32);
		}
		~String_array()
		{
			Free();
		}
		public void New(int max)
		{
			Free();
			if (max <= 0)
			{
				max = 1024;
			}
			else
			{ }
			m_cnt = max;
			m_i = 0;
			m_strarray = new string[max];
		}
		public void Add(string s)
		{
			if (Find(s) == -1)
			{
				if (m_i < m_cnt)
				{
					m_strarray[m_i] = s;
					m_i++;
				}
				else
				{ }
			}
			else
			{
				//이미존재
			}
		}
		public int Find(string s)
		{
			int i, find = -1;
			for (i = 0; i < m_i; i++)
			{
				if (m_strarray[i] == s)
				{
					find = i;
					break;
				}
				else
				{ }
			}
			return find;
		}
		public string Get(int i)
		{
			return m_strarray[i];
		}
		public int Del(string s)//ret=bok
		{
			int bok = 0, i = Find(s);
			if (i != -1)
			{
				//find
				if (i != (m_i - 1))
				{
					//swap
					m_strarray[i] = m_strarray[m_i - 1];
					m_strarray[m_i - 1] = "";
				}
				else
				{
					//마지막위치
					m_strarray[i] = "";
				}
				m_i--;
				bok = 1;
			}
			else
			{
				//not found
			}
			return bok;
		}
		public void Free()
		{
			int i;
			for (i = 0; i < m_i; i++)
			{
				m_strarray[i] = "";
			}
			m_i = 0;
		}
		/*public void Ini_Load(string name)
		{
			int i,n;
			IniFile ini = new IniFile();
			ini.SetSection(name);
			n = ini.Get_int("n", 0);
			for (i = 0; i < n; i++)
			{
				Add(ini.Gets(Convert.ToString(i), ""));
			}
		}
		public void Ini_Save(string name)
		{
			int i;
			IniFile ini = new IniFile();
			ini.SetSection(name);
			for (i = 0; i < m_i; i++)
			{
				ini.Puts(Convert.ToString(i), m_strarray[i]);
			}
			ini.Put_int("n", m_i);
		}*/
	}
Posted by 안녕1999
, |
'Marshal' 이름이 현재 컨텍스트에 없습니다.

추가
using System.Runtime.InteropServices;
Posted by 안녕1999
, |
	public void Close()
	{
		if (excelApp != null)
		{
			Save();
			try
			{
				//C# 엑셀파일 저장하고 Release 해도 프로세서에 EXCEL.EXE가 사라지지 않습니다. if (excelApp != null)로 해결
				wb.Close();
				excelApp.Quit();
				ReleaseExcelObject(excelApp);
				ReleaseExcelObject(wb);
				ReleaseExcelObject(ws);
				excelApp = null;
				wb = null;
				ws = null;
			}
			catch (Exception theException)
			{
				On_err(theException);
			}
		}
		else
		{ }
	}
Posted by 안녕1999
, |

				//ScrollBottom
				TextBox1.SelectionStart = TextBox1.Text.Length;
				TextBox1.ScrollToCaret();
Posted by 안녕1999
, |
자식창을 띄울때, 자식창과 부모창이 따로 노는 문제

			Form2 a=new Form2();
			a.m_msg = s;
			a.StartPosition = FormStartPosition.CenterParent;
			a.ShowDialog();
Posted by 안녕1999
, |

Ini File class

C# / 2020. 10. 10. 23:45
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Reflection;
using System.IO.Ports;
using System.IO;
using System.Diagnostics;
using System.Runtime.InteropServices;
public class IniFile
{
	static String m_ini_file;
	String m_Section;
	static StringBuilder temp;
	const int buf_size = 1024 * 4;
	public IniFile()
	{
		if (temp == null)
		{
			m_ini_file = System.Reflection.Assembly.GetExecutingAssembly().Location;
			m_ini_file=m_ini_file.Replace(".exe", ".ini");
			temp = new StringBuilder(buf_size);
		}
		else
		{ }

		m_Section = "Data";
	}

	[DllImport("kernel32.dll")]
	private static extern int GetPrivateProfileString(
		String section, String key, String def, StringBuilder retVal, int Size, String filePat);

	[DllImport("Kernel32.dll")]
	private static extern long WritePrivateProfileString(
		String Section, String Key, String val, String filePath);

	public string GetIniFileName()
	{
		return m_ini_file;
	}
	public void SetIniFileName(string inifile)
	{
		m_ini_file = inifile;
	}
	public void SetSection(string Section)
	{
		m_Section = Section;
	}
	public void Puts(string Key, string Value)
	{
		string s=Gets(Key, "");
		if (s != Value)
		{
			WritePrivateProfileString(m_Section, Key, Value, m_ini_file);
		}
		else
		{
			//동일함.skip
		}
	}
	public void Put_int(string Key, int Value)
	{
		int a = Get_int(Key, 0);
		if (a != Value)
		{
			WritePrivateProfileString(m_Section, Key, Convert.ToString(Value), m_ini_file);
		}
		else
		{
			//동일함.skip
		}
	}
	public void Put_double(string Key, double Value)
	{
		double a = Get_double(Key, 0.0f);
		if (a != Value)
		{
			WritePrivateProfileString(m_Section, Key, Convert.ToString(Value), m_ini_file);
		}
		else
		{
			//동일함.skip
		}
	}

	public string Gets(string Key, string default_value)
	{
		string s;
		int i = GetPrivateProfileString(m_Section, Key, "", temp, buf_size, m_ini_file);
		if (temp.Length == 0)
		{
			s = default_value;
		}
		else
		{
			s=temp.ToString();
		}
		return s;
	}
	public int Get_int(string Key,int default_value)
	{
		string s=Gets(Key,Convert.ToString(default_value));
		return Convert.ToInt32(s);
	}
	public double Get_double(string Key,double default_value)
	{
		string s = Gets(Key, Convert.ToString(default_value));
		return Convert.ToDouble(s);
	}
}
Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함