목록Delphi (6)
메모장
Window7 이상 버전부터 Delphi7의 도움말을 볼 수 없다.기본적인건 'F1' 키를 이용해서 도움말을 보면 될텐데 이게 되지 않아 갑갑할 때가 많다.해결방법은 마이크로소프트 센터에 가서 파일 하나만 받아 설치하면 된다. 자신의 OS에 맞는 링크를 클릭하여 설치하면 되겠다. Windows 7 http://www.microsoft.com/ko-kr/download/details.aspx?id=91 Windows 8 http://www.microsoft.com/ko-kr/download/details.aspx?id=35449 Windows 8.1 https://www.microsoft.com/ko-KR/download/confirmation.aspx?id=47671 위에 목록에 해당되지 않는 OS이면 ..
일반적으로 아무런 코딩을 하지 않고 종료 버튼을 누르면 바로 FormClose 이벤트로 넘어가게 된다. 폼을 종료하기 전에 '종료하시겠습니까?'라는 문구를 띄우고 확인받고 종료하고 싶으면 onCloseQuery 이벤트를 이용하면 된다.이벤트 이름에 나타나 있는 것처럼 종료전에 물어본다는 뜻이다. procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); 이 함수의 인자를 확인해보면 close 이벤트와는 다르게 CanClose라는 Boolean형 인자가 들어있는데 이 변수에 어떤 값을 넣느냐에 따라 결과가 달라지게 된다.True를 넣게 되면 그대로 close로 넘어가 종료하게 되는 것이고 False를 넣게 되면 아무런 행동도 일어나지 ..
제목으론 충분히 설명이 안됐을 텐데 이 함수를 알아내게 된 계기는 Dialog 띄워서 파일 경로를 지정하면 C,D드라이브 같은경우는 C:\ D:\이렇게 표시되는데 다른 경로들을 보면C:\Test abc\\d 뒤에 없으므로 아무일도 일어나지 않음.abcd\ -> abcd 뒤에 하나 있으므로 지움.abcd\\ -> abcd\ 뒤에 2개가 있지만 하나만 지움. IncludeTrailingBackslash(str)끝에 하나도 없다면 생성. 하나라도 있으면 그냥 그대로 출력.ex) abc\\d -> abc\\d\ 뒤에 없으므로 한개 생성.abcd\ -> abcd\ 뒤에 이미 하나 있으므로 그대로 출력.abcd\\ -> abcd\\ 뒤에 한개 이상 있으므로 그대로 출력.
이전 글에서 엑셀 파일을 생성했다면 이제는 불러오고 쓸 차례다. 덮어쓰기 방식은 소개하지 않고 삽입 방법만 소개할 예정이다. 다른 방법이 있는것 같지만 내가 쓴 방법은 ADOQuery와 ADOConnection 컴포넌트를 사용하는 방법이다. 간단히 설명하자면 엑셀파일은 데이터베이스, 파일 안의 sheet는 테이블로 보면 되겠다. Sheet에다가 SQL에서 사용하는 INSERT문을 사용하면 끝! 방법 1. 먼저 폼에 ADOQuery와 ADOConnection 컴포넌트를 올려 놓는다. (name은 각각 QRY와 conn으로 지정했음. 이후 잦은 QRY와 conn 단어 사용 예정.) 2. ADOQuery의 Connection 속성을 'conn'으로 지정. 3. ADOConnection의 LoginPrompt ..
간단하게 로그를 저장하기 위해서 엑셀파일을 이용하기 위해서 알아낸 방법이다. txt파일로 하면 파일크기나 접근성 부분에서 훨씬 용이하겠지만 공부의 한 방편으로 엑셀로 해 보았다. 모든 파일 종류(*.xls, *.xlsx 등등 많은 확장자가 존재. 엑셀 버전에 따라 생겨난 듯. 자세한 설명은 생략)를 다 해보진 않았고 *.xls, *.xlsx만 해보았다. 다른 확장자에 대한 답은 줄 수 없음. 코드 (SaveAs함수에 '('하나 빠진거 넣을 수 있도록) uses절에 ComObj 추가.(이것 외에도 더 추가해야 할 수도 있음.) procedure CreateExcelFile; var vHandle : THandle; ExcelApp: OleVariant; ExcelBook: OleVariant; ExcelS..