![]() |
|
ارسالة sms الى جوال باستخدام Idhttp - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : ارسالة sms الى جوال باستخدام Idhttp (/showthread.php?tid=4025) |
ارسالة sms الى جوال باستخدام Idhttp - أبو محمـد - 23-03-2012 السلام عليكم لارسال رسالة الى جوال نستخدم الكود التالي بعد الحصول على المعلومات من المزود وتختلف من مزود لآخر. كود : function SendMSG(user,pwd,msg,number,sender,applicationType: WideString): string;
var IdHTTP1 : TIdHTTP ;
curl:TStringList;
begin
IdHTTP1 := TIdHTTP.Create();
IdHTTP1.HTTPOptions := [hoForceEncodeParams];
curl:=TStringList.Create();
curl.Clear() ;
curl.Values['mobile'] := user ;
curl.Values['password'] := pwd ;
curl.Values['msg'] := msg ;
curl.Values['sender'] := sender ;
curl.Values['numbers'] := number ;
curl.Values['applicationType'] := applicationType ;
Result:= IdHTTP1.post('http://www.gateway.com/msgSend.php', curl);
curl.Free;
end;المشكلة اذا كان المزود لا يستقبل سوى الرسائل المشفرة unicode . idhttp.post لا يدعم ارسال الرسائل مشفرة unicode باستخدام السلاسل النصية Tstringlist . حاولت استخدام TStringStream باكثر من طريقة ولكن دون جدوى . استخدمت طرق متعدد لكن دون جدوى مثل كود : function GetData(aParam:TStringList; aurl:string):string;
var
req: TIdHTTP;
i: integer;
vars: string;
reqStream, responseStream :TStringStream;
begin
vars := '';
for i := 0 to aParam.Count - 1 do
begin
vars := vars + aParam.Names[i] + '=' + aparam.ValueFromIndex[i] + '&';
end;
reqStream := TStringStream.Create(vars);
responseStream := TStringStream.Create;
req := TIdHTTP.Create();
with req do
begin
Request.URL := aurl;
Request.ContentType := 'application/x-www-form-urlencoded';
Request.Method := 'POST';
Request.CharSet := 'UNICODE';
Request.AcceptCharSet := 'UNICODE';
end;
req.Post(aurl, reqStream,responseStream);
Result := responseStream.DataString;
reqStream.Free;
responseStream.Free;
req.Free;
end;أتمنـى من لديه طريقة او فكرة ان يخبرنا بها وله الشكر والتقدير |