Delphiµ÷ÓÃMagento's Webservice
×î½üÐèÒª½«Magento(¹úÍâ±È½Ï³öÃûµÄ¿ªÔ´PHP+MySQLµç×ÓÉÌÎñÍøÕ¾)ÓëÒ»¸öERP½øÐÐÕûºÏ£¬¾ÍÐèÒªµ÷ÓÃMagentoµÄWebservice¡£
MagentoÌṩ2Ì×api¡£
×¢£ºÈç¹ûÐèҪͬ¹¹µ÷ÓÃÐèҪʹÓõÚ1¸öwsdl£¬ÈçÒì¹¹³ÌÐòµ÷ÓÃÐèʹÓõÚ2¸öwsdl¡£
1.http://xxx.xxxxxxx.xxx/magento/api/soap/?wsdl
2.http://xxx.xxxxxxx.xxx/magento/api/v2_soap/?wsdl
µ÷Óò½Öè
Ò»¡¢ÔÚMagentoÖд´½¨µ÷ÓÃWebserviceµÄÓû§ÃûÓëÃÜÂë(½øÈëMagentoºǫ́¹ÜÀí->System->Web Services->Users)£¬ÔÚ´´½¨Óû§Ç°ÏÈÉè¼ÆÒ»¸ö½ÇÉ«(½øÈëMagentoºǫ́¹ÜÀí->System->Web Services->Roles)£¬ÓÃÀ´¶Ôµ÷ÓÃWebserviceµÄȨÏÞ½øÐÐÏÞÖÆ
¶þ¡¢ÔÚDelphi¶ËÓÃWSDL Import¹¤¾ß½øÐе¼È룬µ¼Èëºó»á×Ô¶¯Éú³ÉÏà¹Ø¶ÔÏóµÄÀàÐÅÏ¢
Èý¡¢Ê¹ÓÃMagentoµÄ½Ó¿Ú£¬µ÷ÓÃlogin¡¢salesOrderInfoµÈº¯Êý
Àý1£ºËÑË÷Ïà¹Ø×´Ì¬µÄ¶©µ¥
procedure TFrmSiteManagement.getOrderList;
var
P:Mage_Api_Model_Server_V2_HandlerPortType;
sessionID:WideString;
filterOn:filters;
aE:associativeEntity ;
aA:associativeArray;
orderList:salesOrderEntityArray;
order:salesOrderEntity;
i:Integer;
begin
P:= HTTPRIO1 as Mage_Api_Model_Server_V2_HandlerPortType;
//filter
filterOn:=filters.Create;
SetLength(aA,1);
aE:=associativeEntity.Create;
aE.key:='status';
aE.value:='Pending';
aA[0]:=aE;
filterOn.filter:=aA;
try
try
sessionID:= P.login('apiuser','apiuser');
orderList:=P.salesOrderList(sessionID,filterOn);
for i:=low(orderList) to high(orderList) do
begin
sessionID:= P.login('apiuser','apiuser');
order:=P.salesOrderInfo(sessionID,orderList[i].increment_id);
addContent(i,order) ;
end;
except
on E:Exception do
begin
ShowMessage(E.Message);
end;
end;
finally
P:=nil;
aE.Free;
SetLength(aA,0);
end;
end;
Àý2£ºLoad¶©µ¥Ã÷ϸ
var
P:Mage_Api_Model_Server_V2_HandlerPortType;
sessionID:WideString;
order: salesOrderEntity;
begin
P:= HTTPRIO1 as Mage_Api_Model_Server_V2_HandlerPortType;
try
try
sessionID:= P.login('apiuser
Ïà¹ØÎĵµ£º
²éÕÒÁíÍâÒ»¸ö´°¿ÚµÄ¾ä±ú£º handle := FindWindow(nil,PChar('´°¿ÚµÄ±êÌâ'));//²éµ½´°Ìå¾ä±ú
²éÕÒ×Ó´°Ì壺childHandle := FindWindowEx(handle,0,'×Ó´°ÌåÀà','×Ó´°Ìå±êÌâ');
ÁíÍâÓиöö¾Ù×Ó´°ÌåµÄAPI£¬EnumChildWindows(Ö÷´´Ìå¾ä±ú,@»Øµ÷º¯Êý,Óû§²ÎÊý);
ÓÃÕâ¸öº¯ÊýÐèÒª×Ô¼ºÐ´Ò»¸ö»Øµ÷µÄº¯Êý£¬±ÈÈ磺
function EnumChil ......
type
TTurboRecord = record
strict private
fNameValue : integer;
function GetName: string;
public
NamePrefix : string;
constructor Create(const initNameValue : integer) ;
property Name : string read GetName;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
......
1. ×Ö·û´®Á¬½ÓÖ±½ÓÓÃ+£¬ÓëJavaºÍPythonÖеÄÏàͬ
2. Ö´ÐÐÍⲿÃüÁîʹÓÃwinexec£¬ShellExecute
eg. ShellExecute(0, 'open', 'jre/bin/java', '-lang zh-CN', 'E:\myfolder', SW_SHOW);
3. ÅжÏÎļþ¡¢Îļþ¼ÐÊÇ·ñ´æÔÚ
FileExists('C:\Users\bill\somefile.txt')
......
ExtractFileDrive £º·µ»ØÍêÕûÎļþÃûÖеÄÇý¶¯Æ÷£¬Èç"C:"
ExtractFilePath£º·µ»ØÍêÕûÎļþÃûÖеÄ·¾¶£¬×îºó´ø“/”£¬Èç"C:\test\"
ExtractFileDir£º·µ»ØÍêÕûÎļþÃûÖеÄ·¾¶£¬×îºó²»´ø“/” ,Èç"C:\test"
ExtractFileName:·µ»ØÍêÕûÎļþÃûÖеÄÎļþÃû³Æ (´øÀ©Õ¹Ãû)£¬Èç"mytest.doc"
ExtractFileExt ·µ»ØÍ ......
DELPHIÖвÙ×÷ACCESSÊý¾Ý¿â(½¨Á¢.mdbÎļþ,ѹËõÊý¾Ý¿â)
ÒÔÏ´úÂëÔÚWIN2K,D6,MDAC2.6ϲâÊÔͨ¹ý,
±àÒëºÃµÄ³ÌÐòÔÚWIN98µÚ¶þ°æÎÞACCESS»·¾³ÏÂÔËÐгɹ¦.
//ÉùÃ÷Á¬½Ó×Ö·û´®
Const
SConnectionString
= 'Provider=M ......