ÎÊÌâ±³¾°£º
¹«Ë¾Ï£ÍûʹÓÃMagentoÀ´½øÐнӵ¥£¬¶øºó°Ñ¶©µ¥µ¼Èëµ½Ò»¸öERPϵͳÖÐ(¶©µ¥´¦ÀíÒýÇæ)¡£
ÎÊÌ⣺
ÔÚʹÓÃWebService´ÓMagentoÖлñÈ¡PaymentÐÅϢʱ£¬ÐÅÓÿ¨ÊDZ»¼ÓÃܵÄ(·¨Âɹ涨²»ÔÊÐíÔÚÊý¾Ý¿âÖд洢ÐÅÓÿ¨µÄÃ÷ÎÄÐÅÏ¢)£¡
×ÐϸÑо¿ÁËÒ»ÏÂMagentoµÄ¼ÓÃÜ·½Ê½(/magento/app/code/core/Mage/Core/Model/Encryption.php)·¢ÏÖMagento¶ÔÓÚÃô¸ÐÐÅÏ¢µÄ´¦ÀíÊÇÏȼÓÃÜ¡¢ÔÙÓÃbase64½øÐбàÂë¡£
(ÆäʵÕâ¸öÎÊÌâ¿ÉÒÔ±äͨһÏ£¬ÓÃPHPдһ¸ö½âÃÜÎļþ£¬ÒÔ¼ÓÃܺóµÄÐÅÓÿ¨ºÅ×öΪ²ÎÊý£¬·µ»ØÖµÎªÐÅÓÿ¨µÄÃ÷ÎÄ¡£DelphiÖпÉÒÔÓÃMsxml2.XMLHTTPÖ±½Ó·¢ËͲÎÊý£¬µ«×ܾõµÃ±ðŤ¡£²»¹ýÕâÊÇÒ»¸ö±£µ×·½°¸)
BlowFishÊÇPHP×ÔÉíÌṩµÄË㷨ģ¿é(ÓÃmcrypt_list_algorithms()²é¿´ÆäËùÖ§³ÖµÄµÄË㷨ģ¿éµÄÃüÁî)¡£
public function encrypt($data)
{
return base64_encode($this->_getCrypt()->encrypt((string)$data));
}
ÖªµÀÕâЩºó£¬½ø¶ø¸ú×ÙÆäʹÓõļÓÃÜ·½Ê½ÊÇBlowFish¡£ÄÇÏÂÃæµÄ¹¤×÷¾Í¼òµ¥ÁË¡£
ÐèÒª·Ö¶þ²½ÖèÀ´Íê³É½âÃܹ¤×÷£º
Ò».ÕÒµ½Delphi°æµÄBlowFish(Ö®ËùÒÔÕÒDelphi°æÔ´Âë¶ø²»ÊÇÖ ......
Delphi 7Ö®ºóµÄ°æ±¾£¬Ôö¼ÓÁËÔËËã·ûµÄÖØÔØ¡£ËäÈ»²»¾¡ÈËÒ⣨ÐèÒªÐ´ÌØ¶¨Ó¢ÎÄ£©£¬µ«ÓÐ×ܱÈûÓÐÇ¿¡£
Àý£º
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
T3DPoint = record
X, Y, Z: Double;
class operator ADD(ALeftPoint, ARightPoint: T3DPoint): T3DPoint; {ÖØÔØ'+'ÔËËã·û}
end;
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ T3DPoint }
class operator T3DPoint.ADD(ALeftPoint, ARightPoint: T3DPoint): T3DPoint;
begin
Result.X := ALeftPoint.X + ARightPoint.X;
Result.Y := ALeftPoint.Y + ARightPoint.Y;
Result.Z := ALeftPoint.Z + ARightPoint.Z;
end;
procedure T ......
Ô×÷Õߣº¹âÃ÷ÐÖµÜ
×î½üÎÒÕýÔÚÑо¿ActiveX¼¼Êõ¡£ÎÒʹÓÃDelphi 7´´½¨ÁËÒ»¸ö¾ßÓÐActiveFormµÄActiveX¿Ø¼þÓ¦ÓóÌÐò¡£Õâ¸ö¿Ø¼þ²úÉúÒ»¸ö.OCXÎļþ¡£ÏÖÔÚ£¬ÎÒÐèÒª°ÑÕâ¸ö¿Ø¼þ²¿ÊðÔÚ·þÎñÆ÷¶Ë£¬ÔÚÓû§ä¯ÀÀÍøÒ³²¢Ñ¡Ôñ°²×°Õâ¸ö¿Ø¼þµÄʱºò£¬Óû§µÄIE²Å»áÏÂÔØ¡¢°²×°²¢ÏÔʾÕâ¸ö¿Ø¼þ¡£
µ«ÊÇÎҵĿؼþ±ØÐë×÷Êý×ÖÇ©ÃûÒÔºó£¬IE²Å»áÏÂÔØ°²×°¡£ÎÊÌâÊÇÈçºÎ¸øActiveX¿Ø¼þ×÷Êý×ÖÇ©ÃûÄØ£¿ÏÖ½«¾ßÌå²½ÖèÓë´ó¼Ò·ÖÏí¡£
Ê×ÏÈÎÒÐèÒªÒ»Ì××öÊý×ÖÇ©ÃûµÄ¹¤¾ß¡£Èç¹ûÄãûÓУ¬¿ÉÒÔµ½ÒÔϵØÖ·ÏÂÔØ£º
http://files.cnblogs.com/babyt/SignTool.rar
¿Ø¼þµÄÃû×ÖÊÇCustForm.ocx¡£Ê×ÏÈ£¬ÎÒÃÇÐèÒª´´½¨Ò»¸ö.CABÎļþÓÃÀ´°ÑËùÓÐÐèÒª·¢²¼µÄÎļþѹËõÔÚÒ»Æð¡£ÎÒÃÇÐèÒªÒ»Æð·¢²¼µÄÎļþÊÇCustForm.licÎļþ¡£ËüÊÇDelphiÔÚÎÒÃÇ´´½¨¿Ø¼þ¹¤³ÌµÄʱºòΪÎÒÃÇÉú³ÉµÄ¡£Èç¹û²»·¢²¼Õâ¸öÎļþ£¬ÄãµÄ¿Ø¼þ¼´Ê¹ÏÂÔØ°²×°³É¹¦£¬IEÒ²ÎÞ·¨ÏÔʾËü¡£
ΪÁËÔÚÒ»¸ö.CABÎļþÖз¢²¼¶à¸öÎļþ£¬ÎÒÃDZØÐëÏÈ´´½¨Ò»¸ö.INFÎļþ¡£Ò»¸ö.INFÎļþ¿ÉÒÔ¸æËßIE£¬ËüÐèÒªÏÂÔØµÄÎļþºÍÔÚÄÄÀï¿ÉÒԵõ½ÕâЩÎļþ¡£
1. ´´½¨.INFÎļþ
´´½¨Ò»¸ö.INFÎļþºÜ¼òµ¥£¬ÓüÇʱ¾³ÌÐò±àд¾Í¿ÉÒÔÁË¡£ÎÒÃǰÑÎÒÃǵÄ.INFÎļþÈ¡ÃûΪGMTestX.inf¡£ÒòΪÎÒÃÇÒªÔÚ.CABÎļþÖзÅÈëGMTest.ocxºÍGM ......
ʹÓÃdelphi¶àÄê,ǰЩÌìºöÈ»Óöµ½²»»ástringתpbyte,ºÜÊÇʧÂä,´Ëʱ¶ÔÓÚ±à³Ì»ù±¾¹¦µÄÖØÒªÐÔÉîÓÐÌå»á.ÕâÆäÖÐÓõ½MOVEº¯Êý.
¸ãÁ˺ÃÒ»»á²Å¸ãÃ÷°×ÆäÓ÷¨.ËùÒÔÏëÌù³öÀ´°ïÖúÐèÒª°ïÖúµÄÈË.
var
s:string;
ps:Pchar;
b:pbyte;
len:integer;
begin
s:=edit1.Text; //×Ö·û´®
ps:=pchar(s); //ת³ÉpcharÀàÐÍ,
len:=length(s);//È¡×Ö·û´®³¤¶È,Õ¼ÓöàÉÙ×Ö½Ú
getmem(b,len);//ÉêÇëÄÚ´æ,pchar,pbyteÔÚʹÓÃǰ¶¼±ØÐëÒªÉêÇëÄÚ´æ,ÒòΪËûÃÇÊÇÖ¸Õë.
move(ps^,b^,len);//ÕâÀï ps^Òâ˼ÊÇpcharÖ¸ÏòÄÚ´æÊý¾ÝµÄµÚÒ»¸ö×Ö½ÚµØÖ·,B^ÊDZíʾÉêÇëÄÚ´æµÄµÚÒ»¸ö×Ö½ÚµØÖ·,ÕâÑù¾Í¿ÉÒÔÒ»¸öÒ»¸ö×Ö½ÚµÄÒÆµ½bÀïÈ¥ÁË.
memo1.Text:=pchar(b);//ÏÔʾ.
freemem(b);
end;
ÓÐЩÈËÓöµ½µÄÀ§»óÊÇΪʲô move(s,b,len)²»ÐÐÄØ?ͬÑùÎÒÒ²Óöµ½ÕâÑùµÄÀ§»ó.
¿´ÁËÒ»ÑùmoveµÄº¯ÊýÔ´Âë²ÅÃ÷°×.
procedure Move( const Source; var Dest; count : Integer );
{$IFDEF PUREPASCAL}
var
S, D: P ......
delphiÖйú¼Ê»¯µÄ¼¸ÖÖ·½°¸¼°±È½Ï(ת)
Ëæ×ÅÈ«Çò»¯³Ì¶È¼ÓÉÈí¼þÔ½À´Ô½ÏñÆÑ¹«Ó¢£¬µ½´¦Æ®É¢¡¢Ôú¸ù¡£ÕâÆäÖÐÒª½â¾öµÄÊDz»Í¬ÓïÑÔµÄÏÔʾÎÊÌâ¡£ÎÒÃǵ±È»Ï£ÍûÒ»Ì׳ÌÐò£¬¿ÉÒÔ²»Ð޸ĴúÂë¾Í¿ÉÒÔÖ§³Ö²»Í¬µÄÓïÑÔ£¬²»ÒªÈ¥Î¬»¤ºÜ¶àµÄ°æ±¾¡£
Ê×ÏÈҪ̸µ½µÄÒ»¸öÎÊÌâÊÇÂÒÂëÎÊÌ⣬ÒòΪdelphi
win32µ½11.x°æ»¹ÊDz»Ö§³Öunicode£¬ËùÒÔÒ»°ãʹÓÃAnsiÂ룬ÓÐÕâÑù¼¸ÖÖÇé¿ö»áÏÔʾÂÒÂ룺
ʹÓõÄÓïÑÔÎÄ×ÖÓëϵͳµ±Ç°É趨µÄÓïÑÔ²»Ò»Ñù£»±ÈÈç¼òÌå°æQQÔÚ·±Ìå²Ù×÷ϵͳ£¨»ò¼òÌå²Ù×÷ϵͳµÄÇøÓòÉèÖÃÖС°·ÇUnicode³ÌÐòµÄÓïÑÔ¡±É趨Ϊ·±Ì壩¾ÍÊÇÂÒÂë¡£¼´Ê¹¸Ä±äFont.Charset£¬Ä³Ð©Ôª¼þÈÔÈ»»á³öÏÖÂÒÂ룬ÈçStatusBar¡£Òò´Ë£¬ÔÚÔ½ÄÏÎİæµÄwindowsÏÔʾԽÄÏÎÄ£¬ÔÚÒÁÀÊÎİæµÄwindowsÏÔʾÒÁÀÊÎÄ£¬²»ÒªÔÚÔ½ÄÏÎİæwindowsÏÔʾÒÁÀÊÎÄ£¬ÔÚÒÁÀÊÎİæwindowsÏÔʾԽÄÏÎÄ£¬ÕâÑù¾ÍÄÜÈ·±£Ã»ÓÐÂÒÂëÎÊÌâ¡£ºÃÔÚÒ»°ãÕâÑùµÄ´íλÓ÷¨Ò²²»¶à¼û¡£
ϵͳûÓа²×°ÄãÒªÏÔʾµÄÓïÑÔµÄÓïÑÔ°ü£»
Èç¹ûÄãÒª±£Ö¤ÍêÈ«ÎÞÂÒÂ룬±ØÐ뿼ÂÇʹÓÃunicodeÂ룬ʹÓóÉÌ×µÄÖ§³ÖunicodeµÄÔª¼þ£¬Èçtnt£¬µ«ËüÔÚUI±äÏÖÉϱȽϵ¥Ò»£¬Äã²»¿ÉÄܲ»Ê¹ÓñðµÄÔª¼þ¡£
......
ºÃ¾ÃûдBLOGÁË£¬ËÍÉÏÒ»·ÝÔ´´µÄDELPHI°æMP3ÇиsplitMp3ΪÇиÊý£¬Ö§³Ö°´Ê±¼äÇиîºÍ°´´óСÇиÍû´ó¼ÒÖ§³Ö¡£
²Î¿¼VCµÄ×ÊÁϱàдµÄMP3ÇиîDELPHI°æµ¥Ôª.
unit UnitMp3DataUtil;
{
MP3 Cut Unit.
@author Jim Wu
2009-08
}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls;
type
Mp3SplitMode = (Mp3SplitByTime, Mp3SplitByDateLength);
TMp3DataInfo = packed record
isMp3: Boolean;
bitrate: Integer;
sampleRate: Integer;
isMono: Boolean;
isVBR: Boolean;
end;
function readMp3Head(fileName: string): TMp3DataInfo;
function splitMp3(mode: Mp3SplitMode; length: Integer; fr: TFileStream; writeFileName: string; var actualLength: Integer; var actualMillisecond: Integer): integer;
const
mpegBitrateTable: array[1..2,1..3,1..14] of Integer=(
(
( 32, 64, 96,128,160,192,2 ......