파이썬 파일이 다른 파일에서 import 되는 것이 아닌 직접 실행되는 경우에만 수행할 코드는 아래 코드 이후에 작성.

if __name__ == "__main__": 


예제
#-*- coding: utf-8 -*-
print "항상 출력 됨"
if __name__ == "__main__": 
    print "python sample.py 처럼 직접 실행되는 경우에만 출력됨"
Posted by Gungume
,

파이썬2의 기본 인코딩은 ascii인데 이것을 UTF-8로 변경하기 위해서는 파이썬 파일 최상단에 아래와 같은 코드 삽입.

(기본 인코딩 사용시 코드상에 한글 등 ascii 범위를 넘어가는 문자 사용시 오류 발생)


#-*- coding: utf-8 -*-
Posted by Gungume
,
청남대

청남대


티스토리 탁상달력 사진 공모전용으로 올리는 청남대 사진입니다.

공모전과 관련된 사항은 아래 링크에서 확인하세요.

Posted by Gungume
,
String.Format()에서 중괄호는 기본적으로 아래와 같이 값을 치환할 때 사용합니다.
string.Format(@"Value : {0}", 123);
그런데 가끔은 포맷팅 문자열에 중괄호가 들어가야 할때가 있는데 아래처럼 사용하면 "입력 문자열의 형식이 잘못되었습니다."라는 메시지와 함께 FormatException 예외가 발생합니다.
string str = string.Format(@"function() {alert({0});}", @"Alert Message");
이럴 때는 아래와 같이 중괄호를 중첩해서 "{{", "}}" 형식으로 사용하면 예외없이 정상적으로 사용이 가능합니다.
(이때 출력물은 "{", "}"로 됩니다~)
string str = string.Format(@"function() {{alert({0});}}", @"Alert Message");
Posted by Gungume
,
WP7 Silverlight기반 프로젝트에서 전체화면 페이지를 구성하려면 아래와 같이 상단 트레이와 하단 어플리케이션바를 없애주면 됩니다.
SystemTray.IsVisible = false;
this.ApplicationBar.IsVisible = false;

Posted by Gungume
,
아래 코드는 TransformToVisual을 이용해서 현재 페이지 기준으로 특정 Element의 위치를 구하는 코드입니다.
// Obtain transform information based off root element
GeneralTransform gt = element.TransformToVisual(Application.Current.RootVisual);

// Find the four corners of the element
Point topLeft = gt.Transform(new Point(0, 0));
Point topRight = gt.Transform(new Point(element.RenderSize.Width, 0));
Point bottomLeft = gt.Transform(new Point(0, element.RenderSize.Height));
Point bottomRight = gt.Transform(new Point(element.RenderSize.Width, element.RenderSize.Height));

아래는 참고한 사이트입니다~
Posted by Gungume
,

Popup클래스에 Orientation을 지원하기 위해서는 2가지 방법이 있는데 첫번째 방법은 Popup을 xaml코드를 이용해서 visual tree에 넣는 방법이고, 두번째 방법은 Behind Code에서 RotateTransform을 이용해서 직접 회전시켜 주는 방법입니다.

첫번째 방법인 xaml을 이용하는 방법은 Panel 컨트롤 등 아래에 Popup을 넣는 방법으로 이렇게 해주면 Orientation이 알아서 적용되고, Popup이 띄워질 위치의 기준은 Panel컨트롤이 됩니다.

아래는 xaml코드의 일부로 Popup안에 Button을 하나 올려놓고, 해당 Popup은 ContentPanel(Grid control) 기준으로 50*50 위치에 팝업되어서 나타납니다.

    
        
    


두번째 방법인 RotateTransform을 이용하는 방법은 Landscape 상태일떄 Popup을 각각 90, -90도 돌려주고, 그에 맞게 VerticalOffset과 HorizontalOffset을 음수 좌표로 변경해줘야합니다.

아래는 Behind code의 일부로 Popup을 전체화면 기준으로 300*300에 팝업되도록 할 때 Orientation이 LandscapeLeft일때 Popup을 설정하는 코드입니다. RotateTransform을 이용해서 90도로 변경하고, VerticalOffset을 음수좌표로 변경하는 코드로 이때 480은 (Landscape기준)화면의 세로 길이입니다.
RotateTransform transform = new RotateTransform();
transform.Angle = 90d;
popup.RenderTransform = transform;

popup.VerticalOffset = 300 - 480;
popup.HorizontalOffset = 300;

아래는 샘플 프로그램의 캡쳐화면이고, 전체소스는 첨부파일에 있습니다~
Portrait

Portrait

LandscapeLeft

LandscapeLeft

LandscapeRight

LandscapeRight



아래는 참고한 사이트입니다~
Posted by Gungume
,
Windows Phone 7의 Orientation을 PortraitOrLandscape로 설정했다면 현재의 Orientation을 얻어오거나 Orientation이 변경되는 시점을 알아야할 때가 있습니다.

현재의 Orientation을 얻어오려면 PhoneApplicationPage.Orientation Property를 사용하면 되고, Orientation이 변경되는 시점을 알고 싶으면 PhoneApplicationPage.OrientationChanged Event를 등록해서 사용하면 됩니다.

아래는 샘플코드이고 둘다 PageOrientation enum값을 사용합니다.

public partial class MainPage : PhoneApplicationPage
{
    public MainPage()
    {
        InitializeComponent();

        //Add EventHandler
        this.OrientationChanged += new EventHandler(MainPage_OrientationChanged);
    }

    void MainPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
    {
        PageOrientation orientation = e.Orientation;
        //Check current orientation
        if ((orientation & PageOrientation.Portrait) == (PageOrientation.Portrait))
        {
            // Portrait
        }
        else
        {
            // Landscape
        }
    }

    PageOrientation GetCurrentOrientation()
    {
        return this.Orientation;
    }
}

Orientation에 대한 자세한 정보는 아래 MSDN을 참고하세요~
Posted by Gungume
,
Windows Phone 7에서는 세로모드(portrait)와 가로모드(landscape)를 지원하는데 기본적으로는 portrait모드로 설정되어있습니다.

이 Orientation은 페이지별로 설정가능하며 xaml과 Behind code에서 SupportedOrientations 값을 이용해서 설정할 수 있으며 설정될 수 있는 값은 각각 Portrait, LandscapePortraitOrLandscape입니다.

아래 코드는 각각 xaml과 Behind code(C#)를 이용해서 프로그램에서 지원할 Orientation을 설정하는 코드입니다.

//xaml
SupportedOrientations="Portrait"
SupportedOrientations="Landscape"
SupportedOrientations="PortraitOrLandscape"

//Behind code(C#)
this.SupportedOrientations = SupportedPageOrientation.Portrait;
this.SupportedOrientations = SupportedPageOrientation.Landscape;
this.SupportedOrientations = SupportedPageOrientation.PortraitOrLandscape;
Posted by Gungume
,
아래는 wav파일을 재생하는 코드입니다.

우선 VisualStudio의 솔루션 탐색기를 통해서 "Microsoft.Xna.Framework" 어셈블리를 참조합니다.

재생시킬 wav파일은 프로젝트에 추가후에 content로 설정하고, 아래 코드에 있는OpenStream()의 매개변수로 파일명을 설정해줍니다.
var stream = TitleContainer.OpenStream("FileName.wav");
var effect = SoundEffect.FromStream(stream);
FrameworkDispatcher.Update();
effect.Play();

아래는 참고한 사이트입니다~
Posted by Gungume
,