السلام عليكم
اعتقد ان الموضوع مهم لكون يبحث عنة بعض الاعضاء وتكرر السوال عليه
اليكم الفكرة هو عبارة عن عرض ملفات خارجية بواسطة عناصر تحكم توفر هذة الخاصية
اليكم المثال التالي عبارة عن ملف برنامج قم بالنسخ واللصق في برنامج ثم قم بالحفظ والتشغيل
الكود هو
CLOSE ALL
PUBLIC opdfview
opdfview =NEWOBJECT("pdfview")
opdfview .Show()
RETURN
DEFINE CLASS pdfview AS form
Autocenter = .T.
Height = 520
Width = 741
Caption = "pdfview"
Name = "Form1"
backcolor=16744576
cPdfName = "=SPACE(0)"
nLoadTimeout = 30
ADD OBJECT txtpdfname AS textbox WITH ;
Top = 471, Left = 108, Height = 23, Width = 492, ;
ReadOnly = .T., Name = "txtPdfName",anchor=176
ADD OBJECT command1 AS commandbutton WITH ;
Top = 469, Left = 623, Height = 27, Width = 84, ;
Caption = "ÚÑÖ ÇáãáÝ", Name = "Command1",anchor=176
ADD OBJECT showw AS olecontrol WITH ;
Top = 24, Left = 12, Height = 433, Width = 709, ;
OleClass = "Shell.Explorer.2", Name = "showw",anchor=240
ADD OBJECT label1 AS label WITH ;
Height = 17, Left = 36, Top = 474, Width = 63, ;
Caption = "ÝÊÍ ãáÝ", Name = "Label1", backcolor=16744576,anchor=176
PROCEDURE Refresh
NODEFAULT
ENDPROC
PROCEDURE Showfile
LOCAL lnSeconds
Thisform.showw.OBJECT.Navigate2("About:Blank")
lnSeconds = SECONDS()
DO WHILE (Thisform.showw.OBJECT.Busy OR Thisform.showw.OBJECT.ReadyState <> 4) ;
AND (SECONDS() - lnSeconds) < This.nLoadTimeout
DOEVENTS
ENDDO
WAIT WINDOW NOWAIT "ÌÇÑí ÝÊÍ ÇáãáÝ ........."
Thisform.showw.OBJECT.Navigate2(Thisform.cPdfName)
lnSeconds = SECONDS()
DO WHILE (Thisform.showw.OBJECT.Busy OR Thisform.showw.OBJECT.ReadyState <> 4) ;
AND (SECONDS() - lnSeconds) < This.nLoadTimeout
DOEVENTS
ENDDO
WAIT CLEAR
ENDPROC
PROCEDURE command1.Click
Thisform.cPdfName = GETFILE("pdf")
Thisform.txtPdfName.Value = Thisform.cPdfName
IF NOT EMPTY(Thisform.cPdfName)
Thisform.Showfile()
ENDIF
ENDPROC
ENDDEFINEولاتنسوا يجب ان يكون مثبت لديكم adobereader
والبرنامج في المرفقات فك الضغط وشغلوه فقط ويمكن اضافتة لبرنامجكم وايضا يمكن تكبير النموذج او العرض
تحياتي للجميع
