如题
解决方案 »
- 在能用局部变量解决问题的时候尽量不要使用全局变量,这句话对吗?
- 急!!!
- 谁用过nmstream的fromname属性,进来接分
- 不能出发OnPaint事件
- 在同一个框架中显示HTML的图标文件,点击后如何参数化调用程序?〈仿吉胜人事工资管理〉?急
- 关于 Treeview的问题???
- 我在用adoquery1.loadfromfile(example.xml)后,不知道怎样才能修改和添加记录到数据库?
- 高速公路交通状态(交通正常、拥挤、阻塞)如何判断
- 如何利用Tquickrep打印字段较多的表?
- 如何用UDP在局域网广播??
- 谁用过IP CONTORLS 里的wwDBGrid!求救!都发了2次了
- CommandText Cann't Changed?
或者用现成函数
const
BaseTable:string='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';function TMailClient.FindInTable(CSource:char):integer;
begin
result:=Pos(string(CSource),BaseTable)-1;
end;function DecodeBase64(Source:string):string;
var
SrcLen,Times,i:integer;
x1,x2,x3,x4,xt:byte;
begin
result:='';
SrcLen:=Length(Source);
Times:=SrcLen div 4;
for i:=0 to Times-1 do
begin
x1:=FindInTable(Source[1+i*4]);
x2:=FindInTable(Source[2+i*4]);
x3:=FindInTable(Source[3+i*4]);
x4:=FindInTable(Source[4+i*4]);
x1:=x1 shl 2;
xt:=x2 shr 4;
x1:=x1 or xt;
x2:=x2 shl 4;
result:=result+chr(x1);
if x3= 64 then break;
xt:=x3 shr 2;
x2:=x2 or xt;
x3:=x3 shl 6;
result:=result+chr(x2);
if x4=64 then break;
x3:=x3 or x4;
result:=result+chr(x3);
end;
end;