동글동글 라이프
[KPW2012] Notepad Letter 본문
2008년말 쯤에 한글 문자열을 자판에 입력되는 영문으로 바꾸는 방법 이라는 글을 쓴적이 있습니다.
당시에는 별 생각없이 기술연구 목적으로 테스트 용으로 만들었는데...
가끔 이 모듈을 이용해서 응용작품을 만들어 봐야 겠다는 생각을 하곤 했었죠.
최근에는 인문학이나, 감성, Design for humans 등등
사람 중심의 문화가 많이 생기고 정착되고 있는 시기입니다.
이렇듯 소프트웨어를 통해 사람의 마음을 움직이는 프로그램이 필요하다고 느꼈고,
향후에는 사람에게 메세지를 전달하는 정성을 넣어 감동으로 연결시키는
인간적인 프로그램이 앞으로는 크게 이슈가 될 것 같더라구요 ㅋㅋ
그런면에서 Notepad Letter은 그런 부분을 충족시켜주는 부분이 많았습니다.
4년만에 다시 열린 Korean Perl Workshop 2012 에서 발표할 기회가 생겨,
이 모듈을 다시 한번 연구해서 살을 붙여보자 하고 결심했습니다.
아래는 KPW2012 발표 자료입니다.
https://docs.google.com/file/d/0B3NurlLan8deZUJ4Yk1jVy1aM3c/edit?pli=1
Hangle.pm
|
- 아래는 스크립트 입니다. 공개하니 부끄럽네요 ㅡ_ㅠ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
| use strict;
use warnings;
use Win32::GuiTest qw(:ALL);
use Win32::MediaPlayer;
use Hangle qw/transformation/;
my $file = 'background.mp3';
my $winmm = new Win32::MediaPlayer;
$winmm->load($file);
$winmm->play;
$winmm->volume(100);
# notepad 시작
system("start notepad.exe");
sleep 3;
#전체 창 띄우기
max_window();
#한글 키 입력
Win32::GuiTest::SendKeys("{HAN}");
#글씨체 및 폰트 바꾸기
font_change("휴먼편지체",36);
sleep 3;
writing("너를 만나기 전까진.");
waiting();
waiting();
newLine();
writing("내 마음은 차가운 겨울처럼 멈춰있는 신호등과 같았어.");
waiting();
waiting();
newLine();
writing("하지만 너를 만나면서 무뚝뚝하던 내가");
newLine(); # Enter 한줄 내리기
writing("조금씩 웃고 있다는 걸 깨달았지.");
sleep 4;
# 전체 지우기
clear();
writing("때론 설레임으로 잠을 못 이루기도 하고,");
sleep 2;
newLine(); # Enter 한줄 내리기
writing("너의 웃음소리가 귓가에 맴돌아 나도 모르게 미소 짓고,");
sleep 2;
newLine(); # Enter 한줄 내리기
writing("데이트하는 날이면, 시계만 종일 쳐다보는 나를 발견했어.");
waiting();
waiting();
newLine(); # Enter 한줄 내리기
newLine(); # Enter 한줄 내리기
writing("그래.");
waiting();
waiting();
waiting();
writing(" 나 지금 설래이고 떨려.");
waiting();
waiting();
sleep 4;
# 전체 지우기
clear();
writing("지금 네 앞의 남자는");
sleep 3;
newLine();
writing("아직 부족하고 모자라지만,");
sleep 3;
newLine();
newLine();
writing("너만을 사랑하고");
sleep 1;
writing(" 너만을 아껴주는");
sleep 1;
writing(" 멋진 남자가 될께.");
sleep 3;
newLine();
newLine();
writing("우리 앞으로 ");
sleep 1;
writing("행복 하게 지내자 ");
Win32::GuiTest::SendKeys("+6+6");
sleep 3;
newLine();
newLine();
writing("그리고.");
waiting();
waiting();
waiting();
writing(" 사");
waiting();
waiting();
waiting();
writing("랑");
sleep 1;
# 빨리 지우기
backspace(12);
#천천히 지우기
backspace(1);
sleep 1;
backspace(1);
sleep 1;
backspace(1);
sleep 1;
writing(" 사랑한다");
writing(" 누구누구야");
Win32::GuiTest::SendKeys("!!");
sleep 5;
#notepad 종료하기
end();
#음악 종료
$winmm->pause;
# 동영상 FullScreen으로 재생
system('"C:\Program Files (x86)\Windows Media Player\wmplayer.exe" C:\동영상.wmv /fullscreen');
# 폰트 변경하기
sub font_change {
my ( $font,$size ) = (@_);
my $cmd = "%of".transformation($font)."{TAB}{TAB}".$size;
Win32::GuiTest::SendKeys($cmd);
sleep 2;
Win32::GuiTest::SendKeys("~");
sleep 3;
}
# 최대창으로 변경
sub max_window{
Win32::GuiTest::SendKeys("%{SPACE}x");
sleep 3;
}
# 한글 변환해서 출력
sub writing{
my $text = shift;
Win32::GuiTest::SendKeys(transformation($text));
}
# . 찍으며 1초씩 기다리기
sub waiting{
Win32::GuiTest::SendKeys(".");
sleep 1;
}
# Enter 한줄 내리기
sub newLine{
Win32::GuiTest::SendKeys("~");
}
# Ctrl+A 후 Backspace 키로 전체 지우기
sub clear{
Win32::GuiTest::SendKeys("^a{BACKSPACE}");
}
# Backspace 사용
sub backspace{
my ($count) = shift;
Win32::GuiTest::SendKeys("{BACKSPACE}") for(1..$count) ;
}
#NotePad 종료
sub end{
Win32::GuiTest::SendKeys("%{F4}{TAB}{ENTER}");
} |
Link : http://codepad.org/uPhPvpSx
글을 쓸때 참고했던 URL 입니다 (http://whitelove002.tistory.com/290)
작가님께 감사합니다 ^^;;
배울점도 많고, 좋은 사람도 많이 만났습니다.
@Gypark 님을 드디어 뵙는 역사적인 날이기도 했구요 ㅋㅋ
좋은 행사를 준비해주신 관리자 분들께 감사드리구요!
11월 모임 때 뵙겠습니다^^/
아래는 동영상입니다 ㅠ 흑엽님이 올려주셨는데.. 공개해도 될지..
'개발자 이야기 > Perl' 카테고리의 다른 글
[KPW2012] Korean Perl Workshop 2012 - 초대합니다 :) (1) | 2012.10.11 |
---|---|
[ Busan Secmem Hackathon ] Twitter followers에 대한 통계내기 (1) | 2011.03.18 |
2010 Korea Perl Advent Calendar (3) | 2010.12.01 |
perl URI::Escape 모듈 (4) | 2010.11.10 |
Naver Perl 카페회원 1000명을 돌파! (10) | 2010.09.13 |