'020. Prigraming/01. C#'에 해당하는 글 44건

' VB.NET to convert a string to a byte array
Public Shared Function StrToByteArray(str As String) As Byte()
   Dim encoding As New System.Text.UTF8Encoding()
   Return encoding.GetBytes(str)
End Function 'StrToByteArray

// C# to convert a string to a byte array.
public static byte[] StrToByteArray(string str)
{
    System.Text.UTF8Encoding  encoding=new System.Text.UTF8Encoding();
    return encoding.GetBytes(str);
}

' VB.NET to convert a byte array to a string:
Dim dBytes As Byte() = ...
Dim str As String
Dim enc As New System.Text.UTF8Encoding()
str = enc.GetString(dBytes)

// C# to convert a byte array to a string.
byte [] dBytes = ...
string str;
System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
str = enc.GetString(dBytes);

@ http://www.chilkatsoft.com/faq/dotnetstrtobytes.html

'020. Prigraming > 01. C#' 카테고리의 다른 글

[C#] 로컬 IP 구하기  (0) 2011.12.28
[C#] Winform에 외부폰트 적용하기  (0) 2011.10.19
[C#] Hex To String  (0) 2011.07.14
[C#] 프로세스가 살아있다.  (0) 2011.07.01
[C#] 2진수변환  (2) 2011.05.23

WRITTEN BY
테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게

,

        public static string ParseHex(string hex)
        {
            char[] result = new char[hex.Length / 2];

            int hexIndex = 0;
            for (int i = 0; i < result.Length; i++)
            {
                result[i] = (char)(ParseHexDigit(hex[hexIndex++]) * 16 +
                ParseHexDigit(hex[hexIndex++]));
            }
            return new string(result);
        }

        static int ParseHexDigit(char c)
        {
            if (c >= '0' && c <= '9')
            {
                return c - '0';
            }
            if (c >= 'a' && c <= 'f')
            {
                return c - 'a' + 10;
            }
            if (c >= 'A' && c <= 'F')
            {
                return c - 'A' + 10;
            }
            throw new ArgumentException("Invalid hex character");
        }

@ http://blog.naver.com/mykojae?Redirect=Log&logNo=50080349024

'020. Prigraming > 01. C#' 카테고리의 다른 글

[C#] Winform에 외부폰트 적용하기  (0) 2011.10.19
[C#] string to byte  (0) 2011.07.29
[C#] 프로세스가 살아있다.  (0) 2011.07.01
[C#] 2진수변환  (2) 2011.05.23
[C#] dictionary  (0) 2011.04.01

WRITTEN BY
테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게

,
이상하다... Application.ExitThread 를 해도 프로세스가 죽지 않고 살아있다...
이전에 했을때는 단지 Application.ExitThread 만 써도 잘 죽었는데...
기존보다 쓰레드가 좀 많긴한데... 폼이 closing될때 분명 개별 disposing이 걸리는데도
떡~ 하니 프로세스가 죽지않고 있네...흠~~~
이 일을 우째~~~

            //Application.ExitThread();

            Environment.Exit(Environment.ExitCode);

인터넷을 뒤져보니 착하게 위 명령어가 나오더라...
테스트 해보니... 원하는 결과를 얻게 되긴 하였는데...
도대체... 도대체... 어떤 차이가 있는지 잘 모르겠다...
인터넷에 있는 설명들을 봐도 피부로 와닿지가 않는다.
누가 설명 좀 해줘~~~~ ㅠ.ㅠ

'020. Prigraming > 01. C#' 카테고리의 다른 글

[C#] string to byte  (0) 2011.07.29
[C#] Hex To String  (0) 2011.07.14
[C#] 2진수변환  (2) 2011.05.23
[C#] dictionary  (0) 2011.04.01
[C#] ASCII 변환 알아보자  (0) 2011.02.16

WRITTEN BY
테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게

,


        private void Convert(int value)
        {

            int sub;

            string data = "";

            while (true)
            {
                sub = value % 2;
                data = sub.ToString() + data;
                value = value / 2;

                if (value == 0)
                    break;
            }

        }

// 또 PLC관련 내용이다...
// 숫자형을 2진수로 변환할때.... '3' -> 0000 0011

'020. Prigraming > 01. C#' 카테고리의 다른 글

[C#] Hex To String  (0) 2011.07.14
[C#] 프로세스가 살아있다.  (0) 2011.07.01
[C#] dictionary  (0) 2011.04.01
[C#] ASCII 변환 알아보자  (0) 2011.02.16
[C#] Ping Test  (0) 2010.10.17

WRITTEN BY
테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게

,

Dictionary<int, int> dicLaneTrackingInfo = new Dictionary<int, int>();

dicLaneTrackingInfo[1] = 1;
dicLaneTrackingInfo[2] = 2;
dicLaneTrackingInfo[3] = 3;
dicLaneTrackingInfo[4] = 3;
dicLaneTrackingInfo[5] = 3;

IEnumerable<KeyValuePair<int, int>> test =
    from A in dicLaneTrackingInfo
    where A.Value == 3
    select A;

int aaa = test.ToList().Count();

foreach (KeyValuePair<int, int> Item in test)
{
     string sItem = "Key : " + Item.Key.ToString() + " / Value : " + Item.Value.ToString();
}

앞으로 자주 볼 수 있기를...

            class Pet
            {
                public string Name { get; set; }
                public int Age { get; set; }
            }

            public static void OrderByEx1()
            {
                Pet[] pets = { new Pet { Name="Barley", Age=8 },
                               new Pet { Name="Boots", Age=4 },
                               new Pet { Name="Whiskers", Age=1 } };

                IEnumerable<Pet> query = pets.OrderBy(pet => pet.Age);

                foreach (Pet pet in query)
                {
                    Console.WriteLine("{0} - {1}", pet.Name, pet.Age);
                }
            }

order by 는 요로케...

'020. Prigraming > 01. C#' 카테고리의 다른 글

[C#] 프로세스가 살아있다.  (0) 2011.07.01
[C#] 2진수변환  (2) 2011.05.23
[C#] ASCII 변환 알아보자  (0) 2011.02.16
[C#] Ping Test  (0) 2010.10.17
[C#] String to Byte  (0) 2010.09.23

WRITTEN BY
테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게

,

        private void button1_Click(object sender, EventArgs e)
        {
            ASCIIEncoding ascii = new ASCIIEncoding();

            Byte[] bt = ascii.GetBytes("WB20G4NBBW041696");

            //87
            //66
            //50
            //48
            //71
            //52
            //78
            //66
            //66
            //87
            //48
            //52
            //49
            //54
            //57
            //54

            foreach (Byte b in bt)
            {
                Console.WriteLine("{0}", b);
            }

            string decoding = ascii.GetString(bt);

        }

// PLC랑 I/F 많으니 이런건 기본적으로 알아두자... 아 그래도 헷갈려...ㅠ.ㅠ

'020. Prigraming > 01. C#' 카테고리의 다른 글

[C#] 2진수변환  (2) 2011.05.23
[C#] dictionary  (0) 2011.04.01
[C#] Ping Test  (0) 2010.10.17
[C#] String to Byte  (0) 2010.09.23
[C#] List 제네릭 클래스  (0) 2010.09.08

WRITTEN BY
테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게

,

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.Net.NetworkInformation;

namespace _CS__Ping_Test
{
    public partial class Form1 : Form
    {      

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Ping PingSender = new Ping();
            PingOptions options = new PingOptions();

            options.DontFragment = true;

            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes(data);
            int timeout = 120;
            PingReply reply = PingSender.Send("127.0.0.1", timeout, buffer, options);

            if (reply.Status == IPStatus.Success)
            {
                string sAddress = reply.Address.ToString();
                string sRoundTripTime = reply.RoundtripTime.ToString();
                string sTtl = reply.Options.Ttl.ToString();
                string sDontFragment = reply.Options.DontFragment.ToString();
                string sBufferLength = reply.Buffer.Length.ToString();
            }

        }

    }
}

'020. Prigraming > 01. C#' 카테고리의 다른 글

[C#] dictionary  (0) 2011.04.01
[C#] ASCII 변환 알아보자  (0) 2011.02.16
[C#] String to Byte  (0) 2010.09.23
[C#] List 제네릭 클래스  (0) 2010.09.08
[C#] 나에겐 여전히 부담되는... [Thread]  (0) 2010.09.08

WRITTEN BY
테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게

,

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;

namespace _CS__StrToByteArray
{
    public partial class Form1 : Form
    {
        public static byte[] VISION_OK = new byte[] { 0x4F, 0x4B, 0x0D, 0x0A };
        public static byte[] VISION_NG = new byte[] { 0x4E, 0x47, 0x0D, 0x0A };

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string sStr = System.Text.Encoding.ASCII.GetString(VISION_NG);

            byte[] sByte = StrToByteArray("F220V" + "123456789012\r\n");
           
        }

        private byte[] StrToByteArray(string sStr)
        {
            System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
            return encoding.GetBytes(sStr);
        }

    }
}

'020. Prigraming > 01. C#' 카테고리의 다른 글

[C#] ASCII 변환 알아보자  (0) 2011.02.16
[C#] Ping Test  (0) 2010.10.17
[C#] List 제네릭 클래스  (0) 2010.09.08
[C#] 나에겐 여전히 부담되는... [Thread]  (0) 2010.09.08
[C#] 서버시간과의 동기화 처리  (1) 2010.07.24

WRITTEN BY
테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게

,

재미난 놈을 발견했다.
이름하야 [List 제네릭 클래스]
도움말을 보니
'인덱스로 액세스할 수 있는 강력한 형식의 개체 목록을 나타냅니다. 목록의 검색, 정렬 및 조작에 사용할 수 있는 메서드를 제공합니다.'
이렇게 나와있다.
배열에 서투른 나에게 도움이 될 만한 녀석이 아닌가 싶다.
이렇게 쓴단다... 很简短 ^^

            List<string> titleList = new List<string>();

            titleList.Add("a1");
            titleList.Add("a2");
            titleList.Add("a3");

            titleList.Insert(2, "insert");
           
            string abc = "";

            for (int i = 0; i < titleList.Count; i++)
            {
                abc = titleList[i];
            }

            titleList.RemoveAt(titleList.Count - 1);

'020. Prigraming > 01. C#' 카테고리의 다른 글

[C#] Ping Test  (0) 2010.10.17
[C#] String to Byte  (0) 2010.09.23
[C#] 나에겐 여전히 부담되는... [Thread]  (0) 2010.09.08
[C#] 서버시간과의 동기화 처리  (1) 2010.07.24
[C#] 웹상의 파일 다운로드 하기  (0) 2010.07.23

WRITTEN BY
테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게

,

이번에 이직을 하고 앞으로 통신프로그램으로 밥먹고 살게됐다.
앞으로 길게 밥먹고 살라믄 배워야지 뭐 어떻게...
기존에는 Timer 이용해서 시간처리 하고 뭐 이랬는데...

소켓통신, 쓰레드, 델리게이트, Invoke.... 아직은 나에게 너무도 생소하기 그지 없는 요것들...

오늘은 쓰레드를 보자...
쓰레드로 인터넷을 검색하거나 도움말을 보면 거의 대부분이 콘솔응용프로그램으로다가 샘플이 있어서
막상 응용프로그램으로 옮겨 적용하다 보면 폼상의 컨트롤과 쓰레드의 충돌이 일어나는 것을 볼 수 있다.
2005버전 부터 생겼다고 하는데 '크로스 쓰레드 예외'라는 에러가 발생하게 된다.
사실 이번 프로젝트도 한 폼에서 여러 쓰레드를 돌리며 데이터를 처리해야 하는데 다시 한번 말하지만 나에겐 너무도 생소하기 부담스러버서...ㅠ.ㅠ
이래저래 찾아보는 와중에 만족할만한 자료가 있어 두고두고 보고자 남겨본다.

-------------------------------------------------------------------------------------------------------
using System.Threading;

        private Thread _Thread;
        private delegate void DisplayDateTimeHandler();

        protected override void OnShown(EventArgs e)
        {
            base.OnShown(e);

            _Thread = new Thread(StartNewThread);
            _Thread.Start();
        }

        protected override void OnClosing(CancelEventArgs e)
        {
            _Thread.Abort();
            base.OnClosing(e);
        }

        private void DisplayDateTime()
        {
            label1.Text = DateTime.Now.ToString();
        }

        private void StartNewThread()
        {
            while (true)
            {

                if (label1.InvokeRequired)
                    label1.Invoke(new DisplayDateTimeHandler(DisplayDateTime));
                else
                    DisplayDateTime();

                Thread.Sleep(1000);
            }
        }
-------------------------------------------------------------------------------------------------------

참고 사이트 : http://kimgwajang.tistory.com/193

'020. Prigraming > 01. C#' 카테고리의 다른 글

[C#] String to Byte  (0) 2010.09.23
[C#] List 제네릭 클래스  (0) 2010.09.08
[C#] 서버시간과의 동기화 처리  (1) 2010.07.24
[C#] 웹상의 파일 다운로드 하기  (0) 2010.07.23
[C#] 사용자 IP 구하기  (0) 2010.06.04

WRITTEN BY
테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게

,