
dlldraw44變更

long __stdcall dlldraw44(long id44, long doublefg)

doublefg   1  不考慮"重疊"問題 
                   2  會考慮"重疊"問題  (cs<=5)
                   3  會考慮"重疊"問題  (cs<=5)  , 但不考慮與路名的重疊


======================================================

新增資料檔 45.emf (設施型狀,由 dist\a45.c 產生)

製做 dist.emf 的 a32.c 有異動

dlldraw 的 fg[4] '0'不畫設施型狀  '1'要畫
 
dlldrawback 已去除

======================================================

alldist.txt 有異動,需再copy

dlldraw 變更
long __stdcall dlldraw(long kdc,  long xb, long yb, long ww, long hh,double cs,
                    char fg[10])
id44取消(請用dlldraw44)
fg[0]  '0'不畫背景 '1'要畫背景(即dlldrawback)
fg[1]  '0'不畫行政區polygon  '1'要畫                              (cs<=50)
fg[2]  '0'不畫行政界polyline  '1'要畫縣市界  '2'要畫鄉鎮界        (cs<=50)
fg[3]  '0'不畫地名 '1'要畫                                        (cs<=50)
fg[4]  '0'不畫設施型狀  '1'要畫


新增
long __stdcall dlldraw44(long id44)
畫指定分類(id44)的設施
由於沒傳hdc,xb,yb,ww,hh,cs等參數,故必需緊接dlldraw後使用


id44若為0,則指為全部分類的設施


== old ===========================

新增資料檔
(dat目錄) alldist.txt,  dist.emf 

a.dll:

只適合NT, 不再支援95/98

新增 long __stdcall dlltree()   結束前,必需call


dlldraw 變更
long __stdcall dlldraw(long kdc,  long xb, long yb, long ww, long hh,double cs,
                    long id44, char fg[10])
id44->-1        不畫設施(blue)
  100~ 330  畫出該類設施(分類詳id44.txt/rtc設施碼與本系統碼對照)
fg[0] '1' 要畫地名/路名(black) ,非'1'則不畫
fg[1..9]  目前未使用
cs:   Screen一個pixel代表??公尺,範圍1.0~50.0 (m/pixel) 改為1.0~ 即無上限




=== old ===========================================

DLL 更動 (為配合其他程式,故修正如下)

dlldraw -> 不畫底色(即不清除)

新增
long __stdcall dlldrawback(long kdc, long ww, long hh)
畫底色

===========================================

        *.dat 有更動,請再copy

DLL 新增
long __stdcall dlldistsearch(char nm[50])
說明: 輸入"六福"or"福村", 要求進行設施搜尋
output: c:\dist44mp

===========================================

call-center_map_DLL 目前如下 

\\yuyu\ref\cc_dll\clip\dat\   資料  
*.dat  分幅地圖資料
d2.txt 行政區編碼(本系統使用3碼)
d4.txt 行政區與地圖分幅關係
id44.txt  rtc設施碼與本系統碼對照
dat44_1.bin 設施資料
dat44_2.bin 地址資料
royal500.gif 台灣簡圖
gif.txt royal500.gif的座標說明

\\yuyu\ref\cc_dll\dll\a.dll        

long __stdcall dllsetpath(char s[200])
設定地圖資料目錄
及init動作
  讀d4.txt及dat44_1.bin
如 dllsetpath("f:\\dat\\");            //請注意字串最後要加"\\"
return->負值->為失敗


long __stdcall dllsetcolor(long pi, long r, long g, long b, long ww)
設定畫圖顏色
ww:     筆寬度 0~4為pixel, 5~為公尺
pi:     顏色(筆)號, 0底色 
        1國 2快 3匝 4省 5縣 6主 7鄉 8一般 9都市巷弄 
        10被選擇之路 11水polygon 12水polyline 13縣界 14鄉界 15鐵路
r,g,b: color 0..255
return 0


long __stdcall dlldraw(long kdc, long xb, long yb, long ww, long hh,double cs,
                       long bgfg,long nmfg)
畫出地圖
kdc:  HDC
xb:   左上角的x座標,如301234
yb:   左上角的y座標,如2771234
ww:   HDC的width(pixel)       
hh:   HDC的height(pixel)
cs:   Screen一個pixel代表??公尺,範圍1.0~50.0 (m/pixel)
bgfg: 1行政界與鐵路要畫 0不畫
nmfg: 1地名路名要畫     0不畫
return->負值->為失敗


long __stdcall dllselroad(char rnm[50])   
如  dllsetroad("中山北路");    //將中山北路xxx(selected選擇起)以顏色(pi=10)畫出
如  dllsetroad("中山北路 ");   //將中山北路以顏色(pi=10)畫出


long __stdcall dllquroad(long xi, long yi, double cs, char rnm[50])  
以(xi,yi)查詢路的行政區碼及路名
cs: 同dlldraw
傳回的結果存於rnm
rnm[0..2]:  行政區碼
rnm[3]:     1~9道路等級,參見pi
rnm[4..7]:  道路編號(同rtc)
rnm[8..27]: 路名


long __stdcall dllqudrroad(long xi,  long yi, double cs, char rnm[50],
                           long kdc, long xb, long yb)
點查路名,並以顏色(pi=)10畫出
kdc,xb,yb: 同dlldraw
餘同dllquroad


long __stdcall dlldistroad(long distid)
查路清單
input: 行政區碼(distid)
output:該區所有路名清單及xy c:\distroad.tmp (txt檔)


long __stdcall dlldistcrrd(long distid, char rnm[50]) 
查交叉路
input: 行政區碼及道路名稱
output:與該路有交叉的路的清單及xy c:\distcrrd.tmp


long __stdcall dllxy44(long xi, long yi, long r, long id44)
給定一點(xi,yi)及半徑(r), 要求列出設施(為id44類)的清單及xy
設施類別為3碼,詳id44.txt 
output  c:\dist44.tmp


long __stdcall dlldist44(long distid,long id44)
給行政區碼,設施碼,要求列出設施清單
output  c:\dist44.tmp

