블로그 이미지
훅크선장

카테고리

분류 전체보기 (362)
사진이야기 (23)
펭귄컴퓨팅 (121)
컴퓨터보안 (84)
절름발이 프로그래머 (59)
하드웨어개조 (23)
멀알려줄까 (35)
홈베이킹&홈쿠킹 (2)
잡다한것들 (15)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

태그목록

최근에 올라온 글

MaxMind 에서 http://www.maxmind.com/app/geolitecountry 통하여 제공하고 있는

IP를 소재 국가 및 도시로 바꾸어주는 Open Source API가 있습니다.

해당 API에 파스칼(Pascal) 이 지원되는데, 이 파일에 오래전에 만들어진 것이라서,

현재 RAD Studio 계열에서는 컴파일 에러가 발생합니다.

데이터베이스 파일은 그대로 사용합니다만,
제공되는 GeoIP.pas 소스 파일은 일부 수정이 필요합니다.

수정이 필요한 부분은 다음과 같이 두 부분입니다.
http://forum.maxmind.com/viewtopic.php?t=1204 에 있는 내용을 참고하였습니다.

1번 :

function TGeoIP._GetCity(IPNum: Cardinal; var GeoIPCity: TGeoIPCity): TGeoIPResult;
var
  ...
// p: PChar;
   p: PAnsiChar;
  ...


2번 :

function TGeoIP.AddrToNum(const IPAddr: string): Cardinal;
var
//netlong: LongInt;             // signed! - wrong type for comparison with INADDR_NONE
  netlong: Cardinal;            // unsigned   (or Longword)
begin
//netlong := inet_addr(PChar(IPAddr));
  netlong := inet_addr(PAnsiChar(AnsiString(IPAddr)));
  if netlong <> INADDR_NONE then



Posted by 훅크선장
, |