大家好,关于担保交易网站源码分享很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于担保平台交易网可靠吗的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
调用cnbase64.pas提供函数
打开pdf文件生成base64串
var
outStr,strSQL:String;
Stream:TStream;
begin
ifFileExists(lblPdfFileName.Caption)thenbegin
Stream:=TFileStream.Create(lblPdfFileName.Caption,fmOpenRead);//载入文件内容
Base64Encode(Stream,outStr);
Stream.Free;
endelsebegin
ShowMessage(lblPdfFileName.Caption+&39;);
Exit;
end;
base64串转成pdf文件
var
strFileName,outStr,strSQL:String;
Stream:TStream;
begin
ifdlgSave.Executethenbegin
strFileName:=dlgSave.FileName+&39;;
end;
Stream:=TFileStream.Create(strFileName,fmcreate);
Base64Decode(qryQcExam.fieldbyname(&39;).asString,Stream,true);
stream.free;
ShowMessage(&39;);
附CnBase64.pas源码
{******************************************************************************}
{CnPackForDelphi/C++Builder}
{中国人自己的开放源码第三方开发包}
{(C)Copyright2001-2019CnPack开发组}
{————————————}
{}
{本开发包是开源的自由软件,您可以遵照CnPack的发布协议来修}
{改和重新发布这一程序。}
{}
{发布这一开发包的目的是希望它有用,但没有任何担保。甚至没有}
{适合特定目的而隐含的担保。更详细的情况请参阅CnPack发布协议。}
{}
{您应该已经和开发包一起收到一份CnPack发布协议的副本。如果}
{还没有,可访问我们的网站:}
{}
{网站地址:http://www.cnpack.org}
{电子邮件:master@cnpack.org}
{}
{******************************************************************************}
{******************************************************************************}
{该单元部分内容基于DennisD.Spreen的UTBASE64.pas改写。}
{下面是UTBASE64.pas的声明:}
{—————————————————————————–}
{uTBase64v1.0-SimpleBase64encoding/decodingclass}
{Base64describedinRFC2045,Page24,(w)1996Freed&Borenstein}
{Delphiimplementation(w)1999DennisD.Spreen(dennis@spreendigital.de)}
{Thisunitisfreeware.Justdropmealineifthisunitisusefulforyou.}
{—————————————————————————–}
unitCnBase64;
{*|<PRE>
================================================================================
*软件名称:开发包基础库
*单元名称:Base64编码算法单元
*单元作者:詹葵(Solin)solin@21cn.com;http://www.ilovezhuzhu.net
*wr960204
*备注:该单元有两个版本的Base64实现,分别属移植改进而来。
*开发平台:PWin2003Std+Delphi6.0
*兼容测试:暂未进行
*本地化:该单元无需本地化处理
*修改记录:2018.06.22V1.3
*修正解出的原始内容可能包含多余0被错误移除的问题
*2016.05.03V1.2
*修正字符串中包含0
|</PRE>}
//原始移植的版本,比较慢
functionBase64Encode_Slow(constInputData:AnsiString;varOutputData:AnsiString):Byte;
//原始移植的版本,比较慢
functionBase64Decode_Slow(constInputData:AnsiString;varOutputData:AnsiString):Byte;
const
BASE64_OK=0;//转换成功
BASE64_ERROR=1;//转换错误(未知错误)(e.g.can&39;endofencodeddata&39;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&39;=&39;A&39;B&39;C&39;D&39;E&39;F&39;G&39;H&39;I&39;J&39;K&39;L&39;M&39;N&39;O&39;P&39;Q&39;R&39;S&39;T&39;U&39;V&39;W&39;X&39;Y&39;Z&39;a&39;b&39;c&39;d&39;e&39;f&39;g&39;h&39;i&39;j&39;k&39;l&39;m&39;n&39;o&39;p&39;q&39;r&39;s&39;t&39;u&39;v&39;w&39;x&39;y&39;z&39;0&39;1&39;2&39;3&39;4&39;5&39;6&39;7&39;8&39;9&39;+&39;/&39;=&0..39;=&39;&39;&39;&39;&39;=&39;=&39;=&39;&39;&39;0&39;9&39;A&39;Z&39;a&39;z&39;+&39;/&39;=&39;&39;&0,两个等号意味着补了两个0的情况,后者无须去掉
ifData[SrcLen]=&39;then
begin
Inc(ToDec);
if(SrcLen>1)and(Data[SrcLen-1]=&39;)then
Inc(ToDec);
end;
SetLength(OutputData,DstLen);//一次分配整块内存,避免一次次字符串相加,一次次释放分配内存
Times:=SrcLendiv4;
C:=1;
fori:=0toTimes-1do
begin
x1:=DecodeTable[Data[1+ishl2]];
x2:=DecodeTable[Data[2+ishl2]];
x3:=DecodeTable[Data[3+ishl2]];
x4:=DecodeTable[Data[4+ishl2]];
x1:=x1shl2;
xt:=x2shr4;
x1:=x1orxt;
x2:=x2shl4;
OutputData[C]:=AnsiChar(Chr(x1));
Inc(C);
ifx3=64then
Break;
xt:=x3shr2;
x2:=x2orxt;
x3:=x3shl6;
OutputData[C]:=AnsiChar(Chr(x2));
Inc(C);
ifx4=64then
Break;
x3:=x3orx4;
OutputData[C]:=AnsiChar(Chr(x3));
Inc(C);
end;
//根据补的等号数目决定是否删除尾部0)do
begin
Dec(ToDec);
Dec(DstLen);
end;
SetLength(OutputData,DstLen);
//再根据外部要求删除尾部的0)do
Dec(DstLen);
SetLength(OutputData,DstLen);
end;
Result:=BASE64_OK;
end;
end.
关于担保交易网站源码分享到此分享完毕,希望能帮助到您。
