블로그 이미지
생각처럼

카테고리

전체보기 (209)
TOOL (1)
다이어리 (1)
Bit (200)
android (8)
C&C++ (3)
C# (26)
VB.Net (4)
MFC (0)
Win Ce (5)
아키텍쳐 (4)
WPF (9)
Rom (0)
읽어보기 (25)
Linux (24)
Java (0)
HELP? (0)
Total
Today
Yesterday

달력

« » 2025.1
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

공지사항

태그목록

최근에 올라온 글

출처 우주정복을 하는 그날까지 화이팅 | 루시
원문 http://blog.naver.com/flyhigh0518/30015721830
 소설같은C#홈
   소설같은C#
      제1장 C#의 기초
      제2장 클래스의 기본배경
      제3장 C# 시작하기
      제4장 C#의 객체지향
      제5장 C#의 다형성
      제6장 배열과 문자열
      제7장 컬렉션
      제8장 Exception
      제9장 C#의 입출력
      제10장 Object 클래스
      제11장 리플렉션
      제12장 Delegate, Event, Attribute
      제13장 스레드
      제14장 XML.NET
      제15장 ADO.NET
        15.1 ADO.NET의 개요
        15.2 ADO.NET의 기본 구조 I
        15.3 ADO.NET의 기본 구조 II
        15.4 Connection과 데이터 공급자
        15.5 SqlClient 공급자의 Connection 설정하기
        15.6 SqlCommand 클래스
        15.7 SqlCommand의 ExecuteNonQuery
        15.8 SqlCommand의 Parameter(Insert문장)
        15.9 SqlCommand의 ExecuteReader
        15.10 SqlCommand의 Parameter(Select문장)
        15.11 SqlCommand를 이용한 XmlReader
        15.12 OleDb 공급자를 이용하여 연결1
        15.13 OleDbCommand의 ExecuteNonQuery
        15.14 OleDbCommand의 Parameter(Insert)
        15.15 OleDbCommand의 ExecuteReader
        15.16 DataSet과 DataAdapter의 관계
        15.17 DataAdapter 속성과 메서드
        15.18 DataSet의 구성요소
        15.19 DataAdapter와 DataSet을 만드는 방법 I
        15.20 DataSet으로 작업하기
        15.21 DataAdapter와 DataSet을 만드는 방법 II
        15.22 DataSet에서 Command 사용하기
        15.23 두개의 DataSet 병합하여 사용하기
        15.24 DataSet에서의 관계 설정
        15.25 DataSet으로 XML Schema와 XML Data 만들기
        15.26 DataSet으로 XML 데이터 읽어오기
        15.27 DataSet과 XmlDataDocument
        15.28 XML Data로부터 코드 생성하기
        15.29 Transaction
        15.30 Savepoint
        15.31 Mapping
        15.32 마무리
Posted by 생각처럼
, |

public static void Main(String[] args)
{

        int a;

        a = Int32.Parse(Console.ReadLine());   //입력받은 문자열을 int형으로 저장

        Console.WriteLine("{0}",a);

}

Posted by 생각처럼
, |

csc 도움말? ㅋ

Bit/C# / 2012. 2. 3. 21:23

Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.42
for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727
Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.
                      Visual C# 2005 컴파일러 옵션

                        - 출력 파일 -
/out:<file>                   출력 파일 이름을 지정합니다(기본값: 주 클래스가
                              있는 파일 또는 첫째 파일의 기본 이름).
/target:exe                   콘솔 실행 파일을 빌드합니다(기본값). (약식:
                              /t:exe)
/target:winexe                Windows 실행 파일을 빌드합니다. (약식: /t:winexe)
/target:library               라이브러리를 빌드합니다. (약식: /t:library)
/target:module                다른 어셈블리에 추가될 수 있는 모듈을 빌드합니다.
                              (약식: /t:module)
/delaysign[+|-]               강력한 이름 키의 공개 부분만 사용하여 어셈블리
                              서명을 연기합니다.
/doc:<file>                   생성할 XML 문서 파일
/keyfile:<file>               강력한 이름의 키 파일을 지정합니다.
/keycontainer:<string>        강력한 이름의 키 컨테이너를 지정합니다.
/platform:<string>            이 코드를 실행할 수 있는 플랫폼을 x86, Itanium,
                              x64 또는 anycpu로 제한합니다. 기본값은
                              anycpu입니다.

                        - 입력 파일 -
/recurse:<wildcard>           와일드카드 지정에 따라 현재 디렉터리와 하위
                              디렉터리에 있는 모든 파일을 포함합니다.
/reference:<alias>=<file>     지정한 어셈블리 파일에서 해당 별칭을 사용하여
                              메타데이터를 참조합니다. (약식: /r)
/reference:<file list>        지정한 어셈블리 파일에서 메타데이터를 참조합니다.
                              (약식: /r)
/addmodule:<file list>        지정한 모듈을 이 어셈블리에 링크합니다.

                        - 리소스 -
/win32res:<file>              Win32 리소스 파일(.res)을 지정합니다.
/win32icon:<file>             이 아이콘을 사용하여 출력합니다.
/resource:<resinfo>           지정한 리소스를 포함합니다. (약식: /res)
/linkresource:<resinfo>       지정한 리소스를 이 어셈블리에 링크합니다. (약식:
                              /linkres)
                              resinfo 형식이 <file>[,<string
name>[,public|private]]인 경우

                        - 코드 생성 -
/debug[+|-]                   디버깅 정보를 내보냅니다.
/debug:{full|pdbonly}         디버깅 형식을 지정합니다. 기본값은 'full'이며,
                              실행 중인 프로그램에 디버거를 연결합니다.
/optimize[+|-]                최적화를 사용합니다. (약식: /o)

                        - 오류 및 경고 -
/warnaserror[+|-]             모든 경고를 오류로 보고합니다.
/warnaserror[+|-]:<warn list> 특정 경고를 오류로 보고합니다.
/warn:<n>                     경고 수준(0-4)을 설정합니다. (약식: /w)
/nowarn:<warn list>           특정 경고 메시지를 사용하지 않습니다.

                        - 언어 -
/checked[+|-]                 오버플로 검사를 생성합니다.
/unsafe[+|-]                  'unsafe' 코드를 사용할 수 있습니다.
/define:<symbol list>         조건부 컴파일 기호를 정의합니다. (약식: /d)
/langversion:<string>         언어 버전 모드를 'ISO-1' 또는 '기본값'으로
                              지정합니다.

                        - 기타 -
@<file>                       추가 옵션에 대한 지시 파일을 읽습니다.
/help                         사용법 메시지를 표시합니다. (약식: /?)
/nologo                       컴파일러 저작권 메시지를 표시하지 않습니다.
/noconfig                     CSC.RSP 파일을 자동으로 포함하지 않습니다.

                        - 고급 -
/baseaddress:<address>        빌드할 라이브러리의 기준 주소
/bugreport:<file>             '버그 보고서' 파일을 만듭니다.
/codepage:<n>                 소스 파일을 열 때 사용할 코드 페이지를 지정합니다.
/utf8output                   컴파일러 메시지를 UTF-8 인코딩으로 출력합니다.
/main:<type>                  진입점을 포함하는 형식을 지정합니다. 다른 모든
                              가능한 진입점은 무시합니다. (약식: /m)
/fullpaths                    컴파일러가 정규화된 경로를 생성합니다.
/filealign:<n>                출력 파일 섹션에 사용되는 맞춤을 지정합니다.
/pdb:<file>                   디버그 정보 파일 이름을 지정합니다(기본값:
                              확장명이 .pdb인 출력 파일 이름).
/nostdlib[+|-]                표준 라이브러리(mscorlib.dll)를 참조하지 않습니다.
/lib:<file list>              참조를 검색할 추가 디렉터리를 지정합니다.
/errorreport:<string>         내부 컴파일러 오류를 처리하는 방법을 지정합니다.
                              prompt, send, queue 또는 none 중에서 선택할 수
                              있으며 기본값은 queue입니다.
/moduleassemblyname:<string>  이 모듈이 속할 어셈블리의 이름입니다.

Posted by 생각처럼
, |

using System;
public class SumTest
{
 public int a = 0;
 public int b = 0;
 int total = 0;
 public void PrintM()
 {
  Console.WriteLine("{0}",total);
 }
 public int Sum(int a,int b)
 {
  total = a+b;
  return total;
 }
}

csc /t:library /out:SumTest.dll SumTest.cs //SumTest.cs 파일로 SumTest.dll 을 생성

using System;

class SumTestMain
{
    public static void Main(String[] args)
    {
  SumTest st = new SumTest();
  Console.WriteLine("두수를 입력하세요");
  st.a = Int32.Parse(Console.ReadLine());
  st.b = Int32.Parse(Console.ReadLine());
  int sum = st.Sum(st.a,st.b);
  st.PrintM();

 }
}


csc /r:SumTest.dll SumTestMain.cs //SumTest.dll 을 참조하여 컴파일 한다

Posted by 생각처럼
, |
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization;
namespace classsave
{
    class Program
    {
        static void Main(string[] args)
        {
            Human h = new Human("dd","111","1123");
            BinaryFormatter format = new BinaryFormatter();
            try
            {
                Stream s = File.Open("c:\\human.txt", FileMode.Create, FileAccess.ReadWrite);
                format.Serialize(s, h);
                s.Close();
                s = File.Open("c:\\human.txt", FileMode.Open, FileAccess.Read);
                Object o = format.Deserialize(s);
                Human r = (Human)o;
                r.Print();
            }
            catch (IOException e)
            {
                Console.WriteLine(e.Message);
            }
            catch (SerializationException e)
            {
                Console.WriteLine(e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}

Posted by 생각처럼
, |

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization;
using System.IO;

namespace arr
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList A = new ArrayList();
            A.Add("ddd");
            A.Add("eee");
            A.Add("aaa");
            BinaryFormatter format = new BinaryFormatter();
            try 
            {
                Stream s = File.Open("c:\\ArraySave.txt", FileMode.Create, FileAccess.ReadWrite);
                format.Serialize(s, A);
                s.Close();
                s = File.Open("c:\\ArraySave.txt", FileMode.Open, FileAccess.Read);
                Object o = format.Deserialize(s);
                s.Close();
                Print("파일저장후",(ArrayList)o);
            }
            catch (IOException e)
            {
                Console.WriteLine("File Write error");
                Console.WriteLine(e);
            }
            catch (SerializationException e)
            {
                Console.WriteLine("binary 변환 에러");
                Console.WriteLine(e.Message);
            }
        }
        public static void Print(String info, ArrayList h)
        {

        }
    }
}


Posted by 생각처럼
, |

오라클 접속

Bit/C# / 2012. 2. 3. 21:21

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OracleClient;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            String strcon = "Data Source=SEUNGWON;User ID=scott;Password=tiger";
            String query = "INSERT INTO address VALUES(:id,:name,:addr)";
            OracleConnection conn = null;
            try
            {
                conn = new OracleConnection(strcon);
                conn.Open();
                OracleCommand comm = new OracleCommand(query, conn);
                //파라미터의 타입정의
                comm.Parameters.Add(":id", OracleType.Number);
                comm.Parameters.Add(":name", OracleType.VarChar);
                comm.Parameters.Add(":addr", OracleType.VarChar);
                //파라미터의 값을 지정
                comm.Parameters[":id"].Value = 2;
                comm.Parameters[":name"].Value = "승원";
                comm.Parameters[":addr"].Value = "대전시";
                //쿼리 실행
                int count = comm.ExecuteNonQuery();
                Console.WriteLine("{0}행이 적용되었습니다.", count);
            }
            catch (OracleException e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                conn.Close();
                SelectMethod();
            }
        }
            static void SelectMethod()
            {
                OracleConnection conn = null;
                String strcon = "Data Source = LES;User ID= scott;Password = tiger";
                String query = "SELECT * FROM address";
                try
                {
                    conn = new OracleConnection(strcon);
                    conn.Open();
                    OracleCommand comm = new OracleCommand(query, conn);
                    OracleDataReader re = comm.ExecuteReader();
                    //한생씩 읽어온다.
                    while (re.Read())
                    {
                        //한행의 컬럼수 만큼 읽는다.
                        Console.WriteLine(re[0].ToString() + "\t"
                            + re[1].ToString() + "\t"
                            + re[2].ToString() + "\n");
                    }
                }
                catch (OracleException e)
                {
                    Console.WriteLine(e.Message);
                }
                finally
                {
                    conn.Close();
                }
            }
        
    }
}

Posted by 생각처럼
, |

// 오라클 bfile 을 이용하여 디렉토리 내의 파일 참조
using System;
using System.IO;
using System.Data;
using System.Data.OracleClient;

public class Sample
{
    public static void Main(string[] args)
    {

        OracleConnection connection = new OracleConnection(
       "Data Source=won;User ID=scott;Password=tiger");
        
        //OracleConnection connection = new OracleConnection(
         // "Data Source=won;User ID=scott;Password=tiger;Integrated Security=yes;");
        connection.Open();

        OracleCommand command = connection.CreateCommand();
        command.CommandText =
          "CREATE or REPLACE DIRECTORY MyDir as 'c:\\img'"; //오라클상에 가상에 디렉토리 생성시
        command.ExecuteNonQuery();                          //대문자와 소문자의 조합으로 디렉토리명을 써도
        command.CommandText =                               
          "DROP TABLE test_bfile";
        try
        {
            command.ExecuteNonQuery();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
        command.CommandText =
          "CREATE TABLE test_bfile(id number, memo BFILE)";
        command.ExecuteNonQuery();
        command.CommandText =
          "INSERT INTO test_bfile values (2, BFILENAME('MYDIR','b.jpg'))";//불러올때는 대문자로 불러와야한다
        command.ExecuteNonQuery();                                          //소문자로 불러와서 하루 고생....ㅡ.,ㅡ;
        command.CommandText = "SELECT * FROM test_bfile";
        byte[] buffer = new byte[100];
        OracleDataReader reader = command.ExecuteReader();
        using (reader)
        {
            if (reader.Read())
            {
                OracleBFile bFile = reader.GetOracleBFile(1);
                using (bFile)
                {
                    Console.WriteLine(bFile.FileExists.ToString());
                    bFile.Seek(0, SeekOrigin.Begin);
                    bFile.Read(buffer, 0, 100);
                }
            }
        }

        connection.Close();
    }

}

Posted by 생각처럼
, |

출처 카페 > 게임 개발자 네트워크 (jz.. | 자존심
원문 http://cafe.naver.com/jzsdn/12859

비단 VC.NET 2005로 컴파일 된 프로그램뿐만 아니라 다른 버전의 컴파일러로 컴파일된 프로그램은 해당 버전의 컴파일러의 필수 라이브러리를 배포해야 합니다.

 

그러나 VC 6.0이나 VC.NET 2003등은 워낙 다른 프로그램들(VC6.0이나 VC.NET 2003으로 컴파일된)이 이미 윈도우즈에 필수 DLL들을 인스톨해 놓은 경우가 많아 따로 배포하지 않아도 문제되는 경우가 거의 없더군요.

 

근데, VC.NET 2005의 경우는 마이크로소프트가 배포하는 방식을 좀 다르게 한 것 같습니다.

 

참조

http://serious-code.net/moin.cgi/RedistributingVisualCppRunTimeLibrary

http://msdn2.microsoft.com/ko-kr/library/zebw5zk9(VS.80).aspx

 

Side-by-side Assembly 라는 방식이라는 데, 암튼 좀 귀찮아 졌습니다.

 

그래서, 기존에 windows/system32에 dll이 들어가던 것이 windows/winSxS에 들어가게 되었고

기존에 실행화일과 dll이 같이 있으면 해결되었던 것이 이제는 그냥은 통하지 않게 되었다고 합니다. 좀 뭔가 더 해주어야 한답니다.

 

해결방법은 위의 링크에서도 이야기합니다만 다음과 같습니다.

 

1) VC.NET 2005 재배포용 패키지를 설치한다.

 

아래 링크에서 다운받거나

Visual C++ 2005 Redistributable Package (x86) 
Visual C++ 2005 Redistributable Package (x64) 
Visual C++ 2005 Redistributable Package (ia64) 

Visual C++ 2005 SP1 Redistributable Package (x86) 
Visual C++ 2005 SP1 Redistributable Package (x64) 
Visual C++ 2005 SP1 Redistributable Package (ia64)

 

 

C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86

에 있습니다.

 

2) 필요한 것을 같이 설치한다

 

릴리즈 버전은 C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86
디버그 버전은 C:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist

에서..

사용하는 dll과 함께 Microsoft.VC80.*.manifest 도 포함해서 실행파일과 같은 폴더에 넣어주어야 합니다.

 

 그럼 필요한게 뭔지 어떻게 아느냐..라고 물어보시는 분들을 위해 다음과 같은 프로그램이 있다는 것을 상기시켜 드립니다.

 

http://www.dependencywalker.com

 

VC 2005를 깔았다면

C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin" 폴더에 depends.exe라는 이름으로 설치되어 있습니다.

 

위의 프로그램은 해당 프로그램화일이 어떤 dll을 참조하는 지 알려줍니다.

Posted by 생각처럼
, |

C# 에서의 키보드 키입력 받기

 

http://spadework.co.kr/trackback/288

Posted by 생각처럼
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함