قواعد المشاركة في المنتدى

(منتدى الأكسس) الموضوع:كيفية عمل أو صياغة شرط بين ثلاثة حقول بواسطة: (slamco) :: (قسم الاعلانات) الموضوع:اسعار واشكال الرخام والجرانيت بمصر بواسطة: (الكوبرا للرخام) :: (منتدى الأكسس) الموضوع:اظهار رسالة تنبيه الشبكة مفصولة تأكد من توصيل كابل الشبكة بواسطة: (sameh awad) :: (قسم الاعلانات) الموضوع:جامعة بابل University of Babylon بواسطة: (اسامة الاحمر) :: (قسم الاعلانات) الموضوع:مناديب مياه امجاد 0551610999 متواجدون على مدار الساعة بجميع مناطق المملكة بواسطة: (اسامة الاحمر) :: (قسم الاعلانات) الموضوع:ماكينة البصمه المزودجه موديل DS100 بواسطة: (ماكس ايجى) :: (منتدى برمجة الجرافكس) الموضوع:تصميم فيديوهات الموشن جرافيك مع أطياف بواسطة: (جرافيرو109) :: (أخبار التكنولوجيا) الموضوع:اسعار الكلادينج بمصر واجهات كلادينج تكنوبوند بواسطة: (قمم الاعمار) :: (قسم الاعلانات) الموضوع:سارعوا بالاشتراك في أقوى دورة فوتوشوب للمبتدئين بواسطة: (اسامة الاحمر) :: (منتدى الأكسس) الموضوع:شرح جعل النموذج ياخد حجم الشاشة بطريقة تلقائيه بدون اكواد بواسطة: (xhanyx) :: (منتدى الأكسس) الموضوع:شرح عمل تقرير لاخراج متوسط السعر لاصناف فى الاكسس والاكسل بواسطة: (xhanyx) :: (قسم الاعلانات) الموضوع:أجهزة حضور والانصراف بالبصمة و الكارت ماركة ID WATCHER موديل IDF5000A بواسطة: (eng sara) :: (قسم الاعلانات) الموضوع:خط انتاج الفحم المضغوط تصنيع الشركة العصرية للصناعات الهندسية بواسطة: (asma79) :: (قسم الاعلانات) الموضوع:استثمر بذكاء واحجز شقتك في دبي ب10.000 درهم فقط بواسطة: (Aqarpost) :: (اقتصاد) الموضوع:احدث تشكيلات مظلات المدارس والسيارات من غاية الافكار الشركة الرائدة بواسطة: (rwan rwan) :: (قسم الاعلانات) الموضوع:خدمات نقل العفش والنظافة العامة ومكافحة الحشرات بواسطة: (اسامة الاحمر) :: (قسم الاعلانات) الموضوع:لزيادة دخلك اكتشف السر مع alphacmarkets.com بواسطة: (اسامة الاحمر) :: (قسم الاعلانات) الموضوع:احدث صور غرف نوم مودرن 2017_2018 معرض الكامل للاثاث بدمياط بواسطة: (رمز الهنا) :: (منتدى الأكسس) الموضوع:مشكلة الاكسيس والكوم بورت بواسطة: (aksaazza) :: (قسم الاعلانات) الموضوع:اوفر خط انتاج مياه معدنيه باعلي جوده من ماستر تك بواسطة: (الاء الحناوي)


راديو القرآن

المواضيع المثبته: (منتدى الكتب الالكترونية) الموضوع:كتاب كامل من جزئين يشرح access وبالتفصيل وقواعد البيانات وبالتفصيل بواسطة: (m.i.a.r) :: (منتدى الكتب و المقالات) الموضوع:هل فكرت يوما أن تستغني عن شريط أوامر الأكسيس ؟ بواسطة: (alasomed) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:DECODE SQL STATMENT بواسطة: (mshaqalaih) :: (منتدى برمجة الألعاب) الموضوع:مجموعة من مشاريع الالعاب بواسطة: (مصطفي البارودي) :: (منتدى ADO.NET العام) الموضوع:ربط قاعدة البيانات والفرق بين الوضع المتصل والوضع المنفصل وشرحها بالتفصيل بواسطة: (علاء عبدالخالق) :: (منتدى Borland Delphi) الموضوع:تحويل الأرقام إلى نص بواسطة: (مهند عبادي) :: (منتدى مبرمجي لغة جافا JAVA) الموضوع:شرح أكواد الجافا بواسطة: (الردادي) :: (قسم الدروس و الدورات) الموضوع:دورة شاملة في VB.Net المستوى الأول بواسطة: (مهند عبادي) :: (منتدى مبرمجي ASP) الموضوع:برنامج اختبارات للجامعات بواسطة: (عبدالله جابر شقليه) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:يجب المرور هنا للأهمية بواسطة: (وليد القدسي) :: (منتدى برمجة الألعاب) الموضوع:تصميم الألعاب باستخدام game maker بواسطة: (Bahr ahmodah) :: (قسم الدروس و الدورات) الموضوع:لتحميل مجموعة امثله على الفيجوال بيسيك دوت نت 2005 بواسطة: (HnHn) :: (منتدى مبرمجي ASP.NET) الموضوع:كيفية قرائة الصحف الإلكترونية والكتب والمجلات عبر الانترنت بواسطة: (عبدالله جابر شقليه) :: (القسم العام) الموضوع:كل موضوع تم شرحه فيديو هنا بواسطة: (startnet) :: (منتدى مبرمجي Microsoft Visual C#.NET) الموضوع:موقع جيد به Tutorials و مشاريع مفتوحة المصدر بواسطة: (يوسف) :: (منتدى الكتب و المقالات) الموضوع:الشرح الكامل التفصيلي المصور لمعرفة نسخة الأكسيس وتخفيض الأمان برمجيا بواسطة: (zahrah) :: (منتدى البرامج) الموضوع:شروط وضع المواضيع في قسم البرامج بواسطة: (kkarem55) :: (منتدى مبرمجي Microsoft Visual VB.NET) الموضوع:دورة في LINQ To DataSet بواسطة: (jbsa) :: (منتدى برمجة التقارير) الموضوع:كتاب كريستال ريبورت بواسطة: (شهرزاد) :: (منتدى مبرمجي ASP.NET) الموضوع:Visual Web Developer 2010 Express بواسطة: (يوسف جميل جادالله)

عدد الصفحات : 4  1  2  3  4   > » موضوع مغلق إضافة موضوع جديد

> تحزين سجلات داخل ملفات اكسل و xml وورد ..إلخ
Bookmark and Share
تقييم الموضوع Label معدل التقيم:0
مشاركةالأربعاء,29/محرم/1426 هـ,10:45 مساءً
المشاركة #1

مدير منتديات المحيط العربي
الرتبة في المنتدى:عماد



المجموعة: الإدارة
المشاركات: 3905
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:فلسطين
رقم العضوية: 1



السلام عليكم
في بعض الأحيان نحن نحتاج إلى تحزين بعض السجلات من قواعد البيانات داخل ملفات ورد واكسل و xml وغيرها من الملفات، ويتم تخزين هذه الملفات عن طريق استخدام كائن file system object الذي سوف يقوم بإنشاء الملفات التي نريدها.
في الكود التالي سوف نقوم بعرض بيانات من جدول وتخزينها داخل ملف اكسل:

كود:


<html dir="rtl">

<body bgcolor="#FFFFFF">
<%

accessdb="state_info"


cn="DRIVER={Microsoft Access Driver (*.mdb)};"
cn=cn & "DBQ=" & server.mappath(accessdb)


Set rs = Server.CreateObject("ADODB.Recordset")


sql = "select state,statename,capital,year,order from states "


rs.Open sql, cn




name_file= "states.xls"

set fso = createobject("scripting.filesystemobject")


Set act = fso.CreateTextFile(server.mappath(name_file), true)


act.WriteLine("<html><body>")
act.WriteLine("<table border=""1"">")
act.WriteLine("<tr>")
act.WriteLine("<th nowrap>State</th>")
act.WriteLine("<th nowrap>Abbreviaton</th>")
act.WriteLine("<th nowrap>Capital</th>")
act.WriteLine("<th nowrap>Year Entered</th>")
act.WriteLine("<th nowrap>Entrance Number</th>")
act.WriteLine("</tr>")



do while not rs.eof
Act.WriteLine("<tr>")
act.WriteLine("<td align=""right"">" & rs("statename") & "</td>" )
act.WriteLine("<td align=""right"">" & rs("state") & "</td>" )
act.WriteLine("<td align=""right"">" & rs("capital") & "</td>")
act.WriteLine("<td align=""right"">"& rs("year") & "</td>")
act.WriteLine("<td align=""right"">"& rs("order") & "</td>")
act.WriteLine("</tr>")


rs.movenext

loop



act.WriteLine("</table></body></html>")



act.close



response.write "<a href='states.xls'>States</a> (.xls) تم إنشاء ملف " & now() & "<br>"

%>

</body>
</html>




بعد أن قمنا بعمل الاتصال بقاعدة البيانات وتحديد الجدول الذي سوف يتم تخزين السجلات داخل ملف اكسل.
حيث قمت بتخزين داخل المتغير name_file اسم الملف الذي شوف نقوم بإنشائه، مع تحديد امتداد الملف الذي سوف نقوم بإنشائه وهو ملف اكسل، واسم الملف الذي سوف نقوم بإنشائه هو states.xls


كود:

set fso = createobject("scripting.filesystemobject")

هنا نحدد الطريقة التي سوف نقوم بإنشاء الملفات عن طريقها وهي كائن file system object.
Set act = fso.CreateTextFile(server.mappath(name_file), true)
هنا سوف نضع المتغير act بأن يقوم بإنشاء الملف عن طريق الخاصية CreateTextFile ، مع تحديد اسم الملف الذي سوف نقوم بإنشائه، وهو الملف المخزن داخل المتغير name_file

كود:


act.WriteLine("<html><body>")
act.WriteLine("<table border=""1"">")
act.WriteLine("<tr>")
act.WriteLine("<th nowrap>State</th>")
act.WriteLine("<th nowrap>Abbreviaton</th>")
act.WriteLine("<th nowrap>Capital</th>")
act.WriteLine("<th nowrap>Year Entered</th>")
act.WriteLine("<th nowrap>Entrance Number</th>")
act.WriteLine("</tr>")



حيث هنا بعد أن يتم إنشاء الملف على السيرفر، سوف يتم بدء بكتابة البيانات داخل الملف الذي تم إنشائه.
حيث act.WriteLine سوف تقوم بعملية الطباعة داخل الملف.
حيث في هذا الكود سوف يتم إنشاء العناوين للسجلات التي سوف نقوم بإنشائه.


كود:

do while not rs.eof
Act.WriteLine("<tr>")
act.WriteLine("<td align=""right"">" & rs("statename") & "</td>" )
act.WriteLine("<td align=""right"">" & rs("state") & "</td>" )
act.WriteLine("<td align=""right"">" & rs("capital") & "</td>")
act.WriteLine("<td align=""right"">"& rs("year") & "</td>")
act.WriteLine("<td align=""right"">"& rs("order") & "</td>")
act.WriteLine("</tr>")


rs.movenext

loop




خيث هنا سوف نستخدم do while not rs.eof لعرض جميع السجلات.
وبعدها سوف يتم طباعة السجلات داخل الجدول.
وبعد أن يتم إنشاء جميع السجلات التي نريدها نقوم بإعلاق الملف الذي قمنا بإنشائه.
act.close
حيث أنها سوف تحدد بأنه تم الإنتهاء من إنشاء الملف.

CODE
response.write "<a href='states.xls'>States</a> (.xls) تم إنشاء ملف " & now() & "<br>"


هنا سوف يتم وضع رابط للملف الذي قمنا بإنشائه حتى تستطعون من تحميلها بعد أن تم إنشائه.

هكذا نكون قد انتهينا من كيفية إنشاء ملف اكسل.
وهذه نفس الطريقة لإنشاء ملف الورد، فقط كل ما عليك هو تغير امتداد الملف الذي نريد إنشائه بدل من الامتداد xls إلى doc.
ونفس الشئ لإنشاء ملف html فقط قم بوضع الامتداد.

وأيضاً لإنشاء ملف xml تتم بنفس الكود الذي بالأعلى، ولكن الاختلاف هو بدل من أن وضعنا كود ال html الجداول داخل الملفات فقط سوف نقوم بكتابة كود xml، ولكم التغيير:



كود:

<html>

<body bgcolor="#FFFFFF">
<%

accessdb="state_info"


cn="DRIVER={Microsoft Access Driver (*.mdb)};"
cn=cn & "DBQ=" & server.mappath(accessdb)


Set rs = Server.CreateObject("ADODB.Recordset")


sql = "select state,statename,capital,year,order from states order by states.order "


rs.Open sql, cn





name_file= "states.xml"


set fso = createobject("scripting.filesystemobject")


Set act = fso.CreateTextFile(server.mappath(name_file), true)


act.WriteLine("
CODE PHP:
<?xml version=""1.0""?>")
act.WriteLine("<states>")


do while not rs.eof


counter=counter+1

act.WriteLine("<state id="""& counter &""">")
act.WriteLine("<state_abbrev>" & rs("state") & "</state_abbrev>" )
act.WriteLine("<state_name>" & rs("statename") & "</state_name>" )
act.WriteLine("<state_capital>" & rs("capital") & "</state_capital>")
act.WriteLine("<year_admitted>"& rs("year") & "</year_admitted>")
act.WriteLine("<order_admitted>"& rs("order") & "</order_admitted>")
act.WriteLine("</state>")


rs.movenext
loop


act.WriteLine("</states>")



act.close


response.write "<a href='states.xml'>States</a> (.xml) تم إنشاء الملف<br>"
response.write "on " & now() & "<br>"
%>

</body>
</html>




لا يوجد هناك فرق كبير سوى بدل أن قمنا بوضع كود ال html لإنشاء الملف قمنا باستبداله بكود ال xml.
أرجوا أن يكون هذا الدرس قد أفادكم، وأي ملاحظات او استفسار لا تترددوا بالكتابة.
مع تحياتي


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالسبت,09/فر/1426 هـ,05:01 مساءً
المشاركة #2

مشرف منتدى تصميم صفحات الويب
الرتبة في المنتدى:مقدم

أيقونة المجموعة

المجموعة: المشرفين القدامى
المشاركات: 514
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:السعودية
رقم العضوية: 88



أخي عبدالله حاولت أطبق هذا الدرس

ونسقت هذا الكود


كود:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1256"%>

<html dir="rtl">

<body bgcolor="#FFFFFF">
<!--#include file="conn.asp" -->

<%


id=request.QueryString("id")
set rs=cn.execute("select * from student where class_id="&id&"")







name_file= "states.xls"

set fso = createobject("scripting.filesystemobject")


Set act = fso.CreateTextFile(server.mappath(name_file), true)


act.WriteLine("<html><body>")
act.WriteLine("<table border=""1"">")
act.WriteLine("<tr>")
act.WriteLine("<th nowrap>اسم الطالب</th>")
act.WriteLine("</tr>")



do while not rs.eof
Act.WriteLine("<tr>")
act.WriteLine("<td align=""right"">" & rs("student_name") & "</td>" )
act.WriteLine("</tr>")


rs.movenext

loop



act.WriteLine("</table></body></html>")



act.close

response.write "<a href='states.xls'>States</a> (.xls) تم إنشاء ملف " & now() & "<br>"
%>

</body>
</html>



لكن يبدو لي في مشكلة لأنه يحمل بطيء وفي الأخير لا يظهر شي ؟؟؟

أرجو إفادتي .. وشكرا
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالسبت,09/فر/1426 هـ,05:11 مساءً
المشاركة #3

مدير منتديات المحيط العربي
الرتبة في المنتدى:عماد



المجموعة: الإدارة
المشاركات: 3905
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:فلسطين
رقم العضوية: 1



السلام عليكم
أخ alanees ربما انه يوجد لديك مضاد للفيروسات ومما يؤثر لعملية انشاء ملفات جديدة.
قم بوقف الفحص التلقائي لبرنامج المضاد للفيروسات ومن ثمه قم بتشغيل الصفحة وسوف تشاهد النتيجة بعدها.


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,19/فر/1426 هـ,06:00 مساءً
المشاركة #4

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 20
سجل في:الأحد,23/شوال/1425 هـ,08:08 مساءً
الدولة:فلسطين
رقم العضوية: 732



بارك الله فيك أخي الفاضل
وأنار الله بصيرتك بالخير

اريد ان استفسر اخي الفاضل عن اعداد التقارير
بالASP ... كيف يتم إعداد تقارير بالASP
هل يستخدم فيها مثل هذا الدرس
بأن أحفظ البيانات في ورد مثلا ثم يقوم بطاعتها

ولا هناك طريقة أخرى

أتمنى أن توضوحوا الأمر
وبارك الله فيكم


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,19/فر/1426 هـ,06:47 مساءً
المشاركة #5

مدير منتديات المحيط العربي
الرتبة في المنتدى:عماد



المجموعة: الإدارة
المشاركات: 3905
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:فلسطين
رقم العضوية: 1



أخت حفيدة السلف يتم استخدام ذلك عن طريق كرستال ريبورت 9 أو اصدار أعلى ويتم عمل كود لعملية استدعاء الملف الخاص للكرستال.


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,19/فر/1426 هـ,06:52 مساءً
المشاركة #6

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 20
سجل في:الأحد,23/شوال/1425 هـ,08:08 مساءً
الدولة:فلسطين
رقم العضوية: 732



طيب ياليت تكتب الطريقة
وأكون شاكره لك
وبارك الله فيك


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,19/فر/1426 هـ,07:25 مساءً
المشاركة #7

مدير منتديات المحيط العربي
الرتبة في المنتدى:عماد



المجموعة: الإدارة
المشاركات: 3905
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:فلسطين
رقم العضوية: 1



تفضلي اختي حفيدة السلف هذا الكود الخاص بال asp مع الكرستال ريبورت 9

 كود
<%

Option Explicit

' Open the Report
Dim Report
Set Report = CreateObject("CrystalClientDoc.ReportClientDocument")
Report.Open "C:\Temp\Sorts.rpt"

' Retrieve the customer name field object
Dim field, fieldIndex
fieldIndex = Report.Database.Tables(0).DataFields.Find("Customer Name", 0)
Set field = Report.Database.Tables(0).DataFields(fieldIndex)

' Create a new sort based on the customer name field
Dim sort
Set sort = CreateObject("CrystalReports.Sort")
sort.SortField = field

' Remove the sort previously defined in the Report file
Report.DataDefController.SortController.Remove(0)

' Add the new sort
Report.DataDefController.SortController.Add 0, sort

Dim viewer
Set viewer = CreateObject("CrystalReports.CrystalReportViewer")
viewer.ReportSource = Report.ReportSource

viewer.ProcessHttpRequest Request, Response

%>




--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالثلاثاء,19/فر/1426 هـ,08:06 مساءً
المشاركة #8

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 20
سجل في:الأحد,23/شوال/1425 هـ,08:08 مساءً
الدولة:فلسطين
رقم العضوية: 732



ربنا يسعدك ويرضى عنك
ويعطيك حتى يرضيك
بالفعل ليس كل منتدى للبرمجة هو منتدى رائع
وهذا المنتدى بالفعل رائع

جزاك الله كل الخير


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأحد,24/فر/1426 هـ,04:09 مساءً
المشاركة #9

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 20
سجل في:الأحد,23/شوال/1425 هـ,08:08 مساءً
الدولة:فلسطين
رقم العضوية: 732



أخي الفاضل عبد الله
بارك الله فيك
بس أتمنى أن تشرح لنا الكود الخاص بالتقارير
شرح موجز .. لشو كل جملة
وهل يوجد اختلاف بين Crystal 8 , 9

وجزاك الله كل الخير


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأحد,24/فر/1426 هـ,05:32 مساءً
المشاركة #10

مدير منتديات المحيط العربي
الرتبة في المنتدى:عماد



المجموعة: الإدارة
المشاركات: 3905
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:فلسطين
رقم العضوية: 1



سوف أضع لك كود أفضل منه وأبسط بكثير


 كود

<%
Dim Viewer
Set Viewer = CreateObject("CrystalReports.CrystalReportViewer")
Viewer.ReportSource = "RAS://C:\SecuredReportWithParam.rpt"

' Set the database logon credentials, in this case for the first
' table in the report, which then propagates across any
' subsequent tables in the report
Viewer.DatabaseLogonInfos(0).UserName = "user id"
Viewer.DatabaseLogonInfos(0).Password = "password"

' Set the value of the first parameter field to a string. Other
' data types such as numbers and boolean values can be set
' here as well.
Viewer.ParameterFields(0).CurrentValues.Add "USA"

%>

الكود التالي:
 كود
Set Viewer = CreateObject("CrystalReports.CrystalReportViewer")

هنا سوف نستخدم الكائن الخاص في الكرستال ريبورت، فهكا أصبح المتغير Viewer من نوع CrystalReports.CrystalReportViewer.

 كود
Viewer.ReportSource = "RAS://C:\SecuredReportWithParam.rpt"


هنا تحددي مسار الوصول لملف الريبورت.

 كود
Viewer.DatabaseLogonInfos(0).UserName = "user id"
Viewer.DatabaseLogonInfos(0).Password = "password"


في حالة وجود يوزر نيم وباسورد لقاعدة البيانات ، من خلاها تستطيعي من وضع اليوزر نيم والباسورد.

 كود
Viewer.ParameterFields(0).CurrentValues.Add "USA"

هنا تقومين بتمرير قيم للمتغيرات التي وضعيه في الكرستال لعملية الاستعلام.

وكما تشاهدين في المسار لقد تم وضع RAS وهذا لكي تبين أنك تستخدم Report Application Server.
وأيضاً ملف الكرستال ريبورت يجب أن يكون الامتداد له RPT.

مع التحية


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة

    

عدد المتصفحين لهذا المنتدى «1»: (الضيوف «1» - المتخفون «0»)
الأعضاء «0»: .

عدد الصفحات : 4  1  2  3  4   > » موضوع مغلق إضافة موضوع جديد



 
الوقت الأن:اليوم,10:38 مساءً بتوقيت القدس المحتلة

Powered By arabmoheet v3.1

منتديات المحيط العربي  -  راسلنا  -   أعلى
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)