![]() |
|
نقل الداتا من WebBrowser الى memo - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : نقل الداتا من WebBrowser الى memo (/showthread.php?tid=4567) |
نقل الداتا من WebBrowser الى memo - sa7er100 - 21-09-2012 السلام عليكم هذا الكود لاظهار الاي بي IP، كيف نقله الى عنصر memo او edit ؟ كود : form1.WebBrowser1.Navigate('http://automation.whatismyip.com/n09230945.asp');نقل الداتا من WebBrowser الى memo - محمد عبد العزيز - 22-09-2012 وعليكم السلام استخدم البحث قبل طرح سؤال جديد، راجع كل من كيف أعرف بوجود كلمة ما في صفحة على الانترنت ؟ http://www.delphi4arab.net/forum/showthread.php?tid=608 كيف يمكن الحصول على رقم ip الحقيقى بالدالفى http://www.delphi4arab.net/forum/showthread.php?tid=452 تحديد Ip الخاصة بالاتصال الانترنت, ليس IP الشبكة المحلب http://www.delphi4arab.net/forum/showthread.php?tid=1827 نقل الداتا من WebBrowser الى memo - S.FATEH - 22-09-2012 استخدام مكون اسهل بكثير لاحظ الموضوع http://www.delphi4arab.net/forum/showthread.php?tid=2141 نقل الداتا من WebBrowser الى memo - sa7er100 - 23-09-2012 راجعت البحث اخي ! لو وجدت ما طرحت السؤال لدي اكثر الاكواد تعمل بشكل جيد على دلفي 7 لكن عندما نقلت المشروع على xe2 واجهت مشاكل في بعض الاكواد كود : function GetHTML(const AURL: string): string;
var
sHead,sHost,sPage: string;
x,xCnt,xCntTotal: integer;
sock: TClientSocket;
ws: TWinSocketStream;
ss: TStringStream;
buff: array[0..4095] of char;
const
CrLf = #13#10;
begin
Result := '';
sHost := AURL;
x := Pos('//',sHost) ;
if x > 0 then
System.Delete(sHost,1,x+1) ;
x := Pos('/',sHost) ;
if x > 0 then
begin
sPage := Copy(sHost,x,Length(sHost)) ;
System.Delete(sHost,x,Length(sHost)) ;
end
else
begin
sPage := '/';
end;
sock := TClientSocket.Create(nil) ;
try
try
sock.ClientType := ctBlocking;
sock.Port := 80;
sock.Host := sHost;
sock.Open;
// set timeout to 20 seconds
ws := TWinSocketStream.Create(sock.Socket,20000) ;
ss := TStringStream.Create('') ;
try
sHead := 'GET ' + sPage + ' HTTP/1.0 ' + CrLf + 'Host: ' + sHost + CrLf + CrLf;
StrPCopy(buff,sHead) ;
ws.Write(buff,Length(sHead) + 1) ;
ws.Position := 0;
FillChar(buff,SizeOf(buff),0) ;
repeat
xCnt := ws.Read(buff,SizeOf(buff)) ;
xCntTotal := xCntTotal + xCnt;
ss.Write(buff[0],xCnt) ;
until xCnt = 0;
Result := ss.DataString;
finally
ws.Free;
ss.Free;
end;
except
end;
finally
sock.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ip: string;
begin
with TStringlist.Create do
try
Text := GetHTML('http://automation.whatismyip.com/n09230945.asp') ;
if Count > 0 then ip := Strings[Count - 1];
finally
Free;
end;
edit1.Text:= ip ;
end;نقل الداتا من WebBrowser الى memo - محمد عبد العزيز - 24-09-2012 إقتباس :راجعت البحث اخي ! لو وجدت ما طرحت السؤالكل من الروابط الاربع السابقة تجيب على السؤال فان لم تفهم ذلك موضوع اخر إقتباس :تعمل بشكل جيد على دلفي 7 لكن عندما نقلت المشروع على xe2 واجهت مشاكلأولا لم تذكر اصدار دلفي بأول مشاركة انه XE2 ثانيا لسنا منجمين لكي نعرف ما هي المشاكل التي تواجهك، لم تذكر ادنى معلومة: ماهو المشكل/رسالة الخطأ إن وجدت... دائما حاول ذكر كل التفاصيل لتربح وقتك ووقت غيرك نعود للمثال المكتوب فوق: 1- استخدمت TClientSocket مكونات Socket غالبا تكون غير مثبتة مع اصدارات دلفي 6 وما فوق على ما اتذكر لتثبيتها بدلفي XE2 إتبع ما يلي: - من القائمة Component اختر Install Packages - في Install Packages انقر الزر Add - اذهب للمجلد \bin لدلفي XE وغالبا ما يكون بالمسار \Program Files\Embarcadero\RAD Studio\9.0\bin - اختر الملف dclsockets160.bpl ثم Open - ثم OK ثم Install Packages - الى هنا تم تثبيت مكونات Socket بدلفي XE2 2- تبقى TClientSocket غير معرفة عليك باضافة System.Win.ScktComp بقائمة ال uses باعلى الملف المصدري لمشروعك 3- المشروع ينفذ دون اخطاء والنتيجة غير صحيحة دلفي 2009 وما فوق يتعامل مع النصوص String على انها نصوص Unicode اي WideString نفس الشيئ بالنسبة للحروف Char بالمثال فوق ابحث عن كل من String غيرها بAnsiString Char غيرهابAnsiChar هذا كل شيئ، جرب: نفذ، بالتوفيق نقل الداتا من WebBrowser الى memo - sa7er100 - 24-09-2012 B.M.AbdelAziZ بارك الله فيك اخي شكراا لجهودك |