모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 게시물ID : humorbest_841178
    작성자 : 달빛연구자
    추천 : 23
    조회수 : 2397
    IP : 59.18.***.43
    댓글 : 12개
    베스트 등록시간 : 2014/02/20 13:41:22
    원글작성시간 : 2014/02/19 23:08:32
    http://todayhumor.com/?humorbest_841178 모바일
    [루아 이야기] 4. 루아를 강력하게 만들어 주는 IUP를 소개할께요.
    안녕하세요. <div>달빛연구자 입니다.</div> <div><br /></div> <div>지난 화에서는 이번화에서 배열에 대해 조금 더 자세히 알아보겠다고 했었는데요.</div> <div>오늘 제가 회식을 해서 술이 좀 된 관계로... 딸꾹.. --;; 이 부분은 다음으로 미루고요...(퍽퍽!)</div> <div><br /></div> <div>이 루아 이야기에서 주로 소개하고자 했던 IUP라는 라이브러리를 조금 일찍 소개하려고 해요.</div> <div>이번 화에서는 IUP라는 것이 있고, 이것으로 이런식의 작업을 할 수 있다... 라는 식의 이야기를 풀어보고자 해요..</div> <div><br /></div> <div><b>1. 다시 만들어 보는 Hello, World</b></div> <div> 사실 IUP가 무엇인가를 우리가 고민할 필요는 없어요. 루아에서 GUI를 표현하기 위해 IUP라는 것을 사용한다라는 것만 알고 있으면 되요.</div> <div>왜냐고요? 어차피<font color="#ff0000"> <font size="5"><b>루아에 다 깔려 있거든요.</b></font></font></div> <div>그러한 이유로 일단은 전편에서 작성을 했던 프로그래머의 성스러운 의식(?)인 Hello World를 만들어 볼께요.</div> <div><div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201402/1392814448ebgoshBYK56gtdDKrueDd9kvwWk7.png" width="800" height="185" alt="IUPHello.png" id="image_017752234311774373" class="chimg_photo" style="border: none" /></div><br /></div> <div>네... 전편과 똑같은 Hello World 프로그램 이에요.</div> <div>조금 다른게 있다면.. 이럴수가.. Hello World가 윈도우 창에 나오고 있어요?! 와.. 충격과 공포네요..</div> <div>바로 전편에서 까만 콘솔창에 Hello World를 찍었는데, 눈 깜짝 할 사이에 윈도우에서 Hello World를 찍게되다니...</div> <div>루아는 정말 대단한 프로그래밍 언어인 것 같아요.. :)</div> <div><br /></div> <div>이 대단한 기능에 비해 소스코드는 무척 간단해요. 한번 분석을 해 보면..</div> <div>2번라인 : IUP 라이브러리를 사용하겠다는 의미입니다.</div> <div>3번라인 : IUP 라이브러리에서 Message라는 함수를 사용하겠다는 의미에요.</div> <div> 첫번째 인자는 메시지 박스의 제목을 두번째 인자는 메시지 박스의 내용을 넣어주면 되네요.</div> <div><br /></div> <div> 자세히 보면, 소스파일의 확장자가 <b><font size="4">lua가 아니라 wlua </font></b>인데요. 확장자를 wlua로 해 주면, 프로그램을 실행할 때 나타나는 검은색 콘솔창을 보이지 않게 할 수 있기 떄문에, 앞으로는 lua 대신 wlua 확장자를 사용할 거에요.</div> <div><br /></div> <div><b>2. 루아를 이용한 텍스트 뷰어를 만들어 보자.</b></div> <div><b> </b>텍스트뷰어가 뭐냐고요?.. 음.. 간단히 말하면, TXT 파일을 사람이 읽을 수 있게 해 주는 프로그램. 한마디로 편집이 안되는 메모장 이에요.</div> <div>음... 시시하다고요? ㅠㅠ</div> <div> 네 사실 요즘은 정말 대단한 에디터와 뷰어가 많이 나와서 시시해 보일 수 있지만, C나 JAVA와 같은 언어를 사용해서 쓸만한 텍스트 뷰어를 만들려고 하면, 정말 상당한 노력을 해야만 한답니다...또르르..</div> <div><br /></div> <div>네.. 이리저리 고민하지 말고 일단 소스코드를 작성해 볼께요.</div> <div><div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201402/13928169139QIfPdmfukLe.png" width="750" height="388" alt="텍스트뷰어소스.png" style="border: none" /></div><br /></div> <div>넵.. 총 16줄 짜리의 짧고 간단한 소스 입니다. ^^; 아직은 짧고 간단한 예제들이라 스샷으로 올릴 수 있는데요.. 소스가 길어지면 그냥 텍스트로 긁어다 붙이게 될지도 몰라요... ㅠㅠ</div> <div><br /></div> <div>일단 소스 분석부터 시작하겠습니다.</div> <div>4번과 7번 12번 줄의 --로 시작하는 부분은 주석이라고 해서 프로그램에 영향을 주지 않는 부분이니 무시하셔도 좋아요.</div> <div>2번 라인에서 iup를 사용겠다고 선언합니다. (사실은 조금 다른 의미지만 일단은 이렇게 넘어가도 무방합니다.)</div> <div>5번 라인에서 내가 열고자 하는 파일의 이름을 구해서 file_path라는 변수에 대입합니다..</div> <div>내가 열고자 하는 파일의 이름을 어떻게 구하나고요? ... 이렇게요.</div> <div><div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201402/1392817454VrQ9YNqpcKidXtl3cfWqiVWEK1.png" width="777" height="405" alt="텍스트뷰오픈.png" style="border: none" /></div><br /></div> <div>네.. 무려 열기 창을 띄워서 열고자 하는 파일의 경로를 구해 줍니다 ㄷㄷㄷ...</div> <div><br /></div> <div>8번라인에서 이렇게 선택한 경로에 위치한 파일을 열어주고요.</div> <div>9번라인에서 이 파일의 모든 데이터를 읽어서 str이라는 변수에 대입해 주어요.</div> <div>10번 라인에서는 모든 데이터를 읽어들였으니 더 이상 필요 없어진 파일을 닫아 주어요.</div> <div><br /></div> <div>우리는 이제 이렇게 읽어들인 데이터를 다이얼로그라는 형태의 윈도우 창을 사용해서 출력할 건데요.</div> <div><br /></div> <div>그 이전에 내가 데이터를 출력할 다이얼로그의 속성을 정해주기 위해서 13번 라인과 같이 코드를 작성해야 해요..</div> <div>여기서 multiline은 여러줄을 가지는 텍스트의 형태로 화면을 나타내겠다는 것이고, value는 화면에 나타낼 실제 데이터에요.</div> <div>readonly는 읽기 전용 속성이고, scroll은 당연히 스크롤을 사용할지 여부를 결정하기 위한 속성입니다.</div> <div><br /></div> <div>이렇게 출력할 텍스트윈도우의 속성을 정해주었으면, 이것을 인자로 해서 dialog 함수를 호출해 주어야 해요.</div> <div>이 작업이 14번 라인에서 이루어 지네요.. 이렇게 만들어진 다이얼로그를 dlg라는 변수에 대입해 줍니다.</div> <div><br /></div> <div>그런데 이렇게 만들어진 다이얼로그는 아직 화면에 보이지를 않아요. 단지 컴퓨터 속에 데이터로 존재할 뿐이랍니다.</div> <div>다이얼로그를 화면에 보이게 하기 위하여, 15번 라인에서 show()라는 함수를 호출해 줍니다.</div> <div><br /></div> <div>이제 화면에 나타난 다이얼로그를 실제로 동작시키기 위하여 MainLoop()라는 함수를 16번 라인에서 호출해 줍니다.</div> <div><br /></div> <div>이것으로 코드 작성은 모두 끝이 났어요.</div> <div><br /></div> <div>한번 동작을 시켜보면...</div> <div><div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201402/1392818507gaJn2KMwfta5vsBU.png" width="779" height="399" alt="텍스트뷰어오픈동작.png" style="border: none" /></div><br /></div> <div><div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201402/1392818379q7ny1vAWdgSHjedc.png" width="695" height="384" alt="텍스트뷰어동작.png" style="border: none" /></div><br /></div> <div>... 와.. 정말 멋진 텍스트... 뷰어네요. 소설을 읽기 위해 써도 손색이 없는 텍스트뷰어가 완성되었어요.</div> <div>고작 16줄의 소스코드로 이런 멋진 프로그램을 만들 수 있다니 루아는 정말 대단한 언어네요 :)</div> <div><br /></div> <div>이번 화에서는 IUP라는 라이브러리를 소개하였고, 그것을 이용한 간단한 프로그램을 작성해 보았어요.</div> <div>사실 루아에는 이것 말고도 여러가지 강력한 라이브러리들이 포함되어 있는데요. (윈도우 기준 이에요.)</div> <div><br /></div> <div> 일단 이 글 자체가 가벼운 마음으로 코드를 짜기를 원하시는 분들을 위한다는 컨샙이고, 너무 다양한 라이브러리나 깊이 있는 문법을 다루기에는</div> <div>자칫 내용이 너무 딱딱해 질 수 있어서, 이후의 글에서는 루아와 IUP를 이용해서 프로그램을 작성해 나갈 생각이에요.</div> <div><br /></div> <div>다음 글 에서는 진짜로 (제가 술을 먹지 않는다면 ==;;) 루아의 변수에 대해서 다루어 보도록 하겠습니다.</div> <div><br /></div>

    이 게시물을 추천한 분들의 목록입니다.
    [1] 2014/02/20 01:13:29  121.144.***.134  E_Sukmean  293448
    [2] 2014/02/20 01:37:53  211.51.***.201  나이쓰한넘  458806
    [3] 2014/02/20 01:56:46  124.254.***.169  살충제427  193198
    [4] 2014/02/20 02:06:23  116.126.***.120  甲乙丙丁  138506
    [5] 2014/02/20 10:52:33  125.139.***.122  Da_Invictus  25989
    [6] 2014/02/20 11:11:23  203.237.***.74  칠갑산붉은곰  181897
    [7] 2014/02/20 11:33:49  118.34.***.159  나이더스커널  65101
    [8] 2014/02/20 11:50:54  59.9.***.74  둥둥고삼  508308
    [9] 2014/02/20 13:22:22  223.62.***.92  이응알앗음  209965
    [10] 2014/02/20 13:41:22  183.106.***.99  RedPain  203823
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.


    현재 게시판의 베스트게시물입니다.  
    번호 제 목 이름 날짜 조회 추천
    858208
    [취업도전기] 라이엇게임즈 [8] SWCraftsman 14/03/26 23:22 6358 49
    858044
    에러 나면 에러원인 읽어보세요 [17] 잉여잉여킹짱 14/03/26 14:07 5400 44
    857080
    질문후 질문글 지우시는 분들께 [10] 콜드이슈 14/03/24 02:15 2726 56
    855754
    자신이 프로그래머인데 자기 형이 싫다면... [21] 콜드이슈 14/03/21 00:31 7590 44
    855224
    과제보니까 짠하다 [6] 잉여잉여킹짱 14/03/19 18:34 4540 25
    853041
    과제글에 답변해주지 맙시다. [13] 잉여잉여킹짱 14/03/14 11:34 4093 47
    852699
    질문글에 답변 달렸으면 삭제하지 맙시다. [18] RedPain 14/03/13 16:25 3047 61
    851154
    불닭볶음면 버그좀 해결해주세요;; [82] 무앙무앙이 14/03/09 21:11 11951 110
    850029
    C 초보가 흔히 하는 삽질성 코드에 대해 조언을 드립니다. [16] Ksana 14/03/07 12:26 5156 55
    849876
    예상컨데... [11] Ksana 14/03/07 00:52 2835 32
    849444
    게시판에 올라오는 대학생들 과제에는 답변하지 않아야 한다고 생각합니다. [31] 달빛연구자 14/03/06 05:21 7150 129
    848441
    코딩왕국 [16] 콜드이슈 14/03/03 23:27 4682 52
    847240
    [음모론주의] 요즘 개발자 구인구직 분위기가 험악합니다. [8] 컴포지트 14/03/01 14:35 5622 74
    843113
    (오징어 주의;;) 도서 "프로그래머 철학을 만나다" [10] SWCraftsman 14/02/22 22:51 2807 32
    842460
    프로그래머 현실.youtube [10] 팽이~ 14/02/21 23:06 3705 28
    842034
    오유에 코드를 깨끗이 올리자 (Syntax Highter) [12] E_Sukmean 14/02/21 10:18 2487 23
    841194
    [루아 이야기] 3. 루아의 기본적인 문법을 익혀보아요. [3] 달빛연구자 14/02/20 14:21 2985 25
    [루아 이야기] 4. 루아를 강력하게 만들어 주는 IUP를 소개할께요. [12] 달빛연구자 14/02/20 13:41 2397 23
    841087
    [루아 이야기] 1. 루아를 설치해 보자. [9] 달빛연구자 14/02/20 10:35 3913 35
    840740
    [루아 이야기] 2. 루아의 기본 사용법을 익혀 봅시다. [6] 달빛연구자 14/02/20 01:00 3595 27
    839443
    디버깅.gif [18] 평정컴퓨터 14/02/18 00:45 4808 72
    838002
    파이썬 책 추천부탁해도될까요? 쇠고기야채죽 14/02/15 19:26 3615 33
    837749
    C 고수분들 제발 도움좀 급해요. [18] 콜드이슈 14/02/15 02:54 4824 55
    837218
    질문하는 법 [9] RedPain 14/02/14 06:43 2762 44
    836248
    요즘 쳐 돌은 개발자들이 속속 눈에 띕니다. [45] 컴포지트 14/02/12 14:55 7794 53
    835182
    라인 1줄로 만드는 담력테스트 게임 [37] 콜드이슈 14/02/10 18:01 89043 54
    834423
    군대에서 코딩하는 9가지 방법 [17] RedPain 14/02/09 12:47 16150 40
    [◀이전10개] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈