《百度音乐管家V3.0》正式发布

《百度音乐管家》是一款批量下载百度MP3的工具软件,可以自动分析百度榜单歌曲,自动分析歌手歌曲,自动分析专辑歌曲,可自定义下载普通品质128K码率、高品质192K码率、超高品质320K码率的音乐文件,歌曲文件自带专辑封面,是一款不可多得的免费工具软件。

【2013-1-31   V3.0更新内容】
1、重新整理榜单内容
2、增加热门分类榜单
3、增加热门歌手榜单
4、增加歌手搜索功能
5、下载规则调整:选择下载320K音乐,但有些老歌歌曲本身不存在320K,则自动使用192K,如果192K不存在,则自动使用128K
6、修改抓取规则和方法,抓取速度提升50%
7、增加多线程下载音乐,下载速度提升500%
8、增加自动检查软件更新
9、音乐列表增加右键功能,支持Ctrl,Shift键多选和批量操作
10、增加下载记录管理

百度盘:http://pan.baidu.com/share/link?shareid=247721&uk=956622825
本地下载:http://www.samool.com/BaiduMP3Manager_V3.0.zip

软件截图

 百度音乐管家V3.0截图.jpg

 

Posted in 杂七杂八 at February 3, 2013. by 傻猫 .    Views: 7947    8 Comments

idhttp与Webbrowser共享Cookie

让idhttp与浏览器共享Cookie信息,这样只要浏览器登录以后,idhttp就不用登录了,抓取数据包神马的就是浮云了。

uses
..., WinInet;


function CanGetIECookie(const URL: string; var Cookie: string): boolean;
var
lpvBuffer: array[0..1000] of byte;
lpdwBufferLength: cardinal;
begin
lpdwBufferLength := sizeof(lpvBuffer);
result := InternetGetCookie(PChar(URL), nil, @lpvBuffer, lpdwBufferLength);
if result then
Cookie := pchar(@lpvBuffer);
end;


if CanGetIECookie(url, str) then
begin
CookieStr := 'Cookie: ' + str;
idHttp1.Request.CustomHeaders.Text := CookieStr;
Memo1.Lines.Text := IdHTTP1.Get(WebSite);
end;

Posted in 软件开发 at February 3, 2013. by 傻猫 .    Views: 5460    No Comments

delphi 字符串与内存流和文件的快速转换函数

在delphi中没有能把字符串直接保存为文件的方法,也没有将文件直接作为字符串读出的方法。
没有能把字符串转化为内存流的方法,也没有能把内存流转化为字符串的方法。而这里有四个函数恰能做到。
代码如下:
function StringToFile(mString: string; mFileName: TFileName): Boolean;
{ 返回字符串保存到文件是否成功 }
var
vFileChar: file of Char;//通常是以行为单位,将依次写入每一行,而这里是字,则将依次写入每个字
I: Integer;
begin
{$I-}
AssignFile(vFileChar, mFileName);
Rewrite(vFileChar);
for I := 1 to Length(mString) do
Write(vFileChar, mString[I]);
CloseFile(vFileChar);
{$I+}
Result := (IOResult = 0) and (mFileName <> '');
end;
{ StringToFile }

function FileToString(mFileName: TFileName): string;
{ 返回从文件载入字符串 }
var
vFileChar: file of Char;
vChar: Char;
begin
Result := '';
{$I-}
AssignFile(vFileChar, mFileName);
Reset(vFileChar);
while not Eof(vFileChar) do begin
Read(vFileChar, vChar);
Result := Result + vChar;
end;
CloseFile(vFileChar);
{$I+}
end; { FileToString }


function StreamToString(mStream: TStream): string;
{ 将内存流转换成字符串 }
var
I: Integer;
begin
Result := '';
if not Assigned(mStream) then Exit;
SetLength(Result, mStream.Size);
for I := 0 to Pred(mStream.Size) do try
mStream.Position := I;
mStream.Read(Result[Succ(I)], 1);
except
Result := '';
end;
end; { StreamToString }


function StringToStream(mString: string; mStream: TStream): Boolean;
{ 返回将字符串保存到内存流是否成功 }
var
I: Integer;
begin
Result := True;
try
mStream.Size := 0;
mStream.Position := 0;
for I := 1 to Length(mString) do mStream.Write(mString[I], 1);
except
Result := False;
end;
end; { StringToStream }

 

Posted in 软件开发 at February 3, 2013. by 傻猫 .    Views: 4426    No Comments