2017년 9월 18일 월요일

문명6 메인 테마 Sogno di Volare ("The Dream of Flight, 하늘을 나는 꿈")

바바예투로 유명한 문명 시리즈 6의 메인 테마 곡입니다.

문명6은 트레일러부터 해서 큰 주제가 인간에 대한 경의, 찬사인 느낌입니다

메인 테마의 가사 또한 레오나르도 다 빈치가 작성한 비행에 대한 소회를 번안한 내용입니다


UNA VOLTA CHE AVRAI
Once you have taken flight
당신이 날아오른다면

SPICCATO IL VOLO, DECIDERAI
You'll decide
답을 내리게 될 것이니.

SGUARDO VERSO IL CIEL SAPRAI
Gaze towards the sky, you'll know
하늘을 보며 알게 되리라

LÌ A CASA IL CUORE SENTIRAI
That is where your heart will feel at home
이곳이 내 마음의 고향임을


UNA VOLTA CHE AVRAI
Once you have taken flight
당신이 날아오른다면

SPICCATO IL VOLO, DECIDERAI
You'll decide
답을 내리게 될 것이니.

SGUARDO VERSO IL CIEL SAPRAI
Gaze towards the sky, you'll know
하늘을 보며 알게 되리라

LÌ A CASA IL CUORE SENTIRAI
That is where your heart will feel at home
이 곳이 내 마음의 고향임을


PRENADERÁ IL PRIMORO VOLO
The first great bird will
태초의 거대한 새가

VERSO IL SOLE IL GRANDE UCCELLO
Take flight towards the sun
태양을 향해 날아오르리니

SORVOLANDO IL GRANDE MONTE CECERI
Sweeping over the great Mount Ceceri
크나큰 체체리 산을 넘어

RIEMPENDO L'UNIVERSO DI STUPORE E GLORIA!
Filling the universe with wonder and glory!
온 세상이 경이와 영광으로 넘치게 하리라!


UNA VOLTA CHE AVRAI (SPICCATO IL VOLO)
Once you have taken flight
당신이 날아오른다면

ALLORA DECIDERAI
You'll decide
답을 내리게 될 것이니

SGUARDO VERSO IL CIEL SAPRAI
Gaze towards the sky, you'll know that
하늘을 보며 알게 되리라

LÌ A CASA IL CUORE SENTIRAI
That is where your heart will feel at home
이 곳이 내 마음의 고향임을

L'UOMO VERRÁ PORTATO DALLA SUA CREAZIONE
Mankind will be lifted by his own creation
인간은 자신이 창조한 것으로 날아오르게 되리라.

COME GLI UCCELLI, VERSO IL CIELO…
Just like birds, into the sky…
새들처럼, 저 하늘을 향해…


RIEMPENDO L'UNIVERSO DI STUPORE E GLORIA!
Filling the universe with wonder and glory!
온 세상이 경이와 영광으로 넘치게 하리라!

UNA VOLTA CHE AVRAI
Once you have taken flight
당신이 날아오른다면

SPICCATO IL VOLO, DECIDERAI
You'll decide
답을 내리게 될 것이니.

SGUARDO VERSO IL CIEL SAPRAI
Gaze towards the sky, you'll know
하늘을 보며 알게 되리라

LÌ A CASA IL CUORE SENTIRAI
that is where your heart will feel at home
이 곳이 내 마음의 고향임을 


GLORIA!
글로리아!

GLORIA!
글로리아!


위 테마 곡과 주제를 그대로 담은 트레일러 입니다



다른 음악 포스트 보러가기
Share:

자동으로 환율 정보를 업데이트 하는 환율 계산기 만들기 (C# )

요즘 여행 계획을 짜다 보니 생각보다 환율 정보를 자주 찾게 되더라구요

간편하게 네이버 환율 계산기에 접속하여 사용할 수 있으나

필요성도 느끼고 생각이 난김에 C#으로 간단한 환율 계산기를 만들어 보겠습니다.

1. 환율 계산기에 필요한 기능

- 인터넷이 연결되면 최신 환율 정보를 가져와서 계산에 적용하는 기능
  원, 달러, 유로, 엔, 위안 5가지 환율 계산 기능 제공
  실시간 환율 정보 조회 기능
  환율 계산 결과는 숫자를 입력하면 즉시 환율 계산 결과를 볼 수 있도록 함

2. 준비물

- C# 개발 환경이 구비된 Visual Studio, 계산기에 들어갈 귀여운 사진 몇장

3. 레이아웃
- 원래 만들기 전의 레이아웃 그린걸 올릴려고 했으나 완성품을 보시는게 편할꺼 같아서 완성된 계산기를 올렸습니다.

Clear 버튼은 계산기의 모든 텍스트 박스의 내용을 삭제하는 기능 입니다.
환율 버튼은 계산기 하단부인 환율 정보를 보여주는 기능 입니다
Close 버튼은 닫기 프로그램 종료 기능입니다.


4. 개발

ⅰ환율 정보

- 환율 정보를 인터넷으로 요청하여 정보를 응답받는 기능이 필요 합니다.
  환율 정보를 XML이나 JSON으로 제공해주는 서비스는 매우 많은 편입니다 그중에서 저는 야후 API를 이용해 보도록 하겠습니다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/// </summary>
/// <param name="FromCurrency">환율 변환할 국가</param>
/// <param name="ToCurrency"> 환율 적용되는 국가 </param>
/// <returns></returns>
public string getRario(string FromCurrency, string ToCurrency)
{
    string strISO = FromCurrency + ToCurrency;
    string strRate = string.Empty;
    string url = String.Format("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%3D%22{0}%22&format=xml&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys", strISO);
    XmlDocument xml = new XmlDocument();
    xml.Load(url);
    XmlNodeList xl = xml.GetElementsByTagName("Rate");
    if (xl != null)
    {
    strRate = xl[0].InnerText;
    }
    return strRate;
}
해당 매서드는 환율 기준 국가 코드와 환율 변환 국가 코드를 입력하면 야후 API를 이용하여 환율 비율값을 리턴하는 기능 가지고 있습니다.

국가 코드는 ISO 국가 코드 알파-3을 사용하고 있으며 모든 국가 코드는 아래 링크에서 자세히 조회 할 수 있습니다.
(ISO 국가 코드 (위키백과) - https://ko.wikipedia.org/wiki/ISO_3166-1)
이중에서 환율 계산에 필요한 국가 코드는 한국 : KRW, 일본 : JPY, 미국 : USD, 유럽 : EUR, 중국 : CHY 입니다.

만약에 원화를 미화로 바꾸는 비율을 알고 싶으면 FromCurrency에는 KRW, ToCurrency에는 USD를 넣으시면 됩니다.


ⅱ텍스트 박스 컨트롤

- 텍스트 박스는 총 5개가 있으며 각국 화폐의 액수를 입력받고 출력하는 곳입니다
  따라서 숫자만 입력 받도록 되어야 하며, 구분이 쉽도록 천 단위 마다 콤마(,) 표시를 해야 합니다 그리고 소수점 2자리 까지 표현하도록 하겠습니다.

1
2
3
4
5
6
7
8
//숫자 입력
private void tbWon_KeyPress(object sender, KeyPressEventArgs e)
{
    if (!(char.IsDigit(e.KeyChar) || e.KeyChar == Convert.ToChar(Keys.Back)))
    {
    e.Handled = true;
    }
}
텍스트 박스의 KeyPress 이벤트를 받은 후 사용자에게 숫자만 입력 받도록 문제를 제한 했습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//콤마
private void tbWon_TextChanged(object sender, EventArgs e)
{
    if (!boolWon)
    {
    string strText = this.tbWon.Text;
    if (strText != "")
    {
        string lgsText;
        lgsText = tbWon.Text.Replace(",", ""); //** 숫자변환시 콤마로 발생하는 에러방지...
        tbWon.Text = String.Format("{0:#,##0.##}", Convert.ToDouble(lgsText));
        tbWon.SelectionStart = tbWon.TextLength; //** 캐럿을 맨 뒤로 보낸다...
        tbWon.SelectionLength = 0;
        calExchangeWon();
    }
    }
    else
    {
    boolWon = false;
    }
}
텍스트 박스의 TextChanged 이벤트를 받은 후 텍스트의 숫자가 변경될때 마다 천단위 콤마를 찍어 주도록 설정 했습니다.


5. 결과

- 위 기능들을 참조하여 만든 환율 계산기는 다음과 같습니다

완성된 환율 계산기 실행 영상 입니다

환율 계산기 실행 파일도 올렸습니다 - 실행파일 다운

환율 계산기 전체 소스코드는 매우 길어져서 디자인 파일과 함께 올렸습니다
환율 계산기 소스코드 다운 - 소스코드 다운로드


6. 후기

- 처음엔 혼자 필요할때 사용할 목적으로 만든거기 때문에 에비츄 짤들을 가져와 사용하였습니다. 문제가 된다면 소스코드랑 실행파일 링크는 삭제하도록 하겠습니다.

- 지금 환율 계산기는 인터넷이 연결되지 않은 환경에서 실행될 경우 환율 정보를 초기값으로 사용하도록 되어 있습니다 좀 더 공을 들인다면 환율 정보를 받을때마다 내문서 폴더 같은 곳에 환율 정보를 백업해두는 기능을 추가하는걸 생각해 볼 수 있겠습니다

- 비주얼스튜디오를 통한 결과물이라서 윈도우 전용이지만 리눅스에서 와인(WINE)을 설치한 뒤 실제로 실행해본 결과 애비츄 짤들 색상이 이상해진거 외엔 문제없이 실행됩니다.

부족한글 봐주셔서 감사합니다 오타와 잘못된 내용, 질문들은 언제나 환영입니다 ^^

Share: