delphi4arab منتديات دلفي للعرب
ارسالة 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;

أتمنـى من لديه طريقة او فكرة ان يخبرنا بها وله الشكر والتقدير