본문 바로가기

Subject/Programming

AutoHotkey] 설명, 예제 1.설명 -매크로 만드는 프로그램. -소스파일(.ahk)을 오토핫키 컴파일러를 이용해 실행파일(.exe)로 변환하여 사용 >소스파일 >실행파일 >컴파일러 2.예제 -F1키를 눌렀을 때 메시지 박스 출력, F3 누르면 프로그램 종료.>소스코드 작성/* testAhk.ahk */F1:: ;hotkeyMsgBox, First Program!Return F3::exitapp ;exit program/* end */ >컴파일 3.암호 컴파일/디컴파일 -암호를 설정하여 컴파일하면, 디컴파일시 해당 암호가 필요. >암호 컴파일(ahk2exe.exe) >디컴파일 더보기
Python] ROL, ROR 1. ROL -Rotate Left -Shift Left 연산에서, MSB 오버플로우시 LSB로 되돌아온다.1001 0000 -> 0010 0001 -소스 코드#RotateLeft Functiondef rotateLeft(x, n):shiftBit = x > 8 - nresult= shiftBit | carryBitreturn result #mainori=0x31 print "ori:{}".format(hex(ori))print "bin:{}".format(bin(ori)) print "---------------------"shfData=rotateLeft(ori, 5); print "shifData:{}".format(hex(shfData))print "bin:{}".format(bin(shfData.. 더보기
Python] For 반복문 1.for -리스트 멤버 반복>>> list=[1,2,3]>>> result=0>>>>>> for x in list:... result += x...>>> print(result)6 -특정 횟수만큼 반복>>> for x in range(10):... print("{}번째 출력\n".format(x)) ...0번째 출력 1번째 출력 2번째 출력 3번째 출력 4번째 출력 5번째 출력 6번째 출력 7번째 출력 8번째 출력 9번째 출력 ->range(n): 0 ~ n-1까지의 값이 저장된 리스트를 반환.>>> print (range(3))[0, 1, 2] ->"{}번째" .format(x,y):포맷스트링, {}와 매칭>>> print ("{}pple {}oy {}andy".format('[a]','[b]','[.. 더보기
Python] 리스트 1. 리스트 -배열과 비슷>인덱스로 접근. -다른 리스트와 합칠 수 있음.>>> list1 = [1,2,3]>>> list2 = ['a','b','c']>>>>>> list3 = list1 + list2>>> print (list3)[1, 2, 3, 'a', 'b', 'c'] -다양한 자료형을 하나에 담을 수 있음.>>> list1 = ['Strings', 'Guys', 10]>>> print(list1)['Strings', 'Guys', 10]>>> print(list1[0])Strings>>> print(list1[1])Guys>>> print(list1[2])10 -` - `를 붙이면 뒤에서부터 인덱싱>>> print(list1[-1])10>>> print(list1[-2])Guys>>> print.. 더보기
notepadd++를 이용하여 C/C++ 컴파일하기 0.준비 -Notepad++ 32bit > Plugin Manager //64bit에는 Plugin Manager가 없음. >NppExec 플러그인 설치 -MinGW>Minimalist GNU for Windows>GNU 소프트웨어 도구 모음.>Win API용 헤더 지원. 1.MinGW 설치 1)공식 홈페이지(http://www.mingw.org/)에서 설치 파일을 다운. 2)설치파일을 실행하여 설치. 3)C:\MinGW\bin\mingw-get.exe 실행(MinGW 설치매니저)>g++ 체크 4)g++ 컴파일러 경로(C:\MinGW\bin)를 환경변수로 등록. 2.NppExec 설치 1)Plugin - Plugin Manager 실행 2)NppExec 설치 3.실습 1)Notepad++로 소스코드 작성.. 더보기
JAVA] JFrame을 이용한 메모장 -4) About 창 만들기 보호되어 있는 글입니다. 더보기
JAVA] JFrame을 이용한 메모장 - 3) 단추(new, open, ...) 기능 구현 0. ActionListener 인터페이스 -버튼이 클릭되었을 때, 그에 따른 코드가 실행되게 구현 가능. -구성 1) 프레임 클래스 내에 MyEventListener(implement Action Listener) 이너클래스 구현. > void actionPerformed(ActionEvent e) 오버라이딩 메소드 구현 //이벤트 발생시 실질적으로 호출되는 메소드 2) 원하는 버튼에 MyEventListener 클래스 객체를 등록 > menuItemNew.addActionListener(new MyEventListener()); 3) 버튼 클릭시 MyEventListener::void actionPerformed(ActionEvent e)가 호출 >ActionEvent e: 발생한 이벤트 값 >> 조.. 더보기
JAVA] JFrame을 이용한 메모장 -2) 텍스트창(스크롤, 상태표시줄) 만들기 0. 텍스트창(스크롤, 상태표시줄) 만들기 //MyNoteFrame 생성자{ createUI();} //createUI(){textArea = new JTextArea(); //텍스트창status = new JLabel("정상"); //상태 표시줄 //textScroll: textArea에 스크롤바를 추가시킨 것 //VERITICAL:세로 HORIZONTAL: 가로textScroll = new JScrollPane(textArea,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); this.add(BorderLayout.CENTER, textScroll);this.add(BorderLayout.SOUTH.. 더보기
WinAPI] 윈도우 프로시저(WndProc) 보호되어 있는 글입니다. 더보기
JAVA] JFrame을 이용한 메모장 - 1) 기본 창 만들기, 메뉴바 만들기 0.기본 창 만들기 //mainnew MyNoteFrame("Notepad"); //프레임 객체 생성 //MyNoteFrame Classextends JFrame{ public MyNoteFrame(String title){super(title); this.setSize(500, 500); this.setVisible(true); //true여야 창이 보임 this.setDefaultCloseOperation(EXIT_ON_CLOSE); //exit 눌렀을 때, 실제로 프로세스를 종료시키는 옵션}} 1. 메뉴바 만들기 //MyNoteFrame 생성자{createMenuBar();} //createMenuBar(){menuBar = new JMenuBar(); //메뉴바 생성this.setJMenuBar(.. 더보기