인턴/델파이

인턴/델파이

[프로젝트] 자동 메일 송신 프로세스 만들기(2) : 알람 전송 리스트 테이블 만들기

지난번에 만든 테이블 레이아웃은 알림 내용 리스트 DB, 알림 전송시간 DB, 알림 수신자 DB에 대한 DB였다. 이번에는 알림 전송 목록 DB를 짰다. 이 테이블에는 이제 정말 어떤 시간에 어떤 내용의 알림을 누구에게 보낼것인지에 대한 내용이 들어간다. 다만, '내용'의 구체적인 부분은 따로 담지않고, 그 내용을 가져올 리스트 ID를 FK로 하여 저장하도록 하였다. 테이블 레이아웃으로 에러 정보까지 담도록 하였다. 그리고 전송 HTML, 전송 쿼리는 일종의 디버깅용도로 쓰기위해 저장하는 것으로 하였다. (이 내용으로 전송하는 것이 아니다.) 에러가 발생했을 때, HTML에서 에러가 발생했는지, 쿼리에서 에러가 발생했는지 알기 위함이다. 또한 알람전송ID, 리스트 ID, 시간ID, 수신자 ID 모두 동일..

인턴/델파이

[델파이] 2. 델파이 소스파일의 구성

델파이 VCL 폼을 처음 만들면 기본적으로 다음처럼 되어있다. unit ~ interface uses ~ type ~ var ~ implementation end. unit 은 pas파일의 이름이다. 반드시 파일 이름과 같아야 한다. interface는 자바의 인터페이스와 유사하다. '선언부' 라고도 하는데 이 소스코드에서 사용할 함수와 객체를 모두 선언해둔다. 선언부에서 선언하지 않은 클래스와 객체는 사용할 수 없다. 델파이도 자바와 유사하게 클래스 구조로 되어있다. 메인이 따로 결정되어 있지 않고, 맨 처음 실행할 클래스는 직접 지정할 수 있다. 선언부 내에는 uses, type, var 이 들어간다. uses 파이썬, 자바의 import와 동일하다. 사용할 모듈을 가져온다. type 클래스를 선언하..

인턴/델파이

[프로젝트] 자동 메일 송신 프로세스 만들기(1)

인턴으로 들어와서 하게된 프로젝트 이번에 새로 신입으로 오신 다른 직원분과 둘이서 팀프로젝트로 하게 되었다. '자동 메일 송신 프로세스 만들기' 프로젝트에 대해 정리하고자 한다. 이 프로젝트의 순서도는 다음과 같다. 결국 이 프로젝트의 목적은 알림을 메일로 보내는 것이다. 중요한 것은 3가지이다. 1. 어떤 내용을 보낼 것인가 (알림 내용 리스트) 2. 언제 보낼 것인가 (알림 전송 시간) 3. 누구에게 보낼 것인가 (알림 수신자) 이 내용을 사용자가 입력하여 데이터베이스에 저장해둔다. 배치프로그램은 데이터베이스에 저장된 내용을 토대로 알림 전송 목록을 만든다 일종의 (내용, 시간, 수신자) 의 조합쌍을 만드는 것이다. 그리고 이 조합쌍들의 목록을 메일 전송 배치프로그램이 실제 메일을 전송하도록 만든다...

인턴/델파이

[델파이] 1. 델파이 프로젝트의 구성

인턴을 하면서 스스로 공부하고, 회사에서 배운 델파이 관련 내용과 개인적으로 느낀 점을 정리하고자 쓴 게시글 입니다. 여름 방학 때는 정말 기본적인 개념들을 배우고(SQL, 네트워크 개념) 회사에서 사용하는 델파이를 가볍게 맛만 봤다면, (사실 겉을 핥지도 못한 수준이었다) 이번 겨울 방학 때는 본격적으로 델파이를 배우기 시작했다. 델파이를 배우기 전에 학교에서 자바를 수강한 건 정말 신의 한수였다. 자바를 공부한 덕분에 GUI에 대한 기본적인 구현 방법을 알 수 있었다. (컴포넌트의 개념, 이벤트의 개념, 이벤트 처리 등등) 여름 방학때는 이런 것을 전혀 모르고 설명을 듣다보니 와닿지가 않았는데, 공부하고 다시 들으니 이해가 매우 잘 됐다. 자바를 배울 때는 코딩만을 사용해서 윈도우 창을 디자인하고 컴..

인턴/델파이

[델파이 DB조작 예제] 3. Banded Table 사용해보기

이번엔 새롭게 코드를 추가한다거나 하기보다는 새롭게 '퀀텀그리드'를 사용하는 방법을 배웠다. 그 내용을 복습/실습 해보고자 작성한 포스팅이다. 이전 포스팅 내용에서 사용한 그리드를 삭제하고 새롭게 퀀텀 그리드를 넣었다. grid를 검색한 후 DevExpress 탭에서 두번째 컴포넌트이다. 일반 그리드와 다르게, 사용자가 자세한 부분을 직접 컨트롤 할 수 있다는 장점이 있지만, 단점은 자세한 부분까지 하나하나 컨트롤 해줘야 사용할 수 있다는 단점이 있다. 우선 퀀텀 그리드를 적절히 배치한다. 이런 식으로 나왔다. 우측하단을 보면 뭔가 있다. 그리드에서 레벨을 추가할 수 있고, 레벨에서 뷰를 추가할 수 있다. 아직 레벨, 뷰가 정확히 뭔지 와닿지는 않는다.. 이 퀀텀 그리드는 지난 포스팅에서 사용했던 그리드..

인턴/델파이

[델파이 DB조작 예제] 2. DB 데이터 조작하기

DB내 데이터를 출력해보았으니 이제는 DB내 데이터를 추가/수정/삭제 하는 작업을 해보고자 한다. 이 작업은 DB데이터 조회와 거의 비슷하지만, 몇몇 과정이 추가된다. 우선 데이터를 추가/수정 하려면, 추가하려는 내용, 수정하려는 내용을 적어야 할 것이다. 그 내용을 적을 칸을 만들어야한다. "지금 상태에서도 그리드의 표를 클릭하니 바로 수정이 되지 않는가?" 어떻게 보면 편리하지만, 어떻게 보면 불편하다. 수정할 생각 없이 그냥 클릭했는데, 키보드를 잘못 눌렀더니 데이터가 수정되어버린다? 사용자의 의도에 맞지 않는 기능을 수행하는 프로그램은 그저 버그 덩어리 프로그램일 뿐이다. 사용자가 수정을 원할 때만 수정이 가능한 프로그램을 만들어보자. 우선 edit 을 검색해보자 형광펜으로 표시한 3번째 컴포넌트..

인턴/델파이

[델파이 DB조작 예제] 1. DB서버에 연결해서 데이터 출력하기

인턴 일을 하면서 배운 내용을 학기중에 까먹지 않기 위해 기록으로 남기며 복습하고자 작성한 글이다. 우선 델파이를 실행시킨다. File - New - Window VCL Application - Delphi 를 클릭해 새 폼을 만든다. 다음과 같은 화면이 뜬다. 우선 데이터를 출력할 그리드를 먼저 깔아준다. 우측 상단에 grid를 검색한다. Data Controls 탭의 첫번째 아이콘을 배치한다. 좌측 Properties 탭에서 첫번째에 있는 Align 항목을 보면 컴포넌트의 위치를 지정할 수 있다. 컴포넌트 = tkinter의 위젯 이라고 생각하면 되고 Align은 tkinter에서 pack 을 하는 것과 똑같이 생각하면 된다. 우선 화면하단에 배치하도록 한다. 다음과 같은 모습이 되었다. 그 다음으로..

에버듀
'인턴/델파이' 카테고리의 글 목록