본문 바로가기
반응형

전체 글393

[HTA] 테트리스 혼자놀기 버전 테트리스 혼자 놀기 버전이다. 조작 방법은 ASDW , Space 숫자패드가 있으면 숫자패드를 눌러도 된다. 원래는 엑셀로 만들었는데, 엑셀은 타이머가 최소 1초 단위라서 레벨이라는 개념이 안 들어가 지더라. 그러다가 HTA로 구현하게 되었는데 이건 1초 이하로 속도 조절을 할 수가 있다. 그런데 문제는 방향키가 안 먹어서 영문이나 숫자 패드를 눌러야 한다. 초기에는 모든 블럭 모양을 정해 놓고 하드코딩으로 회전시켰는데, 블럭을 랜덤으로 만들다 보니까 배열에 담아서 돌리는 알고리즘을 생각하는데 골이 좀 아팠다. 뭔가 좀 더 깔끔한 방법이 있을 것 같은데 뭘 해야 할지 모르겠다. ㅋ 가로 세로 크기를 맘대로 변경 할 수도 있는데, 기본으로 정해 놓은 사이즈가 딱 알맞는 것 같다. [Tetris.hta] R.. 2020. 2. 23.
[HTA] 이판사판 테트리스 온라인? 하다하다 별거 다 한다 시리즈 같다... 테트리스를 먼저 만들었는데, 혼자하기 심심해서 대전 형식으로 또 만든 경우... 처음에 네트워크 드라이브를 이용한 채팅을 먼저 만들고 보니까 이런것도 되겠다는 생각이 들어서 만들었는데, 생각보다 잘 되더라. 코드 정리를 해야 하는데 귀찮아서 안 했다. 거의 만들고 나서 코드 정리를 하는 스타일인데, 최대 단점이 잘 돌아가고 있는데 고치면 안 되는 경우도 있고 귀찮아 지면 냅두게 되어서... 엉망이다. 그래도... 역시나 귀찮다. 상대방 공격을 가져 오는 부분 구현이 꽤나 귀찮았다. 버그도 있고 한데... 모르겠다 그냥 여기까지만. [Testris_Online.hta] Row: Col: 이판사판: Start lv:/Sc:/발사: 2020. 2. 23.
[HTA] 네트워크드라이브를 이용한 채팅 어쩌다 보니.. HTA로 별걸 다 하게 되었다. 웹서버가 있으면 좋겠지만, 없는 상황에서 비스끄무리 하게 할 수 없을까란 생각에서 출발해서 만든거다. 아이디어는 간단하다. 어차피 서버에서 일부 정보를 읽고 쓰고 하기만 하면 되니까 네트워크 드라이브를 이용해서 뭔가 수작을 부려 보았다. 사실 네트워크 프로그래밍이 아니다 보니까 훨씬 더 간단하게 만들 수 있다. 좌측에 채팅 내용이 표기되고 우측에 파일 업로드/다운로드 목록을 볼 수 있다. [NetworkDriveChat.hta] 2020. 2. 23.
HTA 화면 제어 HTA 의 화면을 제어하는 문법들이다. - 창 크기 조정 window.resizeto 100, 100 -창 위치 이동(절대 좌표) window.moveto 100, 100 -창 위치 이동(현재 좌표 기준) window.moveby 100, 100 -현재 창 좌표 tpos = window.screentop lpos = window.screenleft 대게 window_onload 할 때 크기랑 위치를 잡아주고 사이즈 조정이나 이동은 실시간 조정이 가능하다. 2020. 2. 13.
unix 쉘 문자를 숫자로 연산시 주의 점 쉘 스크립트에서 연산을 하는데 특이한 걸 발견했다. let var=0011*1;echo $var 의도는 문자형식으로 된걸 앞에 0때고 숫자처럼 변경하려고 하는건데 의도치 않게 엄한 값이 나오게 된다. 위의 쉘 실행 결과는 9가 나온다. 이유는 모르겠다만 유닉스가 8진수로 인식을 하고 연산을 해서 8+1 해서 9가 되어 버린다. 그러면 앞에 0을 어떻게 땔 것인가? 복잡한 방법도 있겠지만 심플하게는 10진수라고 명시를 해 주면 된다. let var=10#0011*1;echo $var 원하는 10진수 숫자값을 얻을 수 있을 것이다. 2020. 2. 11.
세부 막탄섬 크림슨리조트 여행 이번 여름휴가는 세부 막탄섬으로~~ 인천공항 2청사에서 밤 비행기로 출발 셀프로 하는 짐부치기 첨 해보면 생각보다 어렵다. 스티커 잘 못 붙여서 다시 출력하고 케리어를 새워서 넣었더니 안 밀려 들어가서 직원 불러서 다시 열고 그랬다 ㅡㅡ.. 공항에 있는 환전소에서 페소를 일부 교환해서 가지고 간다. 현지에 세이브모어에서 환전하는게 싸다고 해서 이렇게 했는데... 결론적으로는 거기에 갔더니 페소가 없다고 해서 환전을 못 해서 상당히 난처한 상황이 되어 버렸다. 그닥 추천해주고 싶지 않은 방법이다. 돈 좀 더 들더라도 미리 준비해서 가는게 좋을 것 같다. 밤 12시쯤에 막탄 공항에 도착해서 입국심사를 하고 나가면 출구 앞에 4개 리조트별로 안내 부스가 있다. 미리 크림슨리조트에 픽업 서비스 요청을 해 놨다... 2019. 8. 25.
@p0 근처의 구문이 잘못되었습니다. 오류 해결하기 mybatis에서 mssql 서버의 프로시져를 호출했는데 위와 같은 뜬금없는 exception을 만날 수 있다. 대게 프로시져 문법이 잘 못 되었다라는 검색 결과를 찾게 되겠지만, 프로시져 자체는 문제가 없는 경우에는 이 경우 일 수도 있다. call testprocedure ( #{param} ) 대충 위와 같다고 하면 얘 전체를 { } 로 감아 주면 해결이 될 수도 있다. { call test procedure ( #{param} ) } 이래도 안 되면 또 다른 방법을 찾아보자 2019. 8. 6.
unix] cp 할때 에러 발생 잡아내기 shell 작성을 하다가 복사하는데 오류가 발생을 하면 잡아내야 할 일이 생겼다. 각설하고 코드는 아래와 같다. if [[ $1 -eq 10 ]] then cp a.txt b.txt elif [[ $2 -eq 20 ]] then cp a.txt c.txt fi if [ "$?" != "0" ] then echo "error" 1>&2 exit -1 fi echo "ok" control-m 에서 선행작업으로 처리를 하는 건데 -1로 리턴하면 실패로 인식을 한다. 그리고 if elif 로 조건을 한번에 잡아야 한다. $? 에는 바로 이전 결과만 담고 있어서 각각 if 처리 하려면 따로 처리해야 하므로 주의해야 한다. (이거 때메 삽질 좀 했음..) 2019. 8. 6.
[HTA] 각종 문법 모음 ㅇ키 이벤트 잡아오기 바디에 이벤트를 달아준다. Sub getKeyPress msgbox window.event.Keycode if (window.event.Keycode == 27) Then Call fn_my End If End Sub ㅇ어레이 1. 고정어레이 Dim arr arr = Array("a","b","c") 2. 동적 어레이 Set dArr = CreateObject("System.Collections.ArrayList") dArr.Add "hello" dArr.Count dArr.RemoveAt dArr.Count - 1 dArr(1) 3. 분할 생성 어레이 txt= "a,b,c" arr = Split(txt, ",") For Each item in arr msgbox item Next .. 2019. 7. 9.
엑셀 메크로에서 박스 그리기 원래 만든건 450라인 짜리 값을 읽어서 흐름도를 그리는건데 쓰기 힘들어서 일단 핵심만.. 포스팅 Dim ws As Worksheet Set ws = Worksheets(ActiveSheet.Name) Set CondBox = ws.Shapes.AddShape(msoShpeRoundedRectangle, stXPos, stYPos, 100, 50) With CondBox .Name = "CondBox" .Fill.ForeColor.RGB = RGB(250,250,250) .Line.ForColor.RGB = RGB(0,0,0) .Line.Weight = 1 .Adjustments.Item(1) = 0.5 .TextFrame.Characters.Font.Color = 1 .TextFrame.Characte.. 2019. 6. 4.
반응형