استخراج بيانات من ملف xml لكود للتحميل على ساندسبايس Sendspace
#1
السلام عليكم
لدينا
PHP كود :
http://api.sendspace.com/rest/?method=anonymous.uploadgetinfo&api_key=ZK2CZDXGZW&api_version=1.0 
لاحظار السطر الاول
PHP كود :
XMLDocument1.FileName:='http://api.sendspace.com/rest/?method=anonymous.uploadgetinfo&api_key=ZK2CZDXGZW&api_version=1.0';
XMLDocument1.Active:=True;
edit1.Text:=XMLDocument1.ChildNodes[0].Text; 

ومنه كيف يمكن الحصول على البقية ( اتربي ونود ..
الرد
#2
وجدت الحل شكرا لكم
لمن يريده Smile
PHP كود :
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['url']);
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['progress_url']);
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['max_file_size']);
 
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['upload_identifier']); 
الرد
#3
PHP كود :
unit Unit1;

interface

uses
  Windows
, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  
IdTCPClient, IdHTTP, xmldom, XMLIntf, msxmldom, XMLDoc,IdMultipartFormData,
  
ComCtrls;

type
  TForm1 
= class(TForm)
    
IdHTTP1: TIdHTTP;
    
Memo1: TMemo;
    
btn2: TButton;
    
edt1: TEdit;
    
Memo3: TMemo;
    
XMLDocument1: TXMLDocument;
    
btn3: TButton;
    
edt2: TEdit;
    
edt3: TEdit;
    
edt4: TEdit;
    
edt5: TEdit;
    
edt6: TEdit;
    
pb1: TProgressBar;
    
stat1: TStatusBar;
    
btn1: TButton;
    
edt7: TEdit;
    
dlgOpen1: TOpenDialog;
    
procedure btn3Click(Sender: TObject);
    
procedure btn2Click(Sender: TObject);
    
procedure IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
      const 
AWorkCountMax: Integer);
    
procedure IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
      const 
AWorkCount: Integer);
    
procedure btn1Click(Sender: TObject);
    
procedure edt1Change(Sender: TObject);
  private
    { Private 
declarations }
  public
    { Public 
declarations }
  
end;

var
  
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn3Click(Sender: TObject);
begin
  
try
XMLDocument1.FileName:='http://api.sendspace.com/rest/?method=anonymous.uploadgetinfo&api_key=ZK2CZDXGZW&api_version=1.0';
XMLDocument1.Active:=True;
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['url']);
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['progress_url']);
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['max_file_size']);
 
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['upload_identifier']);
 
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['extra_info']);
  
edt2.Text:= XMLDocument1.DocumentElement.ChildNodes[0].Attributes['url'];
  
edt3.Text:= XMLDocument1.DocumentElement.ChildNodes[0].Attributes['progress_url'];
  
edt4.Text:= XMLDocument1.DocumentElement.ChildNodes[0].Attributes['max_file_size'];
  
edt5.Text:= XMLDocument1.DocumentElement.ChildNodes[0].Attributes['upload_identifier'];
  
edt6.Text:= XMLDocument1.DocumentElement.ChildNodes[0].Attributes['extra_info'];
btn2.Enabled:=True;
except

  end
;
end;

procedure TForm1.btn2Click(Sender: TObject);
var
 
Data: TIdMultiPartFormDataStream;
begin
try

    
IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 5.1; rv:9.0) Gecko/20100101 Firefox/9.0';
  
Data := TIdMultiPartFormDataStream.Create;
  
Data.AddFile('userfile',edt1.text,'application/octet-stream');
  
Data.AddFormField('MAX_FILE_SIZE',edt4.Text);
  
Data.AddFormField('UPLOAD_IDENTIFIER',edt5.Text);
  
Data.AddFormField('extra_info',edt6.Text);
 
Memo1.Text:=IdHTTP1.Post(edt2.Text, Data);
btn1.Enabled:=True;
   
except
  end
;
end;

procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const 
AWorkCountMax: Integer);
begin
pb1
.Max:= AWorkCountMax div 1024;
pb1.Position:=0;
end;

procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const 
AWorkCount: Integer);
begin
pb1
.Position:= AWorkCount div 1024;
Application.ProcessMessages;
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
XMLDocument1
.XML.Text:=Memo1.Text;
  
XMLDocument1.Active := true;
edt7.Text:=XMLDocument1.DocumentElement.ChildNodes[1].ChildNodes[0].Text
end
;

procedure TForm1.edt1Change(Sender: TObject);
begin
if dlgOpen1.Execute then
edt1
.Text:=dlgOpen1.FileName;
end;

end.
 
'//c:\Project1.exe' 

الكود كامل للتحميل على ساندسبايس

المشكلة الجديدة هل يمكن الرفع باستخدام الثريد


[صورة: 20111225210821.png]

استحراج الرابط

[صورة: 20111225211033.png]
الرد
#4
الاضافات الجديدة
  • اضافة الثريد للتحميل واثناء احظار البيانات ( لا يتجمد ابدا)
  • احضار الرابط مباشرة
  • امكانية الايقاف
  • وتصحيح خطا عدم تفعيل العنصر xml عند الانتهاء
[صورة: 20111226111434.png]
اثناء الانتهاء
[صورة: 20111226111419.png]
كود :
http://www.sendspace.com/file/8wx5z2


الملفات المرفقة
.rar   sendspace.rar (الحجم : 2.69 ك ب / التحميلات : 38)
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم