(Pascal) 4shared Music Downloader
Fiz um sistema de downloader para músicas do 4shared
unit Unit2;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ComCtrls, IdBaseComponent, IdComponent, IdTCPConnection,IdTCPClient, IdHTTP, XPMan, ExtCtrls;typeTForm2 = class(TForm)Button1: TButton;Edit1: TEdit;ProgressBar1: TProgressBar;Label1: TLabel;IdHTTP1: TIdHTTP;IdHTTP2: TIdHTTP;XPManifest1: TXPManifest;Label2: TLabel;LinkLabel1: TLinkLabel;procedure Button1Click(Sender: TObject);procedure IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;AWorkCount: Int64);procedure IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;AWorkCountMax: Int64);procedure IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);private{ Private declarations }public{ Public declarations }end;varForm2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);vararquivo, url: string;i: integer;MyFile: TFileStream;beginLabel1.caption := 'Status: Inicializando';url := IdHTTP2.Get(edit1.text);i := pos('preview.mp3', url);arquivo := '';Label1.caption := 'Status: Procurando Link';While (url[i] <> '=') DoBeginarquivo := url[i] + arquivo;i := i - 1;End;arquivo := arquivo + 'review.mp3';MyFile := TFileStream.Create('musica baixada.mp3', fmCreate);tryIdHTTP1.Get(arquivo, MyFile);finallyMyFile.Free;end;ShowMessage('Música baixada. Confira na pasta do programa!');end;procedure TForm2.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64);beginProgressBar1.Position := AWorkCount;end;procedure TForm2.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64);beginProgressBar1.Position := 0;ProgressBar1.Max := AWorkCountMax;Label1.caption := 'Status: Em andamento';end;procedure TForm2.IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);beginProgressBar1.Position := ProgressBar1.Max;Label1.caption := 'Status: Concluído';end;end.