퇴근5분전


훈스에 올라온 질문중에 한글이 들어간 파라미터를 사용하는 OpenAPI 주소를 넣으면
xml을 제대로 쿼리해오지 못한다고 해서...
 
URI에 한글이 있고 없고 차이였는데... WebClient에 넣으면 자동 인코딩이되어 데이타가 안나오고
WebBrowser에 넣으면 제대로 데이타가 나온다.


WebClient로 해봤으나.. 역시 기초부족일테고, httpWebRequest도 해보고 WebRequest....

다 써봤는데 젠장... 제대로 안온다.?

Explorer에 주소 치고 엔터 치면 가져온다...

그래서 WebBrowser에 Url 속성에 넣고 가져와봤더니 가져온다..???

여기서..........         겁나 깝깝했다... 하나는 가져오고 하나는 가져오지 않는다.

근데 WebBrowser는 컨트롤인데 좀 패키지화 시키기 어정쩡한?

그래서 나온 소스가?

 delegate void GetXml(string _xml);
        private void MM(Uri ur, GetXml write)
        {
            WebBrowser wb = new WebBrowser();
            {
                wb.Url = ur;
                wb.DocumentCompleted += (s, e) =>
                {
                    write(wb.DocumentText);
                    using (wb) { /* 객체를 없애기 위해 */ };
                };
                wb.Refresh(WebBrowserRefreshOption.Completely);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Uri ur = new Uri("~~~~~~~");
            MM(ur, x => [webBrowser1.DocumentText] = x);
        }


풋... 좀 깬다 ㅡ.,ㅡ;;;

이건.. 유틸용으로다... 쩝.....
  public class Util
        {
            public delegate void GetXml(string _xml);
            public static void MM(Uri ur, GetXml write)
            {
                WebBrowser wb = new WebBrowser();
                {
                    wb.Url = ur;
                    wb.DocumentCompleted += (s, e) =>
                    {
                        write(wb.DocumentText);
                        using (wb) { /* 객체를 없애기 위해 */ };
                    };
                    wb.Refresh(WebBrowserRefreshOption.Completely);
                }
            }
        }

        // 사용할때~
        private void button1_Click(object sender, EventArgs e)
        {
            Uri ur = new Uri("~~~~~~~~");
            Util.MM(ur, x => [webBrowser1.DocumentText]  = x);
        }


더워서 더는 못하겠따~!!!

'# 3) .Net ( Vs 2008 ) > C#' 카테고리의 다른 글

포스트 잇 처럼 메모하는 레이아웃!!  (0) 2010.09.30
Ms Access 사용하기 예제소스.  (0) 2010.08.11
LINQ 그룹바이... 훌...  (0) 2010.07.30
Double.Parser()...  (0) 2010.07.19
암묵적인 형변환? 코드...?  (0) 2010.05.18


훈스에 올라온 질문글에 무심코 그룹바이로 하면 쉬울것 같아요... ....................

LINQ는 간간히 msdn보면서 하고 있지만...

무심코 한말을 되집어 보고자 직접 쿼리에 도전...

ㅡ.,ㅡ; 1시간 넘게 삽질 했넹..

Sum .. 이넘때메...








그룹바이 은근 어렵넹.

dt = new DataTable();

            dt.Columns.Add("A");
            dt.Columns.Add("B");

            dt.Rows.Add(new object[] { "A", 10 });
            dt.Rows.Add(new object[] { "A", 10 });
            dt.Rows.Add(new object[] { "B", 10 });
            dt.Rows.Add(new object[] { "A", 10 });

            var a = from tmp in dt.AsEnumerable()
                    group tmp by tmp.Field<string>("A") into k
                    select new
                    {

                        c1 = k.Key,
                        c2 = k.Sum(sum =>  Convert.ToInt32( sum.Field<string>("B") ))
                    };

            DataTable result = new DataTable();
            result = dt.Clone();
            foreach (var tt in a)
            {
                result.Rows.Add(new object[] { tt.c1, tt.c2 });
            }

'# 3) .Net ( Vs 2008 ) > C#' 카테고리의 다른 글

Ms Access 사용하기 예제소스.  (0) 2010.08.11
WebClient와 WebBrowser의 차이는??  (3) 2010.07.30
Double.Parser()...  (0) 2010.07.19
암묵적인 형변환? 코드...?  (0) 2010.05.18
IPC .Net ( 프로세스간 통신 )  (1) 2010.05.12

 나에게 행렬이란? 계산방법이나 결과값을 구하는건 알겠는데... 그래픽에 막상 적용해놓고도 이게 뭔가... 싶은것?
역시 수학 기초가 딸리면 멍때리는건 시간문제얌 ㅡ.,ㅡ;;;


얼마전 훈스에 올라온 행렬 구하는 객체가 있는가에 대해 검색좀 해보니 Matrix란게 있었는데...

또 마침 별그리는것... 선 이동시하는것등... 갑자기 또 관심종목이 ㅡ.,ㅡ;;;


 오늘 저녁엔 Matrix를 가지고 놀아보자 해서 별그리는데 써보기로 했다.

그럼 이 Matrix는 뭐하는 놈인고 하니 MSDN 에 보니 이 놈이 좌표변환 하는데 쓰이는 놈이었다.

3D 구현때보다는 머 나름 편했다.  3D는 아직도 이해 불가..( 절두체 ㅡ.,ㅡ;; )

2D로 별을 그린다고 했을때

  private void DrawStar(Graphics g, double r, PointF p)
        {
            PointF[] ps = new PointF[6];
            double RadianTheta = 0d;
            int cnt = 0;
            for (double i = 0; i <= 720d; i += 144d)
            {
                RadianTheta = (angle + i) * Math.PI / 180d;
                ps[cnt] = new PointF(p.X + (float)(r * 1d * Math.Cos(RadianTheta)),
                                                  p.Y + (float)(r * 1d * Math.Sin(RadianTheta)));
                cnt++;
            }
            g.DrawLines(Pens.Red, ps);
            g.DrawEllipse(Pens.Blue, p.X - 5, p.Y - 5, 10, 10);
        }

말할것도 없이 이거답... angle은 회전각인데.. 별을 빙글~빙글~ 돌려봤다..

이게 오히려 나에겐 이해하기 쉽다...

  private void DrawStar(PaintEventArgs e)
        {
            PointF[] starPointFs = new PointF[6];
            int cnt = 0;
            double theta = 0f;
            for (double i = 0; i <= 720d; i += 144d)
            {
                theta =( i - 5f) * Math.PI / 180d;
                starPointFs[cnt] = new PointF((float)Math.Cos(theta), (float)Math.Sin(theta));
                cnt++;
            }
            e.Graphics.DrawLines(Pens.Red, starPointFs);

            //Matrix를 이용한 좌표변환 그리기...
            Matrix mx = new Matrix(1f, 0f, 0f, 1f, this.Width/2, this.Height/2);
            mx.Scale(100f, 100f);
            mx.Rotate((float)angle);
            mx.TransformPoints(starPointFs);               
    
            e.Graphics.DrawLines(Pens.Black, starPointFs);
        }

Matrix의 기본 파라미터값( Sx , Rx, Ry, Sy, Dx, Dy ) 임.

Rx, 나 Ry를 값을 주면 왜곡되는데... 왜그런지 모르겠넹... 쩝.

매트릭스로 구현한 소스이다.
기초 메트릭스를 생성하고 여기에 크기변환,  회전값을 주고
별의 각 점좌표를 주고 변환 한다!
그리고 그려주면 별이 그려진다.

소스상에 i - 5f 는  두개의 별을 동시에 그리면 위상이 같아서 겹치므로 위상차를 주었다.

간단하게나마 매트릭스를 그려보았다.

음 어따 써먹쥐?????????????????????????????  이걸 왜했을까?

구현된 스샷!

# 실제 이미지는 타이머로 빙글 빙글 돌리고 있다....



'# 2) .Net ( Vs 2005 ) > 기타' 카테고리의 다른 글

글꼴 폰트 관련 MSDN 링크  (0) 2010.08.10
소수 구하기 소스...  (0) 2010.08.06
IFormattable  (0) 2010.07.15
트리노드 검색해서 확장하기...  (0) 2010.03.17
목록 로테이션???  (0) 2010.03.16