vidkid
|
2004-04-22 11:48:32, Á¶È¸ : 2,640, Ãßõ : 324 |
- Download #1 : http3.zip (3.2 KB), Download : 72

[À¥¼¹ö¿ÍÀÇ ¸¸³² #4] µ¥ÀÌÅ͸¦ RecordSet À¸·Î ¹Þ±â - ·¹ÄÚµå¼Â¿¡ ³Ö±â
¾È³çÇϼ¼¿ä. vidkid ÀÔ´Ï´Ù.
À̹ø °Á´ ¼¹ö·ÎºÎÅÍ Å×À̺íÇüÅÂÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾Æ ·¹ÄÚµå¼Â¿¡ ³Ö¾îº¸°Ú½À´Ï´Ù.
(* ÇÁ·ÎÁ§Æ® ÆÄÀÏÀº ÷ºÎ ÆÄÀÏÀ» ÀÌ¿ëÇØ ÁÖ¼¼¿ä.)
(start1.curl)
-------------------------------------------------------------------------------------------
{curl 3.0 applet}
{curl-file-attributes character-encoding = "euc-kr"}
{applet manifest = "manifest.mcurl"}
{include "httplib.scurl"}
{value
{HBox
{CommandButton label="GET",
{on Action do
let (result :String, error? : bool) =
{gfGetMethod
{url "http://localhost/study/http3/start1.php?mode=list&no=7"},
{get-character-encoding-by-name "euc-kr"}
}
{popup-message result}
}
}
}
}
-------------------------------------------------------------------------------------------
Àú¹ø °ÁÂÀÇ ¼Ò½º¿¡¼ GET ¹æ½Ä ¹öư¸¸ ³Ö¾ú½À´Ï´Ù.
³»¿ëÀº ¼Ò½º ³»¿ë ¼³¸íÀº »ý·«Çϱ¸¿ä..
start1.php ³»¿ëÀ» »ìÆìº¸°Ú½À´Ï´Ù.
(start1.php)
-------------------------------------------------------------------------------------------
<?
echo
"mno,mname,mage,mzipcode,rate
int,String,int,String,double
1,È«±æµ¿,100,111-200,4.1
2,°º´Ã¶°ú»ïűâÇ®,30,222-121,8.1
3,°È£µ¿,74,123-229,1.1
4,¼ÅÂÁö,24,123-621,11.3
5,¾ÆÀ̵é,11,143-527,12.1
6,ÄÚÄÚ·ç,33,153-021,8.2
7,°«½´º§,37,173-921,7.3
8,¾ÆÅè,14,128-121,1.17
9,¶ÊÀÌ,24,923-261,1.6
10,űǺêÀÌ,34,426-331,4.1";
?>
------------------------------------------------------------------------------------------
¼Ò½º Á¤·ÄÀ» ÀϺη¯ ¾ÈÇß½À´Ï´Ù. ¾µµ¥¾ø´Â °ø¹éÀ» ¾ø¾Ù·Á±¸¿ä..
echo ÇÔ¼ö·Î ÀÓÀÇ·Î ¸¸µç µ¥ÀÌÅ͸¦ Ŭ¶óÀÌ¾ðÆ®¿¡ Àü´ÞÇÏ´Â php ½ºÅ©¸³Æ®ÀÔ´Ï´Ù.
¿ì¼± ±âº»ÀûÀÎ Àü´Þ¹æ½ÄÀ» Á¤ÀÇÇß½À´Ï´Ù.
--------------------------------------------
ùÁÙ¿¡´Â Çʵå¸íÀ» , ·Î ³ª¿Çϰí
µÎ¹øÀç ÁÙÀº ÇʵåÀÇ Å¸ÀÔÀ» , ·Î ³ª¿ÇÕ´Ï´Ù.
¼¼¹øÂ° ÁÙºÎÅÍ´Â °¢ ÇʵåÀÇ µ¥ÀÌÅÍ ÀÔ´Ï´Ù.
--------------------------------------------
²À ÀÌ·¸°Ô ÇØ¾ßµÈ´Â°Ç ¾Æ´Ï±¸ °¡Àå ½¬¿î¹æ¹ýÀ» ÅÃÇÑ°Å´Ï ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼´Â
È¿À²ÀûÀ¸·Î.. Àß.. Á¤ÀÇÇØ¼ »ç¿ëÇϼ¼¿ä.
(Âü°í·Î ´ÙÀ½°Á¿¡¼´Â XML ÇüÅ·ΠÁ¤ÀÇÇØ¼ ¾²´Â ¹æ¹ýÀ» ´Ù·ïº¸ÁÒ.)
½ÇÇà °á°ú¸¦ Çѹø º¼±î¿ä?
http://localhost/study/http3/start1.curl
¶Ç´Â
C:\APM_Setup\htdocs\study\http3\start1.curl
ÀÌ·¸°Ô ½ÇÇàÇϸé

À§ÀÇ È¸é°ú °°Àº °á°ú°¡ ³ª¿É´Ï´Ù.
php ¿¡¼ Àü´ÞÇÑ µ¥ÀÌÅͰ¡ String À¸·Î ÇÑÁٷΠǥ½ÃµÇ¾î ³ª¿Ô½À´Ï´Ù.
À̹ø¿¡´Â Àü´Þ¹ÞÀº µ¥ÀÌÅ͸¦ RecordSet ¿¡ ³Ö´Â ¹æ¹ýÀ» ¹è¿öº¸ÁÒ.
(start2.curl)
-------------------------------------------------------------------------------------------
{curl 3.0 applet}
{curl-file-attributes character-encoding = "euc-kr"}
{applet manifest = "manifest.mcurl"}
{import * from CURL.LANGUAGE.REGEXP}
{include "httplib.scurl"}
{value
{HBox
{CommandButton label="GET",
{on Action do
let (result :String, error? : bool) =
{gfGetMethod
{url "http://localhost/study/http3/start1.php?mode=list&no=7"},
{get-character-encoding-by-name "euc-kr"}
}
set result = {regexp-subst "\r", result, "", replace-all?=true}
let rows : StringArray = {result.split split-chars="\n"}
{if rows.size < 2 then
{popup-message result} || µ¥ÀÌÅÍ¿¡ ¹®Á¦ÀÖÀ½.
{return}
}
|| RecordSet ÀÇ field ¸¸µé±â
let fields : {Array-of RecordField} = {{Array-of RecordField}}
let names : StringArray = {rows[0].split split-chars=","}
let domains : StringArray = {rows[1].split split-chars=","}
{for i:int=0 below names.size do
let domain : Domain = {Domain.from-type {evaluate domains[i]}}
{fields.append
{RecordField names[i], domain = domain}
}
}
|| RecordData »ý¼º
let rds : {Array-of RecordData} = {{Array-of RecordData}}
{for i:int=2 below rows.size do
||{popup-message rows[i]}
let cols : StringArray = {rows[i].split split-chars=","}
let rd : RecordData = {RecordData}
{for j:int=0 below cols.size do
{if cols[j] == "" then {continue}}
set rd[ fields[j].name] = cols[j]
}
{rds.append rd}
}
|| RecordSet »ý¼º
let rs : RecordSet =
{RecordSet
{RecordFields {splice fields}},
{splice rds}
}
{popup-message {RecordGrid record-source=rs}}
}
}
}
}
-------------------------------------------------------------------------------------------
À̹ø ¼Ò½º´Â Á» µÇ´Â±º¿ä..
start1.php ¿¡¼ ¹Þ¾Æ¿Â µ¥ÀÌÅ͸¦ RecordSet ¿¡ ÀúÀåÇϰí..
±× ³»¿ëÀ» RecordGrid ·Î ȸ鿡 Ç¥½ÃÇÏ´Â °ÍÀÔ´Ï´Ù.
¿©±â¿¡¼ Áß¿äÇÑ°Ç °¡Á®¿Â µ¥ÀÌÅ͸¦ Àß¶ó³»¼ RecordSet ¿¡ ³Ö´Â °ÍÀ̰ÚÁÒ?
±×·³ Çϳª¾¿ »ìÆìº¾½Ã´Ù.
set result = {regexp-subst "\r", result, "", replace-all?=true}
start1.php ¿¡¼ ¹Þ¾Æ¿Â µ¥ÀÌÅÍ´Â result ¿¡ ÀúÀåÀÌ µÇ¾îÀÖ½À´Ï´Ù.
µ¥ÀÌÅ͸¦ ½±°Ô ºÐ¸®Çϱâ À§Çؼ {regexp-subst} ¸¦ ÀÌ¿ëÇØ¼ \r À» ¾ø¾ÖÁÖ´Â ÀÛ¾÷À» ÇÕ´Ï´Ù.
Á¤±Ô½Ä ÇÔ¼öÀÎ regexp-subst ¸¦ »ç¿ëÇϱâ À§Çؼ´Â
{import * from CURL.LANGUAGE.REGEXP}
¸¦ ÇØÁà¾ß ÇÕ´Ï´Ù.
´ÙÀ½À¸·Î
let rows : StringArray = {result.split split-chars="\n"}
{if rows.size < 2 then
{popup-message result} || µ¥ÀÌÅÍ¿¡ ¹®Á¦ÀÖÀ½.
{return}
}
´Â ¿©·¯ÁÙÀÇ µ¥ÀÌÅ͸¦ °¢°¢ÀÇ StringArray ·Î ¸¸µé¾î ÁÖ´Â ÀÛ¾÷À» ÇÕ´Ï´Ù.
{String.split} ¸Þ¼Òµå¸¦ ÀÌ¿ëÇØ¼ ¹®ÀÚ¿À» ºÐ¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Áö±Ý °Á¿¡¼ Á¤ÀÇÇÑ ±ÔÄ¢Àº ¹«Á¶°Ç 2ÁÙÀÌ ³Ñ¾î¾ß ÇϹǷΠ2ÁÙÀÌ ¾Æ´Ï¸é ¸®ÅÏÇÕ´Ï´Ù.
À̹ø¿¡´Â ù µÎÁÙÀ» ÀÌ¿ëÇØ¼ RecordSet ÀÇ field ¸¸µå´Â ÀÛ¾÷´Ï´Ù.
let fields : {Array-of RecordField} = {{Array-of RecordField}}
let names : StringArray = {rows[0].split split-chars=","}
let domains : StringArray = {rows[1].split split-chars=","}
{for i:int=0 below names.size do
let domain : Domain = {Domain.from-type {evaluate domains[i]}}
{fields.append
{RecordField names[i], domain = domain}
}
}
RecordSet À» »ý¼ºÇÒ ¶§ ¹«Á¶°Ç RecordField °¡ Á¸ÀçÇØ¾ß ÇϹǷÎ
{Array-of RecordField} ¸¦ ÀÌ¿ëÇØ¼ ¹è¿À» ¸¸µì´Ï´Ù.
(*RecordSet ÀÇ Field¸¦ µ¿ÀûÀ¸·Î »ý¼ºÇÒ ¼ö ÀÖ´Ù¸é ÁÁ°ÚÀ¸³ª Áö¿ø¾ÈµÊ)
names ´Â Çʵå¸íÀÌ µé¾î°¡°í domains ´Â µµ¸ÞÀÎ(ŸÀÔ) ÀÌ µé¾î°©´Ï´Ù.
Á»´õ Á¦´ë·Î ÇÒ·Á¸é °¹¼ö üũµµ ÇØ¾ßµÇ´Âµ¥ ¿©±â¼´Â ³Ñ¾î°¡°Ú½À´Ï´Ù.
Çʵ带 ¸¸µé¾úÀ¸´Ï À̹ø¿¡´Â µ¥ÀÌÅ͸¦ ¸¸µé¾î º¸°Ú½À´Ï´Ù.
µ¥ÀÌÅÍ´Â RecordSet À» µ¿ÀûÀ¸·Î »ý¼ºÇÑÈÄ append ·Î Ãß°¡ÇÒ ¼ö ÀÖÀ¸³ª
¿©±â¼´Â ¹è¿·Î ¸¸µé¾î¼ ³Ö¾ú½À´Ï´Ù.
let rds : {Array-of RecordData} = {{Array-of RecordData}}
{for ... do
...
}
ÀÌÁ¨ Çʵå¿Í ·¹ÄÚµå ¹è¿ÀÌ ¸¸µé¾î Á³À¸´Ï splice ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ ½ÇÁ¦ RecordSet À»
»ý¼ºÇÕ´Ù.
let rs : RecordSet =
{RecordSet
{RecordFields {splice fields}},
{splice rds}
}
¾î·Á¿î ³»¿ëÀÌ ¾Æ´Ï´Ï ÀÌÇØÇϱ⠽¬¿ì½Ç °ÍÀÔ´Ï´Ù.
(**óÀ½ ÀÌ ³»¿ëÀ» ¸ô¶ú´ø Àú´Â ¹«Áö °í»ýÇß½À´Ï´Ù. ^^;)

À̹ø °Á´ °£´ÜÈ÷ , ·Î ºÐ¸®µÈ µ¥ÀÌÅ͸¦ RecordSet ¿¡ ³Ö´Â °Í±îÁö Çß½À´Ï´Ù.
À̰͸¸ ÀÖÀ¸¸é ¼¹ö¿ÍÀÇ Åë½ÅÀº °ÅÀÇ 90% ÀÌ»óÀÌ ´Ù ³¡³µ´Ù°íÇØµµ °ú¾ðÀÌ ¾Æ´Õ´Ï´Ù.
¾î¶² ½ÇÇàÀÇ °á°ú..¿¹¸¦ µé¸é »èÁ¦¶ó´ø°¡.. ÇÏ´Â ºÎºÐµµ À§¿Í°°ÀÌ Á¤ÇϽÅÈÄ
RecordSet À¸·Î ¹Þ¾Æ¼ ¼º°ø/½ÇÆÐ ¿©ºÎ¸¦ ÆÇ´ÜÇÒ ¼ö ÀÖ°ÚÁÒ.
±× ÀÀ¿ëÀº ¿©·¯ºÐµé¿¡°Ô ¸Ã±â±¸¿ä.
ÀÌ °Á°¡ ¼¹ö¿ÍÀÇ ¸¸³² ¸¶Áö¸· °ÁÂÀÔ´Ï´Ù.
±×·³~~
|
|
|