'Bit'에 해당되는 글 200건
- 2012.02.03 RegisterHotKey - Windows Hotkey 설정
- 2012.02.03 클립보드 문자열 잘라서 그리드뷰로
- 2012.02.03 원격서버 및 로컬 터미널 세션 끊어 주기
- 2012.02.03 접속했던 내역삭제
- 2012.02.03 ZedGraph 을 사용한 그래프 그리기
- 2012.02.03 delegate 생성
- 2012.02.03 Panel 안에 Form 을 넣기위한
- 2012.02.03 당신의 조직은 개발자를 올바르게 관리하고 있는가?
- 2012.02.03 패키징을 쉽게 지원해주는 Inno Setup
- 2012.02.03 윈도. 리눅스 포터블
클립보드 문자열 잘라서 그리드뷰로
p, td, ul, ol, li { font-size:12px; line-height:140%; margin-top:0; margin-bottom:0; } body { font-size:12px; } Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim xt As String = RichTextBox1.Text.Trim RichTextBox1.Text = "" RichTextBox1.Text = xt Dim tmpstr As String = RichTextBox1.Text() ' 문자열 가져옴 If tmpstr <> "" Then Dim rowArray As String() = tmpstr.Split(vbLf) ' 문자열을 잘라서 문자열 배열에 할당 Dim i As Integer For i = 0 To rowArray.Length - 1 Dim colArray As String() = rowArray(i).Split(vbTab) ' 칼럼구분자로 문자열 배열 만듬 If Asc(colArray(0).Chars(0)) = 10 Then tmpstr = colArray(0) colArray(0) = tmpstr.Substring(1) End If DataGridView1.Rows.Add(colArray) 'dgvResult ' DataGridView에 Row 추가 Next End If End Sub
|
원격서버 및 로컬 터미널 세션 끊어 주기
그런데, 터미널에 접속후 연결을 끊지 않을 경우 다른 사용자의 로그인이 불가능합니다.
방법은 query session 으로 세션상태를 점검한후, 다음 3개의 명령을 이용해서 세션을 원래대로 해주면 됩니다.
단, 원격서버의 세션을 끊을때는 원격서버에 대한 Admin권한이 있어야 하며, RPC DCOM을 통해서 처리됩니다.
사용법은 간단합니다.
■ reset session
터미널 서버에서 세션을 다시 설정(삭제)할 수 있도록 합니다.
reset session {세션이름 | 세션id} [/server:서버이름] [/v]
■ logoff
세션에서 사용자를 로그오프시키고 서버에서 세션을 삭제합니다.
logoff [세션이름 | 세션id] [/server:서버이름] [/v]
/v : 수행할 동작에 대한 정보를 표시합니다.
■ tsdiscon
터미널 서버에서 세션의 연결을 끊습니다.
tsdiscon [세션id | 세션이름] [/server:서버이름] [/v]
세션이 끊기지 않으면 IDC센터에 전화해서 재부팅 요청한다.
■ query session
터미널 서버에 있는 세션에 대한 정보를 표시합니다. 목록에는 활성 세션뿐 아니라 서버에서 실행하는 다른 세션에 대한 정보도 표시됩니다.
query session [세션이름 | 사용자이름 | 세션id] [/server:서버이름] [/mode] [/flow] [/connect] [/counter]
/mode : 현재의 라인 설정을 표시합니다.
/flow : 현재의 흐름 제어 설정을 표시합니다.
/connect : 현재의 연결 설정을 표시합니다.
/counter : 만든 세션, 연결이 끊긴 세션 및 다시 연결된 세션의 전체 개수를 포함하여 현재의 카운터 정보를 표시합니다.
ZedGraph 을 사용한 그래프 그리기
private void CreateZedgraph() //그래프 그리기 함수 정의
{
try
{
GraphPane mypane = zgc.GraphPane;
mypane.CurveList.Clear(); //기존의 그래프 삭제
mypane.Title.Text = "적합도 분포 산출";
mypane.XAxis.Title.Text = "시간";
mypane.YAxis.Title.Text = "적합도";
PointPairList G1 = new PointPairList();
PointPairList G2 = new PointPairList();
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
G1.Add(Convert.ToDouble(dataGridView1.Rows[i].Cells[6].Value), Convert.ToDouble(dataGridView1.Rows[i].Cells[2].Value));
G2.Add(Convert.ToDouble(dataGridView1.Rows[i].Cells[6].Value), Convert.ToDouble(dataGridView1.Rows[i].Cells[5].Value));
}
LineItem mycurve = mypane.AddCurve("G1", G1, Color.Green);
LineItem mycurve2 = mypane.AddCurve("G2", G2, Color.Blue);
//mycurve.Line.Fill = new Fill(Color.White, Color.Green, 45F);
//mycurve.Symbol.Fill = new Fill(Color.White);
//mycurve2.Line.Fill = new Fill(Color.White, Color.Blue, 45F);
//mycurve2.Symbol.Fill = new Fill(Color.White);
mypane.Chart.Fill = new Fill(Color.White, Color.LightGoldenrodYellow, 45F);
mypane.Fill = new Fill(Color.White, Color.FromArgb(220, 220, 255), 45F);
zgc.AxisChange();
zgc.Refresh();
}
catch
{
MessageBox.Show("그래프를 구현할수 없습니다", "오류", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
delegate 생성
delegate void Testdele(String str); //문자열을 받는 델리게이트 선언
static Testdele Test_set_delegate = null; //선언한 델리게이트 객체 생성
//델리게이트로 사용될 폼의 함수 public 선언
//public void set_text(String str){}
//델리게이트를 호출할 폼에서 델리게이트 생성후 호출
private void send_str(String send_text)
{
Test_set_delegate = new Testdele(main.set_text); //선언된 델리게이트 객체에 호출할함수 적용
main.Invoke(Test_set_delegate ,send_text); //델리게이트 함수호출 완료
}
Panel 안에 Form 을 넣기위한
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Test_form As Form2
Test_form = New Form2()
Test_form.TopLevel = False 'toplevel 을 false 로 변경하면 panel form 에 docking 가능
Test_form.Show()
Me.Panel1.Controls.Add(Test_form)
End Sub
'간단한걸 너무 헤매서...시간낭비를 많이 했음......역시 태크닉보다는 기본에 충실해야 된다는...