posted by 방랑군 2010. 2. 26. 16:09

문자열 함수

Function

Oracle

SQL Server

Convert character to ASCII

ASCII

ASCII

String concatenate

CONCAT

(expression + expression)

Convert ASCII to character

CHR

CHAR

Return starting point of character in character string (from left)

INSTR

CHARINDEX

Convert characters to lowercase

LOWER

LOWER

Convert characters to uppercase

UPPER

UPPER

Pad left side of character string

LPAD

N/A

Remove leading blank spaces

LTRIM

LTRIM

Remove trailing blank spaces

RTRIM

RTRIM

Starting point of pattern in character string

INSTR

PATINDEX

Repeat character string multiple times

RPAD

REPLICATE

Phonetic representation of character string

SOUNDEX

SOUNDEX

String of repeated spaces

RPAD

SPACE

Character data converted from numeric data

TO_CHAR

STR

Substring

SUBSTR

SUBSTRING

Replace characters

REPLACE

STUFF

Capitalize first letter of each word in string

INITCAP

N/A

Translate character string

TRANSLATE

N/A

Length of character string

LENGTH

DATALENGTH or LEN

Greatest character string in list

GREATEST

N/A

Least character string in list

LEAST

N/A

Convert string if NULL

NVL

ISNULL

 

Date 함수

Function

Oracle

SQL Server

Date addition

(use +)

DATEADD

Date subtraction

(use -)

DATEDIFF

Last day of month

LAST_DAY

N/A

Time zone conversion

NEW_TIME

N/A

First weekday after date

NEXT_DAY

N/A

Convert date to string

TO_CHAR

DATENAME

Convert date to number

TO_NUMBER(TO_CHAR())

DATEPART

Convert string to date

TO_DATE

CAST

Get current date and time

SYSDATE

GETDATE()

 

posted by 방랑군 2010. 2. 26. 15:44
윈도우 기본 애플리케이션

명령어

실행하는 프로그램

mspaint

그림판

wordpad

워드패드

calc

계산기

notepad

메모장

sndvol32

볼륨 조절기

regedit

레지스트리 편집기

iexplore

인터넷 익스플로러

wmplayer

윈도 미디어 플레이어

msmsgs

윈도 메신저

cmd

명령 프롬프트

msconfig

시스템 구성 (시작 프로그램 관리자)

moviemk

윈도 무비 메이커

snippingtool

캡처 도구 (윈도우 7만 기본적으로 지원)

explorer

탐색기

msinfo32

시스템 정보

chkdsk

디스크 검사 도구

cleanmgr

디스크 정리

taskmgr

작업 관리자

perfmon

성능 모니터

mrt

악성 소프트웨어 제거 도구

sfc

시스템 검색 유틸리티 (시스템 파일 유효성 확인)

sfc /scannow

즉시 스캔

sfc /scanonce

다음 부팅 때 한번 실행

mstsc

원격 데스크톱 연결

msra

윈도 원격 지원

osk

화상 키보드

wab

연락처

logoff

로그오프

shutdown

시스템 종료

shutdown –r

시스템 다시 시작


제어판

명령어

실행하는 프로그램

control

제어판

appwiz.cpl

프로그램 추가/삭제

desk.cpl 또는 control desktop

디스플레이

mmsys.cpl

소리

sysdm.cpl

시스템 속성

control mouse

마우스 속성

ncpa.cpl 또는 control netconnections

네트워크 연결

inetcpl.cpl

인터넷 속성

wscui.cpl

보안 센터

fsmgmt.msc

공유 폴더

powercfg.cpl

전원 옵션

control admintools

관리 도구

services.msc

서비스

devmgmt.msc

장치 관리자

control printers

프린터

gpedit.msc

그룹 정책 편집기

control fonts

폰트 (fonts만 입력하면 폰트 폴더 열림)

control schedtasks

작업 스케줄러

 

IT
posted by 방랑군 2010. 2. 26. 15:41

'IT' 카테고리의 다른 글

Windows Server 2008 Setting Tip  (0) 2009.07.30
posted by 방랑군 2010. 2. 26. 15:40
C# 윈폼에서 DataGridView Data를 Excel 파일로 저장하는 소스를 알려 드리겠습니다. 순수하게 제가 만든건 아니고 여러 사이트에서 소스를 참조해서 제 상황에 맞게끔 응용을 했습니다.

제가 MS 오피스 2007 에 Visual Studio 2008 을 쓰기 때문에 이를 기준으로 소개를 하겠습니다.

먼저 솔루션 탐색기에서 참조추가를 합니다.

솔루션탐색기->참조추가->COM->Microsoft Excel 12.0 Object Libary 선택



이후 아래 소스를 적용하시면 됩니다.

using System.Reflection;
using Excel = Microsoft.Office.Interop.Excel;

private void ExportExcel(bool captions)
{
    this.saveFileDialog.FileName = "TempName";
    this.saveFileDialog1.DefaultExt = "xls";
    this.saveFileDialog1.Filter = "Excel files (*.xls)|*.xls";
    this.saveFileDialog1.InitialDirectory = "c:\\";

    DialogResult result = saveFileDialog.ShowDialog();

    if (result == DialogResult.OK)
    {
        int num = 0;
        object missingType = Type.Missing;

        Excel.Application objApp;
        Excel._Workbook objBook;
        Excel.Workbooks objBooks;
        Excel.Sheets objSheets;
        Excel._Worksheet objSheet;
        Excel.Range range;

        string[] headers = new string[dataGridView.ColumnCount];
        string[] columns = new string[dataGridView.ColumnCount];

        for (int c = 0; c < dataGridView.ColumnCount; c++)
        {
            headers[c]=dataGridView.Rows[0].Cells[c].OwningColumn.HeaderText.ToString();
            num = c + 65;
            columns[c] = Convert.ToString((char)num);
        }

        try
        {
            objApp = new Excel.Application();
            objBooks = objApp.Workbooks;
            objBook = objBooks.Add(Missing.Value);
            objSheets = objBook.Worksheets;
            objSheet = (Excel._Worksheet)objSheets.get_Item(1);

            if (captions)
            {
                for (int c = 0; c < dataGridView.ColumnCount; c++)
                {
                    range = objSheet.get_Range(columns[c] + "1"Missing.Value);
                    range.set_Value(Missing.Value, headers[c]);
                }
            }

            for (int i = 0; i < dataGridView.RowCount - 1; i++)
            {
                for (int j = 0; j < dataGridView.ColumnCount; j++)
                {
                    range = objSheet.get_Range(columns[j] + Convert.ToString(i + 2),
                                                           Missing.Value);

                    range.set_Value(Missing.Value,
                                          dataGridView.Rows[i].Cells[j].Value.ToString());

                }
            }

            objApp.Visible = false;
            objApp.UserControl = false;

            objBook.SaveAs(@saveFileDialog.FileName,
                      Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal,
                      missingType, missingType, missingType, missingType,
                      Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
                      missingType, missingType, missingType, missingType, missingType);
            objBook.Close(false, missingType, missingType);

            Cursor.Current = Cursors.Default;

            MessageBox.Show("Save Success!!!");
        }
        catch (Exception theException)
        {
            String errorMessage;
            errorMessage = "Error: ";
            errorMessage = String.Concat(errorMessage, theException.Message);
            errorMessage = String.Concat(errorMessage, " Line: ");
            errorMessage = String.Concat(errorMessage, theException.Source);

            MessageBox.Show(errorMessage, "Error");
        }
    }


posted by 방랑군 2010. 2. 26. 15:39
네트웍 프로그램을 개발할시 Connect 로 접속할때 IP가 살아 있지 않으면 딜레이가 많이 생깁니다. 하나의 IP에 단발성으로 Connect 를 할거면 딜레이가 생겨도 상관이 없지만 여러 IP에 Connect 를 시도 해야할때는 이 딜레이 때문에 프로그램이 꼭 다운된듯한 느낌이 들어 사용자에게 오해를 불러 일으킬수 있는 요지가 있어 이 딜레이를 없애는게 좋은거 같습니다. 

C# 내부 함수로는 이 딜레이를 없애는 방법은 없는거 같습니다. 그럼 방법은 ping 을 날려 보고 살아 있으면 Connect를 하고 죽어있으면 다른 IP로 넘어 가는 방법을 택해야 하는거 같습니다.

C#에서 Ping Test Code 입니다.

public bool Connect(string ip, int port)
{
    try
    {
        //IP Address 할당 
        this.ipAddress = IPAddress.Parse(ip);

        //TCP Client 선언
        this.tcpClient = new TcpClient(AddressFamily.InterNetwork);

        Ping pingSender = new Ping();
        PingOptions options = new PingOptions();

        // Use the default Ttl value which is 128,
        // but change the fragmentation behavior.
        options.DontFragment = true;

        // Create a buffer of 32 bytes of data to be transmitted.
        string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
        byte[] buffer = Encoding.ASCII.GetBytes(data);
        int timeout = 120;
        PingReply reply = pingSender.Send(this.ipAddress, timeout, buffer, options);
        
        if (reply.Status == IPStatus.Success)
        {
            // Ping 성공시 Connect 연결 시도
            this.tcpClient.NoDelay = true;
            this.tcpClient.Connect(ipAddress, port);

            this.ntwStream = tcpClient.GetStream();               
        }
        else
        {
            // Ping 실패시 강제 Exception
            throw new Exception();
        }

        return true;
    }
    catch (Exception ex)
    {
        //MessageBox.Show("Connect Fail... : " + ex);
        return false;
    }
}

참고한자료 : 
msdn - Ping 클래스(System.Net.NetworkInformation)