모바일 오유 바로가기
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를 소개할께요.
    안녕하세요.
    달빛연구자 입니다.

    지난 화에서는 이번화에서 배열에 대해 조금 더 자세히 알아보겠다고 했었는데요.
    오늘 제가 회식을 해서 술이 좀 된 관계로... 딸꾹.. --;; 이 부분은 다음으로 미루고요...(퍽퍽!)

    이 루아 이야기에서 주로 소개하고자 했던 IUP라는 라이브러리를 조금 일찍 소개하려고 해요.
    이번 화에서는 IUP라는 것이 있고, 이것으로 이런식의 작업을 할 수 있다... 라는 식의 이야기를 풀어보고자 해요..

    1. 다시 만들어 보는 Hello, World
     사실 IUP가 무엇인가를 우리가 고민할 필요는 없어요. 루아에서 GUI를 표현하기 위해 IUP라는 것을 사용한다라는 것만 알고 있으면 되요.
    왜냐고요? 어차피 루아에 다 깔려 있거든요.
    그러한 이유로 일단은 전편에서 작성을 했던 프로그래머의 성스러운 의식(?)인 Hello World를 만들어 볼께요.
    IUPHello.png

    네... 전편과 똑같은 Hello World 프로그램 이에요.
    조금 다른게 있다면.. 이럴수가.. Hello World가 윈도우 창에 나오고 있어요?! 와.. 충격과 공포네요..
    바로 전편에서 까만 콘솔창에 Hello World를 찍었는데, 눈 깜짝 할 사이에 윈도우에서 Hello World를 찍게되다니...
    루아는 정말 대단한 프로그래밍 언어인 것 같아요.. :)

    이 대단한 기능에 비해 소스코드는 무척 간단해요. 한번 분석을 해 보면..
    2번라인 : IUP 라이브러리를 사용하겠다는 의미입니다.
    3번라인 : IUP 라이브러리에서 Message라는 함수를 사용하겠다는 의미에요.
     첫번째 인자는 메시지 박스의 제목을 두번째 인자는 메시지 박스의 내용을 넣어주면 되네요.

     자세히 보면, 소스파일의 확장자가 lua가 아니라 wlua 인데요. 확장자를 wlua로 해 주면, 프로그램을 실행할 때 나타나는 검은색 콘솔창을 보이지 않게 할 수 있기 떄문에, 앞으로는 lua 대신 wlua 확장자를 사용할 거에요.

    2. 루아를 이용한 텍스트 뷰어를 만들어 보자.
     텍스트뷰어가 뭐냐고요?.. 음.. 간단히 말하면, TXT 파일을 사람이 읽을 수 있게 해 주는 프로그램. 한마디로 편집이 안되는 메모장 이에요.
    음... 시시하다고요? ㅠㅠ
     네 사실 요즘은 정말 대단한 에디터와 뷰어가 많이 나와서 시시해 보일 수 있지만, C나 JAVA와 같은 언어를 사용해서 쓸만한 텍스트 뷰어를 만들려고 하면, 정말 상당한 노력을 해야만 한답니다...또르르..

    네.. 이리저리 고민하지 말고 일단 소스코드를 작성해 볼께요.
    텍스트뷰어소스.png

    넵.. 총 16줄 짜리의 짧고 간단한 소스 입니다. ^^; 아직은 짧고 간단한 예제들이라 스샷으로 올릴 수 있는데요.. 소스가 길어지면 그냥 텍스트로 긁어다 붙이게 될지도 몰라요... ㅠㅠ

    일단 소스 분석부터 시작하겠습니다.
    4번과 7번 12번 줄의 --로 시작하는 부분은 주석이라고 해서 프로그램에 영향을 주지 않는 부분이니 무시하셔도 좋아요.
    2번 라인에서 iup를 사용겠다고 선언합니다. (사실은 조금 다른 의미지만 일단은 이렇게 넘어가도 무방합니다.)
    5번 라인에서 내가 열고자 하는 파일의 이름을 구해서 file_path라는 변수에 대입합니다..
    내가 열고자 하는 파일의 이름을 어떻게 구하나고요? ... 이렇게요.
    텍스트뷰오픈.png

    네.. 무려 열기 창을 띄워서 열고자 하는 파일의 경로를 구해 줍니다 ㄷㄷㄷ...

    8번라인에서 이렇게 선택한 경로에 위치한 파일을 열어주고요.
    9번라인에서 이 파일의 모든 데이터를 읽어서 str이라는 변수에 대입해 주어요.
    10번 라인에서는 모든 데이터를 읽어들였으니 더 이상 필요 없어진 파일을 닫아 주어요.

    우리는 이제 이렇게 읽어들인 데이터를 다이얼로그라는 형태의 윈도우 창을 사용해서 출력할 건데요.

    그 이전에 내가 데이터를 출력할 다이얼로그의 속성을 정해주기 위해서 13번 라인과 같이 코드를 작성해야 해요..
    여기서 multiline은 여러줄을 가지는 텍스트의 형태로 화면을 나타내겠다는 것이고, value는 화면에 나타낼 실제 데이터에요.
    readonly는 읽기 전용 속성이고, scroll은 당연히 스크롤을 사용할지 여부를 결정하기 위한 속성입니다.

    이렇게 출력할 텍스트윈도우의 속성을 정해주었으면, 이것을 인자로 해서 dialog 함수를 호출해 주어야 해요.
    이 작업이 14번 라인에서 이루어 지네요.. 이렇게 만들어진 다이얼로그를 dlg라는 변수에 대입해 줍니다.

    그런데 이렇게 만들어진 다이얼로그는 아직 화면에 보이지를 않아요. 단지 컴퓨터 속에 데이터로 존재할 뿐이랍니다.
    다이얼로그를 화면에 보이게 하기 위하여, 15번 라인에서 show()라는 함수를 호출해 줍니다.

    이제 화면에 나타난 다이얼로그를 실제로 동작시키기 위하여 MainLoop()라는 함수를 16번 라인에서 호출해 줍니다.

    이것으로 코드 작성은 모두 끝이 났어요.

    한번 동작을 시켜보면...
    텍스트뷰어오픈동작.png

    텍스트뷰어동작.png

    ... 와.. 정말 멋진 텍스트... 뷰어네요. 소설을 읽기 위해 써도 손색이 없는 텍스트뷰어가 완성되었어요.
    고작 16줄의 소스코드로 이런 멋진 프로그램을 만들 수 있다니 루아는 정말 대단한 언어네요 :)

    이번 화에서는 IUP라는 라이브러리를 소개하였고, 그것을 이용한 간단한 프로그램을 작성해 보았어요.
    사실 루아에는 이것 말고도 여러가지 강력한 라이브러리들이 포함되어 있는데요. (윈도우 기준 이에요.)

     일단 이 글 자체가 가벼운 마음으로 코드를 짜기를 원하시는 분들을 위한다는 컨샙이고, 너무 다양한 라이브러리나 깊이 있는 문법을 다루기에는
    자칫 내용이 너무 딱딱해 질 수 있어서, 이후의 글에서는 루아와 IUP를 이용해서 프로그램을 작성해 나갈 생각이에요.

    다음 글 에서는 진짜로 (제가 술을 먹지 않는다면 ==;;) 루아의 변수에 대해서 다루어 보도록 하겠습니다.


    이 게시물을 추천한 분들의 목록입니다.
    [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 초과시 해당없음)

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

    번호 제 목 이름 날짜 조회 추천
    1759376
    이 고양이 이름은 '먹구름' 입니다. [4] 펌글 우가가 24/04/26 12:07 566 10
    1759375
    멸종단계에 있는 대한민국 희귀동물 갓라이크 24/04/26 11:55 778 12
    1759374
    아깝게 번제물 바치는걸 막으려는 대체역사물 주인공.txt [3] 펌글 우가가 24/04/26 11:46 1517 14
    1759373
    대단한 것 같은 밤양갱 열풍 [6] 창작글 몰라몰랑아 24/04/26 11:43 2237 15
    1759372
    팬들과 교감하는 박명수 [6] 펌글 감동브레이커 24/04/26 11:01 2044 23
    1759371
    4월 30일, 독도갑니다 [1] 쌍파리 24/04/26 10:50 585 20
    1759370
    [속보]대통령실 "영수회담, 사전 의제 조율 없이 빠른 시일 내 개최하자 [11] 둥둥가79 24/04/26 10:49 1080 18
    1759369
    한국 방심위 선방위 최고 업무 [5] 쌍파리 24/04/26 10:39 887 26
    1759368
    유퀴즈) 청춘이 사라지는게 슬픈배우에게 엄마가 해준 말 [4] 펌글 우가가 24/04/26 10:07 2372 29
    1759367
    내 고향 부산 [9] cvi 24/04/26 10:01 1052 23
    1759366
    일상이 순수 재미 GOAT라는 여배우.mp4 [9] 펌글 우가가 24/04/26 09:43 2813 22
    1759365
    2030 구직 포기한 히키코모리들 만나보면서 느낀 점 [12] 펌글 우가가 24/04/26 09:08 3714 19
    1759364
    오징어게임 전세계적으로 압도적 지지 평가를 받던 에피 [12] 펌글 우가가 24/04/26 08:29 3753 33
    1759363
    홀로코스트에 희생된 [안네의 일기]에 일본국민이 매료된 이유.txt [16] 펌글 우가가 24/04/26 08:07 2188 38
    1759362
    세계최강 X선 망원경을 하루아침에 중단시키려는 미국 근황 [5] 펌글 우가가 24/04/26 07:30 3486 33
    1759361
    대한민국 의느님들 뒤통수를 벽돌로 찍어 버린 굥 [15] 쌍파리 24/04/26 06:59 2529 45
    1759360
    닭갈비에 중국당면 넣어준댔는데 안넣어줌 ㅠ [9] 펌글 우가가 24/04/26 06:53 3210 32
    1759359
    고구마 튀김을 아주 좋아하는 남편.jpg [4] 펌글 우가가 24/04/26 06:51 3065 32
    1759358
    잘생긴 남자를 봤을때 나오는 표정 [14] 펌글 우가가 24/04/26 06:08 4612 40
    1759357
    ??? : 누가 대표 맡을래? 눈까리가 할래? [3] Oh_My!_Girl 24/04/26 06:06 2945 30
    1759356
    알베르토가 말하는 한국의 불편한 점.jpg [11] 방과후개그지도 24/04/26 05:20 3134 43
    1759355
    미군이 아프가니스탄에서 겪어야 했던 보급 난이도.jpg [9] 펌글 우가가 24/04/26 05:16 4436 31
    1759354
    임신한 간호사가 출근해서 일하다 겪은 서러운일 [4] 펌글 우가가 24/04/26 05:08 3201 33
    1759353
    할머니가 해준 생선구이의 비밀 [8] 펌글 우가가 24/04/26 03:42 3488 34
    1759352
    [약혐] 이토 준지 - 달팽이 소녀 [10] 창작글 곰나으리 24/04/26 03:41 1931 26
    1759351
    신입때 부장에게 카톡 보냄 [2] 3일 변비엔당근 24/04/26 03:39 4418 29
    1759350
    이태원은 사소한 일 [21] 갓라이크 24/04/26 00:06 2704 51
    1759349
    중국산 선풍기 [23] 댓글캐리어 24/04/25 23:14 3655 39
    1759348
    창조간첩의 달인 너구나 짜슥 [15] 쌍파리 24/04/25 22:53 2419 49
    1759347
    폐렴 2주 약먹고 못했던 섹스 합니다 [29] 자문자답 24/04/25 22:36 4120 39
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈