본문 바로가기

컴퓨터

델파이 uses 이름 표 델파이 관련 글을 찾다보면, 옛날 델파이 프로그램과 최신과의 차이가 여럿 발생해 혼란을 겪는데, 최근까지도 구형 버전도 많이 쓰이다보니 좋은 팁이지만 업로더도 뭐가 문제인지 모를 때가 간혹 있다. 이 표는 구형과 신형(정확한 경계는 모르겠으나)의 uses 에서의 명칭 차이를 개발하면서 발견하는 것 하나 하나 비교표로 만들고자 한다. 예를 들어, messages 를 그냥 uses 해도 사용엔 문제가 없지만, 디버깅 시 라이브러리를 찾지 못해 함수의 원형을 볼 수가 없다. 그러나 Winapi.messages 로 호출할 경우 ide 상에서 곧바로 원형과 그 동작을 살펴볼 수 있다. 구버전 신버전 Messages Winapi.Messages ShellApi Winapi.ShellApi 더보기
[Delphi] 프로그램 현재 경로 확인 프로그램 패키지 내 특정 파일을 로드해야 하는 경우, 아래 코드로 현재 프로그램이 실행된 실제 경로를 취득할 수 있음. ExtractFilePath(Application.ExeName) 더보기
[C포팅] 델파이로 익명 공용체 포팅 방법 최근 한 프로젝트로 인해 C언어 라이브러리를 델파이로 포팅할 일이 있었다. 대부분 구글링을 통해서 쉽게 변환할 수 있었는데 익명 공용체의 포팅에서 쉽게 알기 어려웠던 점이 있어 포스팅으로 남긴다. 먼저 구조체는 아래와 같이 사용된다. C Style Delphi Style struct MyStruct { int a; char b; double c;} MyStruct = record a:integer; b:char; c:double; end; 그리고 공용체는 아래와 같이 사용된다. C Style Delphi Stylestruct MyStruct { union { int a; char b; double c; } u;}MyStruct = record case Integer of 0: (a:integer); 1:.. 더보기
[QuantumGrid] CheckBox 사용 퀀텀그리드를 사용하기 위해 학습하면서 체크박스 사용이 필요할 경우, cxgrid 선택 후 Data Controller.DataModeController.GridMode property = FalseData Controller.DataModeController.SmartRefresh property = TrueData Controller.KeyFieldNames property = UniqueField 명 설정(PrimaryKey 등) View 선택 후 36800 View -> Column 선택 후 DataBinding.FieldName property = nullDataBinding.ValueType = BooleanProperties property = CheckBoxProperties.NullStyl.. 더보기
Facebook 자동 앱 리디렉션 페이스북 홍보 하다보면 페이지 링크를 올릴 일이 있다.그런데 지금도 그런가 모르겠는데 페이스북 페이지 링크를 브라우저에서 누르면 페이스북이 웹으로 열리게 된 적이 있다.그때 만들었던 코드인데 자신의 페이지 아이디를 알면 아이폰, 안드로이드 상관없이 앱을 통해서 페이스북 페이지가 열리게 하려고 만들었던 php 코드이다.별 내용은 없어서 별다른 주석없이 공유한다.워낙 내용이 없다보니.. 자바스크립트로도 쉽게 이식 가능할듯.. 자신의 페이지 아이디 찾는 방법은 아래 글 참고.https://www.facebook.com/help/community/question/?id=378910098941520 끝. 더보기
itoa, ftoa.. 안되는 이유가 뭐야? atoi : Alphabet TO Integeritoa : Integer TO Alphabet 두 함수의 사용에 대해 포스팅을 하고자 한다.나 또한 C가 익숙하게 사용할 수준이 아니기 때문에 사소하거나 쉬운 것조차 자주 헷갈리거나 까먹어 구글링을 하고는 한다.그런데 정말 정말 정말.. itoa 부분에 대해 사람들이 잘 모르거나 심지어 욕설까지 하는 경우까지 있다.이유는 C를 가르칠 때, 이것이 표준인지 아닌지를 가르쳐주지 않기 때문에 발생한다.적어도 국내에서 많은 학교나 학원, 코딩과외 등에서 Visual Studio로 교육을 하는데 강의를 들을 때도, 보조강사로 일해볼 때도 한번도 표준과 비표준을 가르쳐주는 강좌가 없었다. "숫자에서 문자열로 바꾸려면 itoa를 쓰시면 되어요." 이게 끝이라는 것이다... 더보기
이상한 Undeclared 델파이는 잘 만든듯 하면서 엉뚱한데서 허술하다. 예를들어 요즘엔 당연시 되는 자동 uses 따위 없다. 컴포넌트를 올리고 저장하면 그 부분은 자동으로 되지만 함수나 클래스를 당겨올 경우는 자동 uses 가 안된다. 데브기어 측에서는 여러가지 말을 해줬지만 그냥 결론은 엠바가 이걸 만들줄 모른다 라고 밖에 안들린다. 철학은 무슨 델파이 기본이 빠른 생산성인데 uses 해야할 라이브러리 찾아 다니다가 시간만 다 잡아먹는다. 이상한데서 개발 능력이 떨어지는 엠바가 또 한가지 버그가 있는데 기본 클래스가 ide에서 에러로 걸린다는 거다. 이건 진짜 내가 쓰는 도쿄버전에 국한된 문제가 아니라 전의 전의 전의 전의 내가 델파이를 처음썼던 xe2부터 이미 보고가 된 것인데 고치지 못했다는건 엠바 IDE 개발 수준은 .. 더보기
[머릿글] C#을 학습하기 앞서. C#을 배우기에 앞서 내가 왜 C#을 배우게 되었는지에 대해 먼저 포스팅해보려고 한다. 많은 학생분들이나 선배 개발자님들도 C#을 많이 학습하고 있는데 이러한 흐름에 몸을 실으면서 학습을 하게 된 것은 아니다. 먼저 델파이와 C#의 차이를 먼저 비교해야한다. 먼저 난 델파이가 싫어져서 C#을 배우기 시작한 것이 아니다. C#에 그렇게 큰 비중을 두고 학습하는 것도 아니고 여전히 내 주력 언어는 델파이일지도 모른다. 하지만 한 우물만 파면 더 좋은 것이 있어도 보질 못하고 생각또한 갇히게 된다. 나는 C#을 통해 델파이에서의 불편했던 점을 찾고, 하일스베르 등이 델파이에서는 이렇게 생각하고 구현한 것을 C#에서는 어떻게 처리했는지, C#에서 더 매끄럽거나 더 뛰어난 컨트롤이 있다면 보고 배워 델파이의 컴포.. 더보기
[date] 현재 시간에서 특정 시간 더 php에서 현재의 시간으로부터 특정 시간의 값을 취하고 싶을 때 방법 1) 참고 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=200804#c_200865date('format', strtotime('interval')); 방법 2) 참고 : http://php.net/manual/kr/function.date-add.php#114856$date = new DateTime(now());$interval = new DateInterval('P1D'); $date->add($interval); 방법 1에서 format 에는 Y/m/d 연 / 월 / 일 H:i:s 시:분:초 interval 에는 now 현재시간 +3.. 더보기
[Component] Indy 에서 예외처리 하기 델파이는 Try ... except ... end 로 예외처리를 지원하고 있고 Indy 또한 Error Exception을 지원합니다.하지만 예전에는 Indy의 exception이 IdException에 정의되어 있었습니다.하지만 지금은 IdException을 uses 하면 파일이 있다고 나오지만 예전 코드나 예제는 더이상 사용할 수 없습니다. 왜냐하면 에러 정의가 IdException이 아닌 IdStack으로 옮겨졌기 때문입니다. 그래서 옛날 코드나 예제를 사용하면 특정 인디 버전부터는 E2003 Undeclared identifier 에러가 발생합니다.델파이는 대부분의 예제가 08년 09년을 기점으로 그 이전에 많이 기록이 남아 있습니다. 이제는 인디 컴포넌트의 예외처리를 하려면 IdStack을 us.. 더보기