Download as pdf or txt
Download as pdf or txt
You are on page 1of 215











Asp




١
 .


 ،‫"א!   א‬#$%&'‫ א א‬، ‫ אאא‬


 .()$*+, *-%& ./
 29#‫א‬:834;<=‫א‬0(12$ 34*5(678047 4‫א‬
4 ‫<א‬6$25EF‫א‬G H‫?&א‬.I%&>?5@A5B‫אא‬C4D...($
J ‫?א&א‬M N O‫?א‬P Q‫א‬R0(5S5T ...vb4arabJK5L
X5‫א‬U83$*6??Y AspOWRM‫א?א‬IR0(5‫א‬U8DV8
 .RM‫א?א‬I ٦N O‫?א‬P Q‫א‬L
  ‫ אאא
  א   א  א‬

;E ،‫א‬.DA‫?א‬,* D;E.D،3‫ א‬QA5B‫אא‬CY;?BK;$‫א‬O[$
 .0 ‫?א א‬U8>\]‫ אא‬،;^ _‫` א‬Q.D[^W


 .O(‫&א‬Q WO)$: E?W$
Hammada2091@Hotmail.com

٢
Visual Basic 6.0

٣


٤
−dEH?4Y1 5KF‫א‬J‫^?א‬e‫ א‬Y‫?א א‬YSoftware Anylsis b‫א‬0 c;8
 i ،+6‫א‬g‫א‬h‫>א‬$L !‫ א‬U !‫^?א‬e‫א‬4$R− (‫א‬g‫א‬h‫א‬L0M7‫א‬%&
;$(j7‫א‬CY78،3‫א‬6dk‫א‬l?‫?א‬Y‫;א‬:m3K?n _‫>?>א‬C‫א‬gh‫;א‬$
 . b‫א‬0 cJ ‫א‬%&(Kb`

 . ‫"! א‬#$‫א‬%
 :Op‫א‬0 %&4،J‫ <א‬.‫א‬K(‫^?א‬e‫א‬nCYD?o
 .'b‫א‬,&DE%&# XbK?Bo*
 .gh‫*א‬W<P >C‫א‬4r‫ א‬2M?dEs +,Ko*
 .9te‫א‬J‫א‬K5‫א‬O? ‫;א‬:mRju ‫א‬0M'b‫א‬,&0EE[5‫*א‬
 .'b‫< א‬6K?^ovtO L $[^Ww   L?40K(5‫ א‬B‫*א‬
 .0.(‫א‬J&?.ILO.&x`(M‫ א‬RKy?o*

 .'(‫) א א‬
"?DNY:&2iz2 ‫א‬:8 ،'b‫א‬z0BN( 5‫א‬E[5 M0.( ‫א‬0M
 .{W!‫א‬0 +5‫א‬0 ‫א‬L3 74bo
JW‫`א‬Y،'b‫א‬0.&( t| ،'b‫א‬4 D{oF‫א‬b‫}? א‬E[o
Nb4'?K;$RM?5KF‫א‬J .(‫א‬#'b‫א‬J .&N4(M?5KF‫א‬J6~‫ א‬، 5‫א‬
 .N:di $ K<T $  J .(E ‫ &*?א‬
 .3‫א‬6 4N:di J ‫א‬M\H‫* א‬o  .E 'b‫  \א‬D(NCE

 .'(‫א א‬
،2EH?‫א‬H‫ €\א‬g _m−3Q+V $.E−‫;א‬:m'?"?H ‫א‬nCYL
 . ‫א‬J‫^?א‬e‫א‬L ‫א‬0M*^K>C‫א‬،gh‫א א‬H'?"?‫א‬C]

٥
 .  ‫ *א‬+
&4V& −4&J?(‫א‬DE−4o .E YH($ 0‫א‬L\?6?‫א‬RX‚‫א‬R )K<T*
 .(„‫א‬...n −J‫א‬d&) ‫  א‬M2c4_5‫א‬,(‫א‬DV‫ א‬5K.E،v^‫א‬
 .D?5‫א‬RX‚‫א‬J .EL− E[o0B−†‡oF‫ א_א  א‬R ‫א‬J .&C Qo*
 .A 0ERX‚K<T (J( ‫ ) `א‬4o?( K\H?‫ˆ א‬$DV‫*א‬
 .J( ‫  `א‬،RX‚‫ א‬l‫ &א!?א‬. ‫ א_א‬R ‫א‬J .&&KHo*
 .*DW J( ‫&א‬KHo*

 :',)-.‫א‬/0.‫א‬
 .&‚‫א‬J?(DEOW\7##v^5oRX‚‫א‬DV‫*א‬
 .−K\H?‫א‬−J( ‫  `א‬l‫?א‬x!‫‰א‬Q *
 . ‫א‬# .& $،R  .&DV‫*א‬

 :',)-.‫א‬/ 234.‫א‬
J .B‫ א‬RX‚‫(Šא‬J## ،RX‚‫ א‬J( .KH5‫?&א‬.I`Y(M?5‫א‬J6~‫א‬
 .N:di

J‫^?א‬W‹_'?M$* D>1"?F‫א‬J .(‫ א‬،'b‫"א‬Y\c(K‫אא‬nCY;8
 :−K< Œ7‫א‬k−RK‫אאא€א‬CYU8N $;[`Q5E‫ א‬، b‫א‬0 c
 http://www.netnam.vn/unescocourse/sys_ana_des/21.htm
k\?6?4 r‫א‬B ،27‫א‬B#%&RM‫ א?א‬G H‫א‬K<%&H?p(‫א‬NBj
 .− (‫א‬k€‫א‬H%&p&$Ž−K< Œ7‫א‬

RIhERD DFDK?BoR ^5o;‫א‬NmD،‫אא€א‬%&2(t‫א‬M2E‫א‬:8
 .3KH6‫? ‰א‬4D‫א‬C ،H ‫א‬dL3KH V‰ ‫א‬CYB ،.4@

dJ‫^?א‬WD(365/O‫א‬y*mD،ghDFDK?Bo\‫א‬H$ ،€‫אא‬%&Rt‫ א‬
 .gh‫א‬d€‘:?’J‫^?א‬e‫א‬nCY;?Bo;$BjK‫אא‬L،gh‫א‬

٦
 .K\H?‫א‬O 6L4K<T−\H?‫א‬J OW\‫*א‬
 .\H?‫א‬J :?^e‫א‬nCYLA?^
 .l‫א!?א‬O 6L4K<T−l?‫א‬J OW\‫*א‬
 .l?‫א‬J :?^e‫א‬nCYLA?^
 .RX‚‫א‬O 6L4K<T−&‚‫א‬J OW\‫*א‬
 .4&?+Y\H?+&‚‫א‬J :?^e‫א‬nCYLA?^
 .&‚%&R  .& ^o*
 .&‚‫א‬+R ‫ א‬.&J :?^e‫א‬nCYLA?^
 .(RX‚‫&\א‬%&0.5_oB‫ א_א א‬.& )&‚%& ‫א‬# .& ^o*
 .&‚‫א‬+ ‫ א_א‬.&J :?^e‫א‬nCYLA?^
 .;<~‫א‬L\?6?‫א‬RX‚KoŠ&*
 .4 & ‫ א_א‬R ‫א‬J .&+l‫ א!?א‬K\H?‫ א‬RX‚‫א‬J :?^e‫א‬nCYLA?^
 .l‫א!?א‬KoŠ&*
 .4 & ‫ א_א‬R ‫א‬J .& *(X‚J +l‫א!?א‬J :?^e‫א‬nCYLA?^
 .K\H?‫א‬KoŠ&*
 .4 & ‫ א_א‬R ‫א‬J .& *(X‚J +K\H?‫א‬J :?^e‫א‬nCYLA?^
 .D%& $`? ‫א‬K5‫*&Šא‬
 .]W2•F‫ א_א א‬R ‫א‬J .&+Q‫ א‬$'? ‫”א‬KHo:?^e‫א‬nCYLA?^

 .‫א‬J .(‫א‬vi$L3‚K‫"א‬C=‫ א‬0K(5‫–א‬4DDV7‫`א‬Y.E
 .0pgh{W$,&3‚K$–Y
 .|+‫א‬J .&*
 .*DW 2EH?‫א‬J?( .J ‫&א‬MK*
 .J ‫?א&א‬M\‫א‬d5‫*” א‬

 ،gh—WDFDK?BoR ^5o‫א‬CBY

 .ERDK?Bo`Y  5‫א א‬U8O57‫א‬0M{W$ Q, 0 ‫א;† א‬%o7

٧
 .ERD
 :`Y ?^‫א‬J ‫˜א‬Q ,&5;$R ^5‫א‬gh‫א‬d
 .K\H?‫א‬J O 6*
 .l‫א!?א‬J O 6*
 .RX‚‫א‬J O 6*
 . ‫ א_א‬R ‫א‬J .&O 6*
 .N:di 0‫א‬J?( K.=—e‫?א‬Y W-LV‫א‬O 6 *

 :‫א‬O ‫א‬r‫ א‬5‫א‬JM(‫א‬P .E
 .(RX‚‫?&א‬.I\H?K ‫\ א‬H?)RX‚‫ א‬K\H?‫א‬One-ManyM&*
 .(RX‚‫?&א‬.I>?@ ‫ א‬l?)RX‚‫ א‬l‫א!?א‬One-ManyM&*
L0WK ‫™‚& א‬,) ‫ א_א‬R ‫א‬J .& RX‚‫א‬One-ManyM&*
 .( ‫ א_א‬R ‫א‬J .&K(‫א‬

 :,e‫א‬J ‫—&א‬e‫א‬ERDsV?oH?‫א‬nCY



٨
&ML3 745DV7 ˆ!3‫&א‬D;‫א‬C'<5 ،O 60E0W‫\א‬O?=‫ א;{א‬
 .J ‫א‬

 Tb_Factory;6‫א‬.8(9.‫א‬: 2:56 7
 :O?=‫א‬
NCE،`Xo Mo−Auto Numberl??Y ،\H?‫ א‬MHNumber* 
 .` XH‹5Q−Primary Key?4D
Field Size0=‫א‬O?t ،S−Textl?‫?א‬Y ،\H?‫א א‬:Name* 
 .3p٣٠%&K<K;$`kK7

 Tb_Category;6‫א‬.=‫א>א‬: 2:5 ! <
 :O?=‫א‬
NCE،`Xo Mo−Auto Numberl??Y ،l?‫ א‬MHNumber* 
 .` XH‹5Q−Primary Key?4D
Field Size0=‫א‬O?t ،S−Textl?‫?א‬Y ،\H?‫א א‬:Name* 
 .3p٣٠%&K<K;$`kK7

s V?5'?K0=‫אא‬CY ،7/ (−Yes/Nol?View ‫א‬2c0 3‚K$™ ‚
*DC  5K 4>$2c&‚W-245‫אא‬:8%5 N: ، 4DC  5KKC‫א‬l‫ א!?א‬$K\H?‫א‬
 .O r‫ א‬B
&‚W-"C  5K%5 35M‡False. M0=‫אא‬CYCW[K"?"C=‫&א‬:W-%( $
 .l?‫ א‬$\H?‫"א‬C@"?€D=‫א‬nCYL،*5cRo

 Tb_Product;6‫א‬.?$ @ ‫א‬: 2:5 <
 :O?=‫א‬
NCE،`Xo Mo−Auto Numberl??Y ،l?‫ א‬MHNumber* 
 .` XH‹5Q−Primary Key?4D

٩
Field 0=‫א‬O?t ،S−Textl?‫?א‬Y ،&‚‫א א‬:Name* 
 .3p٣٠%&K<K;$`kK7Size
 P ، MH−Numberl?‫?א‬Y ،&‚‫א‬R $\H?‫א‬Factory* 
 .K\H?‫א‬O ž3 7*^H 5  ،0K?ts +,\&?YField Size0=‫א‬
Field 0=‫ א‬P ، MH−Numberl?‫?א‬Y ،l?‫א‬Category* 
 .l‫א!?א‬O ž3 7*^H 5  ،0K?ts +,\&?YSize
?Y ( ‫ א_א‬R ‫א‬J .&Lnd ko B‫א‬R`!‫?(א? )א‬Y Price* 
N: (Double−‘ \<)?YField Size0=‫א‬O?t ، MH−Numberl?
 .(٥,٥3p)H?B,Q‫ א‬o7
 $R ‫א‬J .(3(oSK $K< >C‫ א‬،&‚` !‫?א(\א‬Y Count* 
 .0K?ts +,\&l??Y . ‫א_א‬


 ‫א_א‬J .&‹t?Y*K ،92 A BC(6B76dW!‫א‬0=‫אא‬CY:Yb 
*(V ¡B .J ‫?א&א‬MLH‫א‬B5‫א‬dD?5N: `=‫(^ א(\א‬o|  R ‫א‬J .&
 .0 45


DV‫ א‬L0=‫אא‬CY QK ،¢ ,0ELJ‫&\א? א‬Box_Count* 
l?0=‫אא‬CY .&‫א‬J‫&\א? א‬D(K^‫‰א‬Q4(  $¢ RX‚
 .0K?ts +,\&:O?tNCE ، MH−Number

 Tb_Sel_Bay;6‫א‬.‫א‬3D ‫א !? א‬/ !"EF: 2:5 ,‫א‬
DV‫ א‬5K*mD3pRX‚‫א &\א‬#¡‫א‬:8 ،O r‫אא‬CYL&‚R  .&0E0p•***
 . 40B0Q0P
 :O?=‫א‬

١٠
NCE،`Xo Mo−Auto Numberl??Y ، .(‫ א‬MHNumber* 
 .` XH‹5Q−Primary Key?4D
Field 0=‫ א‬P ، MH−Numberl?‫?א‬Y ،&‚‫א‬Product* 
 .RX‚‫א‬O ž3 7*^H 5  ،0K?ts +,\&?YSize
0 L .2M /”KHo−Date/Timel?‫?א‬Y ، .(‫”א‬KHo:Date* 
 .Short Date oH 5W'?Format− o
 $R ‫א‬J .(3(oSK $K< >C‫ א‬،&‚` !‫?א(\א‬Y Count* 
 .0K?ts +,\&l??Y . ‫א_א‬
 Numberl??Y .( (&‚)nCYR ‫ א‬.(`)7‫א(א‬Price* 
5 L ،2K−ByteO?t*BNumber MHl?0 ?YKind* 
 . ‫ א_א‬R ‫א‬F .&KQ5(١،٠)5. M $0.@?4D


R )O !‫א‬l?‫א‬%&U !‫א=א‬O57/ (−Yes/Nol?0=‫אא‬CY0(6Bj3‚K$
 .`p‫א‬l?‫א‬%& p‫( א‬3p


 Tb_User;6‫א‬.H4-G.‫א‬: 2:5 G 
nK?^oBj )'~5‫א‬J?(%&>?5@  ‫ א‬0P%&78>?5@O r‫אא‬CY***
*&V(57‫א‬B. D−\(‫`א‬Y.E− ‫ א‬3~50¤‫א‬:8‫?(א‬4~5(
 .(Rigistery>¥‫')א‬b‫א‬0PL $`5L ‫א‬nCYK<~5
 :O?=‫א‬
 .W١٥%M$O?^TextS?Y .'~5‫א א‬:User-Name* 
 .W١٥%M$¦S3‚K$?Y H ‫א‬.E:PassWord* 
 .W٥٠O?^S?Y ،*DW $0‫א א‬:Name* 
 .0K?ts +,\&l? MH?Y ،™o]‫א‬:Telephone* 

١١


3‫א‬dD?opE$`4D.3.X‫ \א‬O? L*DW O‫?א‬r‫™א‬o]‫ א‬،™o]‫א‬K<T0‚QK***


 . .M‫א‬O?=‫‰א‬B&%&−. ‫א‬%&Q,−٠١٠0p MHDV‫א‬Ns 5o.E .

 .ECl??Y ،4V& 45DV‫א‬LviK DV‫א‬J >‫א‬:More* 

 .‫א‬H ‫א‬L.(o.E‰ E$l?J &MU8‫א‬O ‫א‬r‫א‬DV'?;‫ א‬
l‫?א‬$R0(5oF‫ א‬DaoRH‫_?א‬0.B$| ٩٧U8H‫א‬,7‫א‬0K?+5^‚Y
 .AccessJ ‫?א&א‬Mw ‫א‬
(،Db1 ‫א‬2cJ &M _ MMicrosoft Access0 k_5N M(
 : † ،(TablesO ‫א‬6)H 5W MN:
N:( ،Create Table in Design View− .5‫&Šא‬KtLO 6 _‫א‬
 .O ‫א‬r‫˜א‬Q¦ M 457‫ (א‬، %&O 60EO? DV M

 :H5WB J‫א‬H ‫<א אא‬6!‫א‬L4.& Q BV(oF‫ א‬JM(‫^א‬N:(
Yb‫א‬O r‫א‬W‫(† א‬JM&.J‫\ א‬$)RelationShipW‫א‬Tools.XM
 : 5‫א‬O ‫א‬r‫א‬
 Tb_Product - Tb_Factory - Tb_Category - Tb_Sel_Bay
 .(Show Tables−O ‫א‬6H4¤‫)א‬W‫ א‬j!‫א‬G ‫א‬H<€kV‫א‬O 64bKŽ‫א‬:8

0 %&*v+‫ א‬Tb_FactoryNumber0 %&G ‫א‬HyRV? M;‫א‬
 .Tb_ProductO r‫א‬LFactory
 .+ +,J‫א‬H 5W‫†א‬p‫א‬0(6‫א‬،##4b5. D، r‫א‬0K€W4bK"?

F‫א‬RX‚‫;א‬mDl?"C ¡‫א‬:83p.D، r‫א‬0Bo +5J‫א‬H 5W7‫א‬nCY\c***
 ..3,$\?6?dil?2cRX‚DV‫ א‬5KNCE.3‚K$4DC  5K*5c


١٢
O 6LCategory0 RTb_CategoryO 6M&[_‫א‬K^‫‰א‬Q
 .Tb_Product

0 Tb_ProductLNumber` ;?Bo"?dW!‫ א‬pp‫א‬M(‫א‬
n1Number0=‫א‬G ‫א‬v+ M...Tb_Sel_BayO 6LProduct
 .‫א‬K^‫‰א‬QProduct0

4+5Q'? † ،J ‫&א‬M¢i'?3.(o.E ،.EDV'?3‫א‬dW$
 :.XMH ‫א‬.ERV? MN:(،ExuclusiveK^
 .H .E (oW‫א‬N:( ،Securty;$−ToolsJ‫\ א‬$

 .VB4ARABI3G ‫'א‬E"J EJ ‫&א‬M`YnCY;‫ א‬

     

db1.zip 





:‫א‬Q!% 3:08R‫א‬BST E,;  ‫א‬L'( +MN 5‫א‬F O%P ‫**אא‬
 .Visual BasicUG!

 .Menues$‫א‬V ‫א‬:56 7

K?Bo B‫`א‬5 €‚gh‫אא‬CY'4D(?Yg>!0 +5‫א"א‬Y${ 8;8
 c ،−3 M78−3 74 D0K(5‫ א‬B‫?"א‬W; \gh‫א‬J##  X‫א?א‬

١٣
0B_N: ، ‫   א‬XH.XM2c'4‫*א‬4_5&?.I0ER .1R ^5‫א‬
 :`5‫א‬
 . 4‫א‬−gh‫א‬O? −'‫~א‬57‫א‬J. (o−RX‚‫&Šא‬:™
 .K6l?−K6\H?−K6&‚DV‫א‬:DV‫א‬
Ko−`? ‫א‬K5‫)א‬:(KKHo−l‫א!?א‬KHo−K\H?‫א‬KHo−RX‚‫א‬KHo:KHo
 .(©Ho
J .&−l‫א!?א‬DE−K\H?‫א‬DE−RX‚‫א‬DE)s− ‫א‬# .&−R  .&:'4
 .J( ‫א‬J .( B+5‫א‬−( ‫א_א‬J .&−R ‫א‬
 .RX‚‫|&א‬+‫א‬:|¦
− t 5 ‫~א‬0.&)`t 5 7‫א”א‬−H ‫א‬.Ed ko−0‫א‬J?(d ko:J‫\ א‬$
 . -−(^‫ <א‬41−( t 5 ‫א\~א‬d5‫א‬

0p،'~5‫א‬vt%& ;?BoM0J ‫]?א&א‬M&7,(‫א‬nCYª(***
 .( t 5 ‫~א‬0.&)0pJ ‫?א&א‬Mg‫א‬LJ.‫ א‬$( -)

46‫ א‬U8 X‫א?א‬DV'?"?N:(،N O‫?א‬P DLJ46‫א?א‬l?$D(;‫?'א‬
 .  X‫א‬gh‫א‬

 .UG!:‫א‬Q!%WXS E ‫ א‬/ Y D ‫א‬:5 ! <
Project - Add .XMOWNIU8K6FormCDDV‫א‬H5T&
3‫~א‬5‫א‬Y4#‫ א‬،‘:.‫א‬OB#$K(‫א‬%&>?5c##H?4¤˜ oNmD،Form
F‫ א‬Border Style ,e‫א‬OWOB#!‫`א‬MU80K?+5‫א‬NBj. Form
 :H 5W2.M‫א‬:83p.D‘:?.‫אא‬CY0B#( t\c
 None−٠
ª(^‫?א‬78*BKcBudi،J‫€א(?א; א!\ א‬K#3 W36:?’N ^(K‫א‬CY;mD
 ...‫א‬CBY .;B>$'H?Q‫א‬NKcNs 5oF‫ א‬APIO‫\ א‬ª('‫~א‬57‫א! אא‬

١٤
*mDW-%( ،{W$CD‫?א‬4W‫‚א‬5c;$Bj7CD‫?א‬4$L–_o &?‫א‬nCY;$%&
ª('‫~א‬573‫?;‚^א‬B5–‫א‬::8N80، XoH?4W‫{א‬W$CDŠ&Bj7
 .٪١٠٠V CD%&O?=‫?\ ;א‬+‫אא‬CY%&.4(V?APIO‫\ א‬

N O‫?א‬P Q‫א‬Ns 5K ،MDI FormH 5W MProjectCD‫א‬No0p0.(
MDI pE$'‫~א‬573‫?;‚^א‬BoRM‫א?א‬L ،l?‫אא‬CY€D ‫ א‬CDDV‫?{א‬٦
`&DgpE$\?6  L€D]‘5cMN$78،vk‫א‬L ‫ א‬gLForm
 .3p` X‫א‬gh‫א‬2c

 ‫ ؟‬+4-G‫א‬S . MDI%‫א‬I 
J‫א‬H5W‫  א‬X‫א?א‬%&{?>?5cCD‫א‬nCY;$¬(،V CDECD‫א‬nCY'~5
 .U !‫א‬CD‫א‬0W‫(Š\א‬o{W$CD‫&?א‬H&`4D{W!‫א‬JK?5‫א‬$...€D(K
'P $R‚ BjhE$3.X‫\א‬4(‚‫א‬C]، `#>$%&>?5c73i4$CD‫א‬nCY< 
 .5†4W‫\א‬CD‫א?א‬
#_‫­א‬ju، W‫אא‬CD‫א?א‬%&d†[5‫\ ;א‬CD‫א‬nCYhBo"?Š(‫א‬A?$d ko&
 .=‫א‬nCYLReslutionM‫א‬d koA? (†[5‫\ ;א‬

 :MDIXS [\!F
DV!‫אא‬CY%&0K+5‫;א‬B Picture‫\א‬${?4 &J‫\ א‬$>$RV Bj7*
 .Picture0W‫\א‬YKF‫א‬J‫א!\ א‬
¡F‫ א‬N O‫?א‬P DA? &− ‫א?א‬gh‫א‬LMDI‘:?’pE$\?6 Bj7*
 .−net.L4 Do

 . '^ ‫א‬MDI FormXS ['% ]‫א‬
G ‫א‬H<* &€kV‫א‬...>\&'H?D4b \(‫`א‬Y.E ...N O‫?א‬P Dg0 k_5 M
 .MDI Form † NewW‫א‬،. ‫א‬

١٥
−٢. ‫א‬WindowStateW‫אא‬C،Q$.EBjhE$;?Bo;$#_‫א‬nC]K
 .Maximized
True. ‫א‬W‫ * א‬8vY:‫אא‬C...4W‫\א‬L3K?5/O !‫'א‬H?Q‫א‬0(ž'?"?;‫א‬
 .MDIChild ,~

 .C Q5‫ ˜א‬7 gh‫א‬0 k_oA6

 .YKF‫'א‬4 X‫?א‬MDV'?‫א‬C...4 &0.("?F‫   א‬X‫א‬5##`YnCY

 . X‫‹€&א?א‬#* QD`5‫אא€א‬HKy‹M‫ א‬X‫א?א‬DV‫א‬L ‫א‬0M
 http://www.opendirectorysite.info/121.htm
 .A(N O‫?א‬P D{5RlV*B ،4(5K  X‫&א?א‬3H\25E2EM

Index €D ‫  א‬.XM0ERV?o;$−€D; 7‫א‬ª(L 3 −RX_‫*א‬$.E
 &Q‫(א‬gh‫א‬O? ).XMCW[o M_File1 7‫א‬CW[o™.XM;$| ¦dk5
Index=1AFile 7‫א‬CW[o(J. (o);$.E،‰EKB File U !‫א‬.X‫א‬
 .GH‫אא‬CYW-L^ P&LIndexR0(5‫ א‬Q E (5"? .‫א‬CBY ...

 $3pO‫ א‬J‫& א‬5‫א‬%&78>?5c X‫א?א‬BoŽ‫א‬:878\(‫א‬LK^‫א‬nCY'~5o7
 .IL6?Kvi$?Y‫א‬CY ،K6J##H4¤‫\א‬I

 .GH‫אא‬CYO $LY F‫ א‬X‫א?א‬DV;‫?'א‬

O?=F1،‘ ~Ctrl+F40p  X‫'א‬4.(K‫א‬J‫א‬H5W7‫א‬ª(DV'? †
J‫א‬H5W7‫א‬ª( ، ‫א‬# .(Ctrl+B R  .(Ctrl+S،J. (5F2 gh‫א‬
 .D‫א™א‬LY1"?F‫א‬

 . (‫א‬k‫א‬JY1‫\& א‬06$Right To Left = True ,W€V‰o7

١٦
 . X‫~א'א?א‬5‫ א‬Q E%&3(K37pCW[;‫ א‬
−O? )?Yz?(‚‫א‬H<‫?;א‬BK;!O.5 ‫–א‬4DOp‫א‬0 %&FileL3‫אא‬R‚&
*ˆ‫א‬dk5–4DN:06$ ،3( ) 7‫‰א‬Q ];!( 4‫א‬−RX‚‫א‬−J. (o
 .Click‫\א‬J‫ א‬H $?Y Index MH%&>?5@Index

>C‫ א‬.FileHyL`5‫?\א‬B‫א‬RV، ,e‫א‬nCY'‫~א‬53 7?^‫ א‬.(‫א‬0.&R ^5
 .Index'‫~א‬5‫א‬¢tsV?K

 (Private Sub File_Click(Index As Integer
 Select Case Index
 Case 0
 "MsgBox "View Product
 Case 5
 End
 Case Else
 MsgBox File(Index).Caption
 End Select
 End Sub





 .GH‫אא‬CY*K?BoKt%&"(5>C‫א™ א‬0 .c‹M‫א‬GH‫א‬K‫א‬0M

     


programme.zip


 :`5‫א‬0B_`Y ،gh,e‫א‬CD‫א?א‬DV'?"?GH‫אא‬CYL


١٧
 .gh‫א‬O? :AboutMe
About 0B_‫א‬H5° † Project - Add FormH 5W'?‘:?.‫אא‬CY0p0.(
 .Dialog
 .gh‫א‬LD‫א‬0B_‫א‬U80J‫א‬dk5‫א‬ª('?
.System Info,e‫?א\א‬E!‫א‬No`Y ،45DV‫א‬2•M\‫?א‬E!‫א‬ª(;$P5
 .3 7^H?4 _'?"?

 .K‫אא‬##:Frm_splash
NC ،`Q5T;$0M`‫?א‬p‫ (\א‬gh‫א‬0 k_oK‫א‬L#_‫א‬nCY4bo;$ŠQ‫א‬
(#_‫ א‬QW72M‡%&>?5c;$7 .E،#_‫א‬nCYLJ‫\ א‬7‫א‬t#$4boD
 .< 6

 .K6&‚DV‫א‬:Frm_Add
 .K6&‚DV73 7gh5##

 .K6\H? ‫א‬l?DV‫א‬:Frm_Add_2
 .\?B3 7.4 ¢Q ،K\H? l‫?א‬$DV‫  א‬B+5#_‫א‬nCYS~5

 .=‫אא‬:Frm_Calc
 . -0.&Kt%&K?"(5,D`Y ،^  ±##

 .RX‚‫א‬0K(o##:Frm_Edit
 .\?6?RX‚J?(0K(5

 . ‫ א_א‬$R ‫א‬J .&0K(5:Frm_Edit_SP



١٨
MaskEdBox‫\א‬$`Y   ‫א‬diK6‫\א‬$'H?Q‫אא‬CYLP:Kr‫א‬J‫א!\ א‬
€k‚'?45DV7 ،?4W‫א?—א‬0B_ B+5‫ א‬,W‫א!\א‬nCYD?o|
 H 5W'? † Ctrl+T%&
 .3  74‫~א‬5‫א‬Kt%&"(5 Microsoft Masked Edit Control 6.0

 . (z _RX‚‫|&א‬+:Frm_Find

45DV7 O r‫\אא‬$`Y   ‫א‬J‫א!\ א‬diK6‫\א‬$'H?Q‫אא‬CYLP:Kr‫א‬J‫א!\ א‬
 H 5W'? † Ctrl+T%&€k‚'?
 .3 7*‫~א‬5‫א‬Kt%&"(5 ،Microsoft Flex Grid 6.0

 .3 7rtfl?™4^H 5 F‫~א' א‬57‫א‬J. (o:Frm_Help

RichText‫\א‬$`Y   ‫א‬J‫א!\ א‬diK6‫\א‬$'H?Q‫אא‬CYLP:Kr‫א‬J‫א!\ א‬
 †Ctrl+T%&€k‚'?45DV7 ، 5‫א‬dk5—?DV‫א!\אא‬nCYD?o|
Kt%&"(5"? ،Microsoft Rich Text Control 6.0H 5W'?
 .3 74‫~א‬5‫א‬

 .0‫א‬J?(Š(  X‫א‬#_‫ א‬QWL4b5#_‫א‬nCY:Frm_Info
 :3p`5‫א‬0B_N:



١٩
 .O?W‫א‬0 Po##:Frm_Login

 .#_‫א‬nCYH4¤‫ א‬5K،gh‫א‬0 k_5U !‫`אא‬YnCY2E‫א‬:8:Frm_NewUser

 .K5‫&א‬tL4‫~א‬57(tKc:Frm_Printer

 .&‚‫א‬KHo:Frm_Report1
MSChart‫\א‬$`Y   ‫א‬J‫א!\ א‬diK6‫\א‬$'H?Q‫אא‬CYLP:Kr‫א‬J‫א!\ א‬
'? † Ctrl+T%&€k‚'?45DV7 ،  ‫&Šא?'א‬J‫\ א‬${ 8`Y
Kt%&"(5 ...(Microsoft Chart Control 6.0 (OLEDBH 5W
 .3 74‫~א‬5‫א‬

 .l‫א!?א‬Ko:Frm_Report2

 .K\H?‫א‬Ko:Frm_Report3

 .©HoKo ،`? ‫א‬K5‫א‬:Frm_Report4

 . ‫א‬# $R  .&DV‫א‬:Frm_Sel_Bay

 . ‫ א_א‬R ‫א‬J .( B+5‫א‬:Frm_Sel_Bay2

 .` X‫א‬RX‚‫&Šא‬:Frm_Show

 .'~5‫א‬J?(d ko:Frm_User

 .DV7‫ א‬$Š(?^‫א‬J .(‫א‬LHb5##:Frm_Wait

٢٠
ProgressBar‫\א‬$`Y ،  ‫א‬diK6‫\א‬$'H?Q‫אא‬CYLP:Kr‫א‬J‫א!\ א‬
'? † Ctrl+T%&€k‚'?45DV7 ،'5H#‡Š&]WBj|
˜ 5،(Microsoft Windows Common Control 6.0(SP6H 5W
 .3 74‫~א‬5‫א‬Kt%&"(5 ،‫א!\א‬nCY4.VJ‫?&א!\ א‬.IDV‫א‬

 .34.(.MF‫   א‬X‫א‬#_‫א‬:MDIForm1

 :Kr‫א‬J‫?&א!\ א‬.I'H?Q‫אא‬CYLP:Kr‫א‬J‫א!\ א‬
 .J‫€א!\ א‬K#Š(ToolBar‫\א‬$
 .CD`Q‫€א‬K_‫(Šא‬StatusBar‫\א‬$
 .3YQV‫א‬F‫?&א‬.²‫א‬.V;o\?6?.Y

−˜Q −s5DH‫ ?א‬R0pKH‫א=?א‬CD‫?'(Š&\א?א‬oCommonDialog‫\א‬$
 .„‫א‬...z?^e‫א‬H 5 ‫א‬−;?!‫א‬H 5W‫א‬
 H 5W'? † Ctrl+T%&€k‚'?45DV7
4‫~א‬5‫א‬Kt%&"(5 ،Microsoft CommonDialog Control 6.0
 .3 7

u##0E  Q EQH? (5،Ih‫;א‬:m\‫א א‬L¢^5&
 .4 &2Q V‫א‬F‫א‬J‫ א!\ א‬،
Q5~‫א‬J#_‫ א‬.o%&>?5@>C‫א™א א‬%&lt7‫א‬NBj،=‫א‬N:%5
 .E

MBoŽ‫א‬:8o7،gh‫א‬H‰Q%&J ‫&א‬MDV M3‫&א‬D;‫א‬C***
 . 7G H\L4‫~א‬5‫ א‬Q E0 Q5‹_!0MJ‫א!\ א‬ª(2~5‫א‬
+N O‫?א‬P DOW‫;א‬:mgh‫א‬Ih ‫ א‬5K"?\‫א‬G H‫א‬C
 .Dao


٢١
Visual Basic 6.0







٢٢




















DataReport •

٢٣



J .('?"?GH‫אא‬CYL2EH?‫א‬gIh$"?،* K GH‫אא‬CYL
 .J ‫?א&א‬MR€‫א‬
 .J ‫&א‬MR0(5y‫א‬J5B‫א‬DV'?"?GH‫אא‬CYL™ ‚.E

gh‫אא‬CY4[_F‫א‬K^‫`א‬Y DaoJ ‫?א&א‬,e‫א‬J5B‫‚ ™א‬NC
?Y.E2‫א‬%&J &M _8G H\LK?4.(5"?DAdo$،‫;א‬:m
 .U !‫א‬H ‫א‬LsV?

\?6 ˜ 7...D?5‫א‬J5B‫א‬##N4b5...ReferncesW‫א‬Project.XM
 .N O‫?א‬P Q V‫א‬D‫א‬J5BRH$
 : 5‫א‬5B‫א;א¦|&א‬
 Microsoft Dao 3.6 Object Library
 .−n\?6 '& L'M$ $−w $H‫א‬,‫>א‬$ $
 :`5‫א‬0B_‫א‬L.E


 $−5B‫א‬nCY4K?5cF‫א‬PropertiesSXe‫ א‬Methods¢^‫("א‬o`B;‫ א‬
 .0Q!‫א‬L5.X‫א‬U8b‫ א‬DaoW‫א‬K?(‫א‬.X‫ א‬F2Hy%&€k‚ M−Ydi
s oQ‫א‬%&%. ‫א‬.X‫?>א‬5c. D،5B‫א‬nC]  X‫א‬s oQ‫א‬%&{ ‫א‬.X‫?>א‬5c
 . &Q‫א‬

٢٤

(ParemetersJ‫ א‬H) ‫א‬J?(‫א‬ª(%&O?=‫א‬¢t{ 8%&"(5;‫ א‬
0BD،K6J &M _‫א‬$"&$;$KH$¬$ŠQ ،Q5~‫א‬J‫א א‬6‫ א‬O‫ א‬
.XMH?4¤˜ 5Create3pB5 n&$|+‫א‬RL7\J‫א‬:.E5E?YN &
U8#o"?4 &‫\א‬PF‫ א‬CreateDatabase3p4 |+‫א‬gX5
DAO H 5W‫א‬OW|+‫א‬gX5 MoNBj3‚K$.‫אא‬nC]?^‫א‬J‫ א‬H‫א‬
 .|+‫א‬R%&$J5B‫א‬.XM
O...3pMSDN5B4& `#0ED( €D‫אא‬nCY&|+‫א‬NBj3 7
 .J ‫(?א&א‬5K0EL|+‫א‬

 .'!G!$3 ‫א‬Module:(9.‫א‬/ (-_8(C`

O‫א א‬U8O?,?‫א‬R ^5| ¦Public& I `Ih‫ א™א‬$O?K\?‫(א‬K
CQo| ¦*W‫א‬Main‫™\א‬K(oBj$.E،gh‫א‬L;B>$4 D\?6?‫א‬
 .gh‫א‬L ‫א‬0M4W‫?\א‬6?‫א! אא‬

٢٥
 .Module † NewW‫א‬...j!‫א‬G ‫א‬H<'H?D>$%&€kV‫א‬Module _
 .ModuleJK?5/0E`YnCY...\‫?א‬E!‫א‬5B##4b5

 :0B_‫אא‬C4 ‫א‬6‫_ א‬O?K\?‫א‬L$\&

Public Sub Main()

End Sub


StartUp &|+ MProject - Project properties.XM  †
‫?;אא‬BoNC SubMainW‫א‬...* ‫ א‬5 'H?DO $%&>?5cF‫ א‬Object
 .C Q5‫א‬LU !‫`א‬YY _m.MF‫א‬


&MR(5 XE‘5³3p.D،4 8‘5+F‫א‬JXB‫ א‬$J‫א‬dk5‫א‬ª("(;‫א‬
0B_N: 5K gh‫א‬0.&OW6=‫א‬v dk5{W!‫ א‬5† ‫ א‬...0BEJ ‫א‬
 :(3(t‫‘אא‬HW)`5‫א‬

Public D1 As Database
Public D2 As Database


٢٦

'(57‫א‬gX5KW-†‫ א‬،l‫א!?א‬،M?‫א‬،RX‚‫א‬O r...O ‫א‬6´‘5³NCE
 :`5‫א‬0B_N: ،N:*#

Public T1 As Recordset
Public T2 As Recordset
Public T3 As Recordset
Public T4 As Recordset
Public T5 As Recordset



،4 86=‫€&א‬DJ‫א‬dk5‫™א‬K(5l?V?‫אא‬CY& k57‫א‬−ŠQ‫א‬0−;B7
0 453.X‫\א‬O ‫א‬r‫ א‬J ‫&א‬Ms5D3‚K‫א‬Bj.E،N:‫&א‬. DJ ‫&א‬M¢i‫ א‬
L42.MF‫א‬K^‫`א‬YnCYB ،'b‫א‬%&3‫א‬dE3†vKM‫א‬CY;$ i0(5‫א‬L
 .J ‫?א&א‬MR0.(‫א‬H ‫א‬


N: ،gh‫א‬.V*‫~א‬57gh‫א‬H* D˜Q5³| ¦'&dk5™K(53‚K$‘5+
 :`5‫א‬0B_

Public Folder

4~5| ¦VB4ARAB`Y J ‫&א‬M.E* DR‚2†U83‚K$‘5+
 .€D;B‫אא‬CYLYdkYd koH& ،3.X‫\א‬

Public Const PassWord = "VB4ARAB"


٢٧
&‫?א‬− )7‫א‬−H ‫א‬.Ed koU8‘5³. \?B‫א‬R )L0K(5'?7`BN:
 .€D2p‫אא‬CY. Md k5`Q5B0،J ‫א‬


0.&Bj=‫א‬nCYL ،dW!‫א‬O r‫א‬J?(%&>?5@dk5?Y* 8‘5³W-
 :`5‫א‬0B_N: ...J?(‫ א‬$4 <60E0pj ‫<א‬6$٥%&>?5cArray

Public Info(5)


G H\Ln #?Y ، (‫א‬k‫&Šא‬A?$U80X‫א‬0K?+5`5‫א!א‬5B3‚K‫ א‬M
 :

Public Enum arabic
arabic = vbMsgBoxRight + vbMsgBoxRtlReading
End Enum


 .4W‫\א‬5B$ Y _m.MF‫אאא‬U8\?(;‫א‬
N: ،J ‫א= `&א‬H‫א‬%&O?=‫?א‬Ygh‫א‬4'?K;$`kK.4O $
 :`5‫א‬0B_

Folder = App.Path
If Right(Folder, 1) <> "\" Then Folder = Folder"\"&


Q ¤  &5'?mD\?6?BoŽ;mD،J ‫&א‬M\?6 E[5‫`א‬Y p‫^?א‬e‫א‬
 .405"?J7=‫א‬EL ،Y _‫א‬


٢٨
If Dir(Folder & "db1.mdb") = "" Then
MsgBox،"K6 ‫ א‬DV'?K"? J ‫&א‬M%&gh‫א‬p(KŽ"
vbExclamation"\?6?diJ &M"،
'Here We will Create The Database
End If


 :€‫אאא‬CY%&،G H‫אא‬nCY%&J &M _‫א‬A?‫(א‬6‫א‬NBj
 http://www.c4arab.com/showlesson.php?lesid=2332
 http://www.c4arab.com/showlesson.php?lesid=2333
 http://www.c4arab.com/showlesson.php?lesid=2334
 http://www.c4arab.com/showlesson.php?lesid=2335

&M\?6 '& Lgh‫א‬ghR0,‫?א‬5H*4b;[`Q5B"?H ‫א‬nCYL
 :`5‫א‬0B_s \?B‫א‬H?³"?NC،J ‫א‬

If Dir(Folder & "db1.mdb") = "" Then
MsgBox~%&O?+gh‫ אא‬6‫א‬J ‫&א‬M%&gh‫א‬p(KŽ"
،"J ‫&א‬MK6vbExclamation"\?6?diJ &M"،
End
End If

 :`5‫א‬0B_J ‫&א‬D1€"?N:(

Set D1 = DBEngine.Workspaces(0).OpenDatabase(Folder
& "Db1.mdb("

>C‫ א‬pwd4 DV‫א‬J‫ א‬HK•U8‘5³"?DPassWordK;!B
 :H ‫א‬.E%&>?5@"?


٢٩
Set D1 = DBEngine.Workspaces(0).OpenDatabase(Folder
& "Db1.mdb", False, False, ";pwd=VB4ARAB("


 :`5‫א‬0B_!‫א‬sK"?‫א‬C،‫א‬.E%&>?5@2†K;$

Set D1 = DBEngine.Workspaces(0).OpenDatabase(Folder
& "Db1.mdb", False, False, ";pwd=" & PassWord(

 :`5‫א‬0B_N: D1L\?6?‫א‬O ‫א‬rT1,T2,T3€ †

Set T1 = D1.OpenRecordset("Tb_Product", dbOpenTable(
Set T2 = D1.OpenRecordset("Tb_Category",
dbOpenTable(
Set T3 = D1.OpenRecordset("Tb_Factory", dbOpenTable(



 .€D4 86=‫ א‬J ‫&א‬Ms5D $'(57‫א‬0)%&\.5&7‫א‬Bj3E:.E
di ،Delete،AddNew 0pDao,e‫א‬O ‫~'אא‬5"?$.E***
*(Q"??Y 3Y.(oF‫א‬J(57‫א‬k0)3‚K$\Q57‫א‬Bj.E.N:
RN:0.&BjK^‫‰א‬Q .‫ א‬#;8Asp'‫~א‬5RM‫א?א‬K?^o H\LAdoR
 .N O‫?א‬P Q‫א‬

B '\‫א‬GH‫א‬L4K?BoKt%&"(5F‫ א‬، 55D‫א‬#_‫א‬H4¤‫`א‬Y?^WW-
 .YH4¤‫א‬$‫א‬CY

Frm_About.Show

٣٠
di $،w@vM‫א‬H J ‫&א‬M"C ‫א‬...dk‫< א‬r‫אא‬CYA6=‫א‬N:%5
 .H ‫א‬.Ed ko ،4o\(5‫א‬A63‚K$...4ˆ‫א‬
     




prog1.zip





K?BoR ^5‫א‬C  BcHHy$>$gh‫א‬L4boF‫ א‬About##>?5c7\&
 .BrderStyle ,WNone−٠. ‫א‬H 5W‫א‬#_‫א‬nCY
3‚K‫א‬Bj،3 )3B#CW[K| ¦'H?Q‫ €א‬+ShapeRV  5K\&=‫א‬nCYL
'H?Q‫א‬y h¤Q5 ‫;& א‬mD‫א‬C] ،−*.('?‫א‬CY −yHCD‫א‬0(6
J‫\ א‬$R ) QW‫א‬R'H?Q‫ א‬P d koRN: BorderStyle = 3-Fixedialog
 :`5‫א‬0B_N:  B+5‫א‬

 .ControlBox = False ,W€V‫*א‬
 .Caption ,e‫א‬JK?5/R )s‫*א‬

StartUp  ,WOWN: ™5‫א‬L4bo#_‫א‬nCY0(6`YdW!‫^?א‬e‫א‬
 .Position = Center Screen

'H?Q‫א‬%&j!‫א‬G ‫א‬H<€k‚‫`א‬Y gh‫אא‬CYL4~5B−  M{W$Kt
0B_vMN4bK"? Splach ScreenW‫ א‬،Form † Add...
4‫~א‬5‫€ † א‬DJ?(‫ א‬H?‫א‬d koN &0E.y K L 55D7‫א‬J#_` ‫א‬
 .3‫א‬H?D


٣١
| ¦3‫א‬6^ K^#_‫א‬2.., ،4. .oLA?$0B ...5#_;‫(?\א‬
 .€Dvb4arab {5Taftaf%Q^`W$H?,2(V

 .`Ih‫ א‬.5‫א‬L$
<TimerDV‫ א‬5K\& ،#_‫א‬nCY Q5W‫א‬2M ?Y`Ih‫ א‬.5‫א‬L&O $
 . 5‫א‬#_‫א‬H4¤‫ א‬#_‫א‬nCY QW‫א‬n( 5K٣٠٠٠ $٢٠٠٠

dB‫א‬g‫א‬h‫א‬L،3pSleep '‫~א‬5 ( QW7‫!א‬dW[o0.({W$Kt–Y
\P gh‫א‬,&`M0 .c 5K#_‫א‬nCYH?4¤CRM‫א?א‬LB dW[o–Y;?BK7
W$‫א‬C] 3,$0 .+535M CW[KIB ،#_‫ א‬QW‫ א‬5K .(‫א‬nCY 457‫א‬
 .Timer ^‫?א‬#_‫א‬

0WK##*4b5DO !0.(Kgh‫;א‬E‫א‬:8.MU8 oIL 5‫א‬#_‫ א‬
 .4bo"?H ‫א‬.E '~5‫א א‬OW\‫א‬##;mD78 ،*5E#J?( *o?(4 D

>¥‫א‬L. M0 Po4،¢^‫(\א‬7'$O $nCY2E;8"(5‫&\א‬R ^5
y4PFormat0.&¡‫א‬:8*$¬(K‫א‬CY;$78،0EY\?6 E[5‫ א‬gh‫א‬0 k_oR
‫א‬4$h5(K"?Dj‫א‬J ‫&א‬M%&? gh‫א‬2k#? . ‫א‬nCYs 5K"?D
 .gh‫א‬0 k_5U !‫א‬
mD‫א‬C ،7'$Tb_UserO 6L0P\?6 %&=‫א‬nCYL.5("?N:06$
 .T4RO r‫אא‬C]zoH‫א‬0.('?

Set T4 = D1.OpenRecordset("Tb_User", dbOpenTable(

\&%&>?5cF‫ א‬RecordCount ,W'‫~א‬57'$0P\?6 E[5 †
J7=‫א‬R )L−H ‫א‬.E'H?D $0 P5‫'א‬H?DU8*6?5‫ א‬5KN:G$%& ،JP‫א‬
 . !‫  ?אא‬4B 0B_‫א‬06$.J#_‫א‬nC] Q~EV=‫א‬#_‫א‬4bo"?

٣٢
‫א‬CYJ?((info(53Y[_$F‫א‬D?Q‫ א‬0 5K"?0P\?6  L*$˜ 7
 .O r‫א‬
،O r‫א‬k"?NCE ،3 70.(K7%5 j5‫א‬0 ^(o 5K"?J7=‫א‬R )L
 :?Yj5‫אא‬C]0B‫?\א‬B‫?;א‬BKNC

Private Sub Timer1_Timer()
Set T4 = D1.OpenRecordset("Tb_User", dbOpenTable(

MDIForm1.Show
Unload Me

If T4.RecordCount = 0 Then
T4.Close
Frm_NewUser.Show 1
Else
Info(0) = T4!User_Name
Info(1) = T4!PassWord
Info(2) = T4!Name
Info(3) = T4!Telephone
Info(4) = T4!More
T4.Close
Frm_Login.Show 1
End If
End Sub





 ,W€VKt&N: ،'H?Q‫א‬dk5‫ א‬dB5‫א‬F ,W`k"?#_‫א‬nCYL
 .١=so| ¦'H?QBorderStyle

٣٣
Unloadw LN:5E7NC،gh‫א‬¢i‫א‬pXHy€kV( 3‚K$
 :`5‫א‬0B_'H?Q

Private Sub Form_Unload(Cancel As Integer(
End
End Sub

−0‫א א‬−H ‫א‬.E− OW\‫א‬J(´\?6 RN?@.E#_‫ א‬.,;‫ א‬
 .H‫א‬.5 7‫ א‬k7KHy ،;‫א(?א‬−;?Q5‫א‬
*# $(K6'~50 Po)so| ¦'H?QCaption ,WO(o;$‰o7
 .3‚K$”KH5‫א‬v5Bo;$39 ;?BK
 :Form_Loadw L`5‫א!א‬v5E‫'א‬H?QCaption ,WL”KH5‫א‬5B

Me.Caption&"K6'~50 Po"=DateTime.Date

&|K=‫&א‬Q$.EN: ،True> o| ¦RightToLeft ,W€V‫א‬NCE
 . (‫א‬J Ih‫ א‬.o

 :',(3;/ N0
PasswordChar ,W€V‫אא‬.E5B—WSR[_o`B*$‰o7*
 .−*3i−‫א‬.EO4bK;$*Ko>C‫א="א‬U8
€VD( 8More0 )Jb 5B0 [_o`B*$3‚K$‰o7*
 .^pE$%&5B‫א‬R ^5N: Trueso| ¦MultiLine ,W
 ScrollBars ,WOW4&K.5‫א‬t#$H?4¤L B+5‫א‬NBj3‚K$*

،C Q5‫א‬2M 'H?QCaption ,Wd k5DVD،'H?Q‫אא‬C]0 .+5‫א‬w=;‫(?\א‬
 .('~5‫)א א‬WL(3 V‫א‬D‫)א‬y4r‫~'א‬5 ‫א‬RV 3‚K$BmD
 :`5‫א‬0B_NC'?

٣٤

O?K\?‫א‬Lkernel325BGetComputerNameA‫&`\א‬5‫א‬.37 $
 :`5‫א‬0B_

Public Declare Function GetComputerName Lib "kernel32"
Alias "GetComputerNameA" (ByVal lpBuffer As String,
nSize As Long) As Long

 :`5‫א‬0B_'H?Q‫א‬L4QK(oR ^5o $

Private Declare Function GetComputerName Lib
"kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As
String, nSize As Long) As Long

 .{W$E$L3 74 8‘5³M!O?K\?‫א‬LYD&B
 .o? ?B‫א‬y46L0P‫~'א‬5‫(^ א א‬oF‫ א‬y K?‫א‬LAPIO‫ \ א‬$‫אאא‬CY

 :Form_Loadw L`5‫א!א‬RV;‫א‬:3 †

Dim A As String * 256
Dim X
X = GetComputerName(A, 256(
Text1.Text = Left(A, InStr(A, Chr(0)) - 1(

v5BNC،gh‫ ‘א‬e‫(¬א‬K(!‫ א‬k‫)א‬Hy€kV;$E:.E ،{W$\?(
 .4—e‫א‬w=‫א‬LEnd
 :5.4'?‫؟‬D‫?א‬Hy€kV&‫א‬:B

 .JW‫א‬E[5‫א‬U !‫א‬.4‫*א‬
 .+ +,2E LJW‫א‬DV‫`א‬Y p‫א‬.4‫*א‬

٣٥
'?"?vb4arab  ‚&$?W‫א‬vt%&  ، (5‫א‬G H‫א‬nCYŠk‫;א‬$
O‫א א‬A?$ (5−[^W>$\?6  L١− (o ،.e‫א‬O?=‫ א‬M]H’‫\א‬0.(
 .−N O‫?א‬P DL

B 0QGH\L7‫‹א‬#$"?2M \?6  L −OH7‫א‬l‫?א‬$‹#LR?o$
 :‫אא‬nCYk ,v5BB−3 7
 .Prcedure $Sub ‫א‬6‫א‬2  (. M (o47)Function‫\א‬4$˜ 7*

Private Function Check(A, B, C, D, E(

End Function

 .S‫א‬J( M $0pj" 0E;$|
 L ." ١٢ ٣H ‫א‬.E;?E،H ‫א‬.E، 7‫?\א‬6 E[5‫`א‬YU !‫א‬.4‫א‬
 .١−. ‫& א‬$"?[^W>$\?6
 .4o\&viF‫א‬. ‫א אא=א‬0(Œ;$%(‫אא‬. ‫ ( א‬
 :`5‫א‬0B_;?B >C‫ א‬U !‫א‬.4.\?B‫א‬v5B

If A = "" Then
MsgBox،"'~5‫א א‬OW\‫א‬7"vbExclamation'~50 Po"،
"K6
Check = -1
Exit Function
ElseIf B"H ‫א‬.EOW\‫א‬7"=Then
MsgBox "", vbExclamation"K6'~50 Po"،
Check = -1
Exit Function
ElseIf Len(B) < 3 Or Len(B) > 12 Then

٣٦
MsgBox،"" ١٢ ٣H ‫א‬.E;?Bo;$7"vbExclamation0 Po"،
"K6'~5
Check = -1
Exit Function
Else
Check = 1
End If


N: ،]W\'~5‫ א‬KŽ L 5‫א‬O?+ V‫א‬D‫ א‬MRV `Y p‫א‬.4‫א‬
 :`5‫א‬0B_

If C = "" Then
Text3.Text"`EC‫א‬RX‫א‬g"=
End If

If D = "" Then
Text4.Text = "0"
End If

If E = "" Then
Text5.Text"A(N O‫?א‬P D{5 .ogh‫="א‬
Text5.Text = Text5.Text & vbNewLine%&RM?‫א‬HKyNB"&
€‫אאא‬CYwww.vb4arab.com/vb"
Text5.Text = Text5.Text & vbNewLinev ,‫ א‬$"&
` B‫א‬Kh‫א‬nCY%&gh‫א‬Hammada2091@Hotmail.com"
End If


| ،K6^o3?.&(Chr(13 $TextBoxRVbNewLine;$ECo*
 .Ascii `B-O 6LEnter Hy0K١٣ MH;$

٣٧

 :dk5L4(6oF‫א‬. ‫א‬RV ‫& אא‬5$ ،D‫?א‬Hy .oU8;‫(?\א‬

Dim Y As Integer
Y = Check(Text1.Text, Text2.Text, Text3.Text, Text4.Text,
Text5.Text(

 ‫א‬6‫& )א‬5N: '~5‫?"‚ ™א‬mD78 ،‘°mD١−`YY. M;$6 ‫א‬:8
 .Add_User(‫א‬nCY

If Y = -1 Then Exit Sub
Add_User

L~5‫א‬O 6s5D%&>?5+ >C‫ א‬Add_User ‫א‬6‫א‬Ih'?"?;‫ א‬
 :`5‫א‬0B_K‫אא‬

Set T4 = D1.OpenRecordset("Tb_User", dbOpenTable(

 :`5‫א‬0B_K60PDV$ †

T4.AddNew

 :`5‫א‬0B_O?+Q5~‫\א א‬$ †

T4!User_Name = Text1.Text
T4!PassWord = Text2.Text
T4!Name = Text3.Text
T4!Telephone = Text4.Text
T4!More = Text5.Text


٣٨

 .0P‫˜א‬Q¦'? †

T4.Update

D?Q‫א‬L&Q5~‫א א‬R‚D،J &M\?6 &wcF‫א‬J .(‫‰א‬Q'? †
 .J ‫&א‬Mk

Info(0) = T4!User_Name
Info(1) = T4!PassWord
Info(2) = T4!Name
Info(3) = T4!Telephone
Info(4) = T4!More

T4.Close

 :4H*4¤‫א‬،YK E4W\$F‫א‬H ‫א‬.BnECo;$N:(‰o7

MsgBox&":`YH ‫א‬.E;$‰o7"Info(1), vbInformation +
arabic"H ‫א‬.BdECo"،

wcF‫  א‬X‫א! אא‬%&>?5c Start4ˆ‫א‬ModuleL‫?'_ \א‬3‫א‬dW$
 .3 7*.('?"??Y ،gh‫א‬0 k_oK‫&א‬

Public Sub Start()

End Sub


 . =‫א‬#_‫(א‬Add_New‫\א‬L4 &5

٣٩

Me.Hide
Call Start

 :`5‫א‬0B_™o]‫ א‬MH0p،€D3MH$780o7O?=‫א‬ª(0(6R^%

Private Sub Text4_KeyPress(KeyAscii As Integer(
If KeyAscii < 48 Or KeyAscii > 59 Then
Beep
KeyAscii = 0
End If
End Sub

 .G H\LN:U8#$.E‫א!א‬K?^oNBj

 .: ‫! א‬QG`'Y Y!EO`

0 Po .(  M##D?KN O‫?א‬P Q‫;א‬mD، 55D7‫א‬#_‫א‬RO=‫?א‬Y.E
 .Log in Form † NewH 5W‫א‬OW451R ^5o...O?W‫א‬
 .O?W‫א‬0 Po##3K K ."?B

 ‫א‬%&.Y $>?5@S`( (7‫ א‬k‫א‬−D‫)?א‬KHy#_‫א‬nCYLD?5K;$`kK
 .H ‫א‬.E ،'~5‫א‬
;$.E،dB5‫ א‬dk5‫>א‬Hy; #_‫א‬nCY0(Œ"?D، V‫א‬#_‫ א‬.5.M.E
 .gh‫`א‬4K"?XHy€kV

 :O?W‫ אא‬$K?R‚;‫ א‬
`5‫א‬0B_N: ،(Info(1H ‫א‬.E (Info(0'~5‫א א‬E[5‫`א‬YU !‫א‬.4‫א‬
 :

٤٠
37 †4Mi‫ † א‬4 ‫א א‬J ‫&א‬Ms5D .(‫א‬nCY&B***
 .J‫א‬dk5L4K<T

If Text1.Text <> Info(0) Then
MsgBox،" ‫&א‬$3‚D...[^W'~5‫א א‬2W\‫"א‬
vbExclamation + arabic"K6'~50 Po"،
Exit Sub
End If

If Text2.Text <> Info(1) Then
MsgBox،" ‫&א‬$3‚D...+ +,diH ‫א‬.E"vbExclamation +
arabic"K6'~50 Po"،
Exit Sub
End If


 .[^e‫ א‬L('~5‫ א א‬$H ‫א‬.E)\³;$K$`Y ، p‫^?א‬e‫א‬
 .Len‫א‬DV‫א‬SelStart SelLength5 ,e‫~א'א‬5N:
;$`k>C‫ א‬K+5‫א‬K4SelLength ،K+5‫א‬K‫א‬SetStart ,e‫\א‬c
 :`5‫א‬0B_N: Len\?6?‫א‬S‫א‬O?t;?BK

Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text(


 .H ‫א‬.B!‫‰א‬Q

‫&`אא‬5 ...#_‫א‬nCY`Q°mD+ +,H ‫א‬.E '~5‫א א‬0E;E L
 .‫א‬GH‫א‬LY[_‫א‬F‫א‬Start

٤١
 :K4‫א‬L\?B‫א‬sKNC

If Text1.Text <> Info(0) Then
MsgBox،" ‫&א‬$3‚D...[^W'~5‫א א‬2W\‫"א‬
vbExclamation + arabic"K6'~50 Po"،
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text(
Exit Sub
End If

If Text2.Text <> Info(1) Then
MsgBox،" ‫&א‬$3‚D...+ +,diH ‫א‬.E"vbExclamation +
arabic"K6'~50 Po"،
Text2.SelStart = 0
Text2.SelLength = Len(Text2.Text(
Exit Sub
End If

Me.Hide
Call Start


 .: ‫! א‬QG- 9‫א‬F EF

w†*–o;$\(‫א‬0،*?@.EH J.E0W S~_‫–א‬K7$3 .X‫א^ (`\א‬
 .gh‫ א‬4‫א‬0M€DJ7 /

R‚ GenralJ@5‫ א‬MLMy_Count*ˆ‫א‬B  dk5™ ‚"?NC
 .٠sK| ¦Form_Loadw L*5. M


٤٢
٤U80KŽ*$E[5‫ א‬،١H‫א‬dk5‫אא‬CY\Ky 5oO?W‫א‬0 PoHy%&^kV0ER
 .#‘ e‫ א‬5K=‫א‬nCYL ،

 :`5‫א‬0B_O?W‫א‬0 Po\?EsKNC

My_Count = My_Count + 1

If LCase(Text1.Text) <> LCase(Info(0)) Then
MsgBox،" ‫&א‬$3‚D...[^W'~5‫א א‬2W\‫"א‬
vbExclamation + arabic"K6'~50 Po"،
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text(
If My_Count = 4 Then End
Exit Sub
End If

If Text2.Text <> Info(1) Then
MsgBox،" ‫&א‬$3‚D...+ +,diH ‫א‬.E"vbExclamation +
arabic"K6'~50 Po"،
Text2.SelStart = 0
Text2.SelLength = Len(Text2.Text(
If My_Count = 4 Then End
Exit Sub
End If

Me.Hide
Call Start

 Start$L4Q ‚F‫`א‬Y .gh‫& א‬wc;$ŠQKF‫א‬J .(‫`א‬Y
‹_‫א‬0o%&¤Q=‫א‬06$ ،3 74Q ‚F‫  א‬#!‫א‬K(‫–א‬Y;?BK"?
 .€D* 86=‫ *&א‬8‘5³™ ‚"?

٤٣

 .  X‫א‬#_‫&?א;א‬L0‫א א‬+gh‫א א‬H4¤‫*א‬
 .  X‫א‬#_‫™א‬5L0‫א‬J?(H4¤‫*א‬

 :StartL`5‫א!א‬5E?YN &0E...3‫א‬634!‫?;א‬B DU !‫א‬.4.

MDIForm1.Caption&"−`EC‫א‬RX‫א‬g"=Info(2(

 .MDIFormA(5B_ †B ،‫ א‬#;804?4D`p‫< א‬r‫א‬$
4 D4bo;$Kundi Lable0p'H?Q‫א‬%&J‫\ א‬$>$RV Bj7*$2b 7?
0E%&*(V?.M? ،PictureBox0p‫\א‬$78Š&Bj7 ،0‫א‬J?(
45K¸HBj7‫א‬C4 ،40Q$4bo"?  X‫א‬#_ !‫א‬J#_‫א‬R );mD#_‫א‬
L.X‫\א‬H?*V( Frm_Info3,W3H?D[_;[N:%&0K+5"?B،
 .#_‫™א‬5

™o]‫ א‬MLabel2،0‫ א‬7Label1R‚oN$E[o'H?Q‫אא‬CY .53‫א‬H?D$
 .N?@.E'(‫א‬0B_‫ א‬.,،{W!‫א‬J?(‫(Šא‬Label3
4bK7%5 ،;?‫‰א‬Q ٠;?Bo;$7'H?Q‫אא‬C]BorderStyle ,W;$ECo
 .  X‫א‬#_‫ א‬QW&3Q5±
 .True*MDIChild ,WR‚o;$‰o73‚K$

 :nH4¤‫א‬U8DV‫'א‬H?Q‫אא‬CYJK?5/w³"?Start‫\א‬L ;‫א‬

Frm_Info.Label1 = Info(2(
Frm_Info.Label3 = Info(3(
Frm_Info.Label3 = Info(4(

Frm_Info.Show

٤٤

     


prog4.zip 




: . )%&!‫א‬U80Q!‫)™(א‬.X‫א‬JK?5/ ."?G H‫אא‬CYOW ;‫ א‬
 .'\‫א‬GH‫א‬U8RX‚‫&Šא‬06‡. D(gh‫א‬O? −J .(o− 4‫א‬

'? ، 7‫‰א‬Q] ‫   א‬XH.XM2c X‫א?א‬R );$G H‫א‬nCYK‫א‬L‰o7
 :`5‫א‬0B_N: Index ,e‫?א^א‬4 KQ5

Select Case Index
Case 0

Case 2

Case 3

Case 5

End Select


 . +‫א‬W92.‫א‬3>‫ א‬EF

g‫א‬h‫א‬dpELY_B ، 4#End$R‚E%‚. D،3‫א‬6€ !‫א‬
 .gh‫ א‬4‫א‬0M4boH
 ‫؟‬gh‫ א‬4‫ א‬E[5Ko0Y

٤٥
dk5L41R‚ YesNo4‫?א‬6;?BKHH4¤‫?א‬Y* 8‘5³0E .(‫א‬nCY0.(
 . 47‫א‬0MNo> K7*$E[5
 :\?B‫אא‬CY;‫{א‬

Dim Sure
Sure = MsgBox،"‫؟‬gh‫ א‬4‫ א‬E[5Ko0Y")vbExclamation +
vbYesNo + arabic("‘ e‫ א‬E[o"،
If Sure = vbYes Then End

%&€k‚‫ א‬5K 4bo;$‫א‬nC]K$?Y ،W- `#%oB ،3‫א‬6€ !‫א‬
 .'H?QUnloadw ?Y ،'H?Q‫א‬LXHy

 k‫א‬JW‫א‬2^kV? %5 N$˜ 5Unloadw L?Y.E‫”א!א‬A6
‫א!א‬0MTrueU8Cancel. MdkB_‫א‬nCY%&vk5 ،N: QKD!‫א‬
 ‫؟‬N: 5K™ BD....

>?5@ ،7'$!‫ א‬k‫א¡א‬:8sV?oCanceldk5‫א‬L. M05KUnloadw ;8
 :`5‫א‬0B_N: ،*5. MdkmD‫א‬C XHy%&€k‚‫&א‬False%&3 V‫א‬D‫א‬

Cancel = True
Dim Sure
Sure = MsgBox،"‫؟‬gh‫ א‬4‫ א‬E[5Ko0Y")vbExclamation +
vbYesNo + arabic("‘ e‫ א‬E[o"،
If Sure = vbYes Then End


Cancel=Truew@&K6w@Loadw ;$P5،;‫א‬N:A6
B_‫א‬nCY%&vk5 ...'H?Q‫א&?א;א‬y‫ א‬،YH4¤.MF‫א‬#_‫ א‬QW‫א‬U8>\‡Ku
 :`5‫א‬0B_0B‫?\א‬B‫א‬sKNC ،w=‫אא‬CY( †Start!‫& א‬5‫ א‬5K

٤٦

Cancel = True

Dim Sure
Sure = MsgBox،"‫؟‬gh‫ א‬4‫ א‬E[5Ko0Y")vbExclamation +
vbYesNo + arabic("‘ e‫ א‬E[o"،
If Sure = vbYes Then End

Start


 .(/ E!",`'Y Y ،  ‫א‬:N)'Y Y EF

About##`Y   ‫א‬N O‫?א‬P Q‫א‬J##{ 8'~5"?U !‫א‬#_‫א‬0.(
di...About DialogH 5W‫ א‬j!‫א‬G ‫א‬H<'H?D>$%&€k‚ ‫ א‬DV‫א‬R ^5o
%.K;$`kK;E>C‫ `א‬55D7‫'א‬H?Q‫_* * א‬5‫א‬%D5`BAboutMeU8*ˆ‫א‬
 .−¬[^W−Frm_Splash

 .N O‫?א‬P Q‫?א‬K$;Bgh‫?א‬K$R‚o;$‰o7 ،N?@.E'H?Q‫א‬0B# .,;‫א‬
 :3 V‫א‬D‫?\א‬6??Y 'H?Q‫א‬NCLoadw L3‫א‬$˜67

Me.Caption = "About " & App.Title
lblVersion.Caption = "Version " & App.Major & "." &
App.Minor & "." & App.Revision
lblTitle.Caption = App.Title


... ‫א‬4E‫א‬L4(V?ndi  ‫ א‬H‫א‬,‫א‬l _‫א‬SXW%&"(5\?B‫אא‬CY'?K
.XM+ +,H?SXe‫א‬nCY€VE[5‫א‬RK^‫א‬nCY%&\.5&7‫א‬R ^5o

٤٧
\.5&7‫א‬R ^5o $...MakevK?5‫א‬OW Project Property †Project
 .\‫?א‬E!‫א‬nCY"C  .5‫א‬2M 4.&%&

 :€D#_‫א‬nCYH4¤‫א‬$™ ‚"?.X‫א‬nCY%&‫א‬w L

AboutMe.Show 1


 ‫ ؟‬p‫א‬#_‫א&א‬:
4BTextH?^k ,`Y rtfk gh‫א‬RJ. (5‫™א‬¢DH‫א‬3.X‫\\א‬5(‫א‬
DV‫?א‬Yvk‫;א‬$ ...Wordpad−D‫א‬gy K g‫א‬L4pj ;‫!?א‬s.o
`Y‫א!\א‬nCY ،;‫"א!?א‬5W‫& א‬o‫\א‬$U8‘5³mD،J. (5‫א‬##LJ. (5‫‰א‬Q
 .RichText‫\א‬$

...€DXHy%&{?>?(‫^*א‬K#>?5@ .. `#0E¹HD'H?D0.(37 $$
 .* D‫\א‬7‫א‬nCY™ ‚
 .Microsoft RichText Control 6.0W‫ † א‬Ctrl+T€kV‫א!\אא‬DV7

H‰QLbQ³ ،P5E'B‫א‬ª(™‚ Wordpad−D‫א‬s5Q;‫  א‬
 .Help.rtf ‫א‬2cgh‫א‬

nCYL4bK"?>C‫;א™א‬B\cF‫ א‬FileName ,W%&‫\א‬7‫א‬nCY>?5c
t#$H?4¤\cF‫ א‬ScrollBars ,W3‚K$.. .5‫א‬2M 4^‚"?F‫\א א‬7‫א‬
 .*&K.5‫א‬

 :`5‫א‬0B_N: ،'H?Q0 .+5‫א‬w L‫א!\א‬H\³;$ &0E

RichTextBox1.FileName = Folder & "help.rtf"

٤٨
 :'H?Q‫אא‬CYH4¤—e‫ א!א‬

Frm_Help.Show 1


     

prog5.zip 




 .K0E;mD .5‫`א(\&א‬Y.E ،RX‚‫&Šא‬##0.($"?GH‫אא‬CYL
 :`Y   X‫א‬JK?5‫א‬L–_;$7$‰o7B...*?@.E

 .RX‚‫א‬H 5W7%&!‫א‬L.XM
 .\?6?‫א‬RX‚‫א‬R )Š(O 6
 .3  H5~‫(Šא‚&א‬SJ(

'?F‫ א‬4,e‫א‬#_05o ‫א‬# $R  .(KHy ،"C=‫ א‬0K(5‫ א‬$H‫א‬Hy$
 .YH \`o[K&4.(
 ,W€VKt&N: ...MDIForm'H?QChildren $ [E(5o3‫א‬dW$
 .MDIChild = True

O r‫אא‬CYW‫ א‬Microsoft Flex Grid 6.0W‫ א‬Ctrl+T€kV‫א‬O r‫א‬DV7
DBGrid0.&\H$?%5 ،* D `#0E0.('?| ،*^‫ א‬B+5‫ א‬B7
 .N:B. D*‫~א‬5H?^5

 :`5‫א!א‬v5B.X‫א‬OW#_‫א‬H4¤7


٤٩
Case 0
If T1.RecordCount = 0 Then
MsgBoxDV‫א‬−DV‫א‬W‫א‬K6&‚DV7،4V(RX‚>$6?o7"
،"&‚vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If
Frm_Show.Show

−#_‫ א‬P dko˜ 5DBorderStyle=2|  K‫*א‬. .o%&'H?Q‫א‬0¤?
 .B_‫א‬nCYwcD١U8 ,e‫א‬2^V?B −‫א‬: 4D$7
NC،Frm_InfoR(D.E'H?Q‫? €א‬5;?K| ، 5‫א‬K^‫א‬DV‫א‬%
 :'H?QLoadw L.4Q ‚

Frm_Show.Left = ((MDIForm1.Width - Frm_Show.Width)
/ 2 )
Frm_Show.Top = ((MDIForm1.Height - Frm_Show.Height)
/ 2) - 800

'H?Q‫א‬0 k_o&^K>C‫ א‬Refresh_Me ‫א‬6‫ א‬.oLK?;‫א‬$
 .0K(o $"C  .&0E& ،Form_Load
XB‫אא‬CY%&;‫א‬H '?7 D،RX‚‫א‬J?(%&>?5@T1XEK;$
 :.X‫א‬U8* D ˆ7‫א‬RV K4‫א‬U8K‫אא‬

Sub Refresh_Me()
Combo1.Clear
If T1.RecordCount <> 0 Then
T1.MoveFirst
For i = 0 To T1.RecordCount - 1
Combo1.AddItem T1!Name
T1.MoveNext
Next i
End If

٥٠
> 5.XSorted ,W€‚mD3Kž$o.X‫א‬nCYLRX‚‫(Šא‬o`B ‫א‬CY
 .True

‫א‬C ،O r‫א‬LŠ(o;$J ‫א‬0BK.X‫א‬LJ ‫&Šא‬Kt‰Q mD;‫ א‬
‹#$;$KH$¬B .E‫א‬C‫א‬%&4P3 o ‫ א‬H‫א‬Bo 0W‫\א‬3( ) 4(‚"?
 .MSFlexGridLJ DV‫ א‬Q E

4:57‫א‬−Ih`(‫א‬KQ‫אאא€א‬CY%&‫\א‬7‫א‬nCY&– QKª(1H
 :>\&
http://www.arabteam2000-
 forum.com/index.php?showtopic=40959&hl=MSFlexGrid
 . (‫א??&א‬%&:5!‫א‬GH\3‚K$
 http://www.c4arab.com/showlesson.php?lesid=215

^L;‫\א‬c;5‫ א‬Row Col.Y .Y!‫א‬dEHM%&5 ,W6?o:73 )‫ א‬
 .4 DS‫(Šא‬TextY4#$SXW]Cell W.Y 5‫א‬

،O r‫א‬L.&!‫?" א‬Q‫\א;&\א‬c;5‫ א‬Cols RowsF ,W3‚K$–Y
 .O r‫א‬JK?5/DEs'?oF‫ א‬ClearQ ¤

‫א‬CY>?5@،*(0(5O r‫א‬9 45N: Create_Flex . ‫א‬6‫א‬0.('?"?
‫א‬J‫א‬d(5‫ ‚ ™א‬،١+JP‫?"=&\א‬Q‫א‬،٧=.&!‫&\א‬RV %& ‫א‬6!‫א‬
 .O 60EG$H%&
 :5 !‫א‬5.4‫א‬0.(

MSFlexGrid1.Clear
MSFlexGrid1.Cols = 7
MSFlexGrid1.Rows = T1.RecordCount + 1


٥١
 :*‫א‬. ‫?\א‬.&0EG$H%&R‚ ،.&!‫א‬05"?D p‫א‬.4.$

MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.Text"J"=
MSFlexGrid1.Col = 1
MSFlexGrid1.Text" MH"=
MSFlexGrid1.Col = 2
MSFlexGrid1.Text"&‚‫="א א‬
MSFlexGrid1.Col = 3
MSFlexGrid1.Text"l?‫="א‬
MSFlexGrid1.Col = 4
MSFlexGrid1.Text"R‫="א‬
MSFlexGrid1.Col = 5
MSFlexGrid1.Text"(‫="א‬
MSFlexGrid1.Col = 6
MSFlexGrid1.Text"\(‫="א‬
MSFlexGrid1.Col = 7
MSFlexGrid1.Text"¢ ,/ "=


 :`5E\?EOWN:R ^5....&!‫? €א‬o&‫א‬:B

MSFlexGrid1.ColAlignment(0) = 5
MSFlexGrid1.ColAlignment(1) = 3
MSFlexGrid1.ColAlignment(2) = 5
MSFlexGrid1.ColAlignment(3) = 5
MSFlexGrid1.ColAlignment(4) = 5
MSFlexGrid1.ColAlignment(5) = 5
MSFlexGrid1.ColAlignment(6) = 5



٥٢
 .. ‫א‬U8‫א‬:‫א‬U8<D٣$،™5.<o٥;$|
`V‫א‬D7‫א‬4.P K7F‫א‬.&!‫&Šא‬L{?dk \?.&0EŠ(!‫‰א‬Q
 :(R‫א‬−l?‫)א‬R‫| אא‬p‫`)א א‚&( א‬p‫( א‬0o)O !‫`א‬Y

MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.ColWidth(1) = 1500
MSFlexGrid1.ColWidth(2) = 1500
MSFlexGrid1.ColWidth(3) = 1500


 .Refresh_MeK‫א‬L ‫א‬6‫אא‬CY`&5"?
G ¸H45EF‫א‬K^‫‰א‬QRM‫א?א‬L،H‫א‬B5‫ א‬0W‫\א‬O r‫א‬9(o&‫א‬:B
 .i+1dk5‫א‬. MsK"?™‫ א‬MH;$78،{W!‫א א‬v5B"?.&!‫א‬
 .−35M‡−Refresh_Me‫?\א)`א‬E%&0³;$R ^5N:

Sub Refresh_Me()
Combo1.Clear
Create_Flex
If T1.RecordCount <> 0 Then
T1.MoveFirst
For i = 0 To T1.RecordCount - 1
MSFlexGrid1.Row = i + 1
MSFlexGrid1.Col = 0
MSFlexGrid1.Text = T1!Number
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = T1!Name
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = T1!Category
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = T1!Factory
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = T1!price
MSFlexGrid1.Col = 5

٥٣
MSFlexGrid1.Text = T1.Fields("Count("
MSFlexGrid1.Col = 6
MSFlexGrid1.Text = T1!Box_Count

Combo1.AddItem T1!Name
T1.MoveNext
Next i
End If
End Sub

RV?K;$`kK*$N:Count0=‫א‬R ‫אא‬L †Kt2~5‫¬א‬$˜ 7
 .N O‫?א‬P Q‫א‬Ly?P/.E4!S oF&

 .: ‫א‬W?$ @ ‫`!א‬3`

 :3G H‫א‬OW;‫א;א!א‬CYNM E[5

MSFlexGrid1.ColAlignment(0) = 5

MSFlexGrid1.Col = 6
MSFlexGrid1.Text = T1!Box_Count


mD‫א!\א‬nCY%& 5‫א‬SXWR ) ^oK. $–H5€DK7‫א‬KC4JE:
 ,e‫† א‬MSFlexGrid1‫א א!\א‬EC;8mD ,e‫א‬v −5Kt $'~5
* &^ †−.4 E $−™‫ א‬$\?.(‫ א‬MHEC $،?M\?.(‫אא‬CY MHR‚3‫א‬dW$
 7‫?\א‬.&v O?=‫א‬v oD‫א‬C،v o'?oF‫ א‬Sort ,W0p?Y  ,e‫א‬nCY
 :`5‫?\א‬B‫א‬v5BmD

MSFlexGrid1.Col = 1
MSFlexGrid1.Sort = 7

٥٤
 ...‫אא€א‬%&GH‫א‬%&Rt‫א‬sV‫ א‬٧ M‫א‬%(

 ‫؟‬s +,‫א‬CY0Y،o(oŽ'MH!‫א;א‬2b 7M;?BoHB
D، M‫א‬di05‫א‬%&>?5@3‫א‬W-3‫א‬K63Q, 3 E3‫א‬K63‫&א\א‬R‚;$B_‫א‬nCY0
 .NC'?™ E
 .١+ M‫א‬U8\?.&0E MH0K?+5 M3‚K$... ‫?\ א‬.&H‫א‬.&!‫\&\א‬K< M37 $
 .O r‫א‬. ‫א‬%&¹HD™,H?4¤P5،P 5‫א‬Y# NC M
 .(J)Kr‫?\א‬.(‫א‬sK. D( M‫)א‬s  M‫?\א‬.& ‫א;א‬dk

 457‫ (א‬5K"?N:;80،'MH!\?.(‫אא‬CY*9(o .(;‫א‬H ‫א‬OW'?$˜ 7
 .−w@vM‫א‬H K?.4(V A6−39 # Q5D78 ،4 oo
 :v o‫`(א‬5‫?\א‬B‫א‬R‚NC

MSFlexGrid1.Col = 0
For i = 0 To T1.RecordCount - 1
MSFlexGrid1.Row = i + 1
MSFlexGrid1.Text = i + 1
Next i

 . + )7856=‫ א>א‬8(9.‫ א‬d7?]

>C‫א‬O r‫א‬L3‫א‬Kc $J ‫&א‬ML;<~‫?א‬Y‫א‬CY;!'MH!‫א‬RV?'?$2b 7?
 .* ‫?'א‬
`5‫א!^א‬LN: go‫א‬RV 0MK\H?‫ א‬l‫ `א!?א‬6L|+‫א‬U8‘5³mD‫א‬C
 :\?B‫א‬

MSFlexGrid1.Col = 3
MSFlexGrid1.Text = T1!Category
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = T1!Factory

٥٥
 ..4‫א‬nC4'?™ E;‫ {א‬
 :K‫אא‬LT1&Ms5Q.M™ EEC5o0Y

Set T1 = D1.OpenRecordset("Tb_Product", dbOpenTable(


JM('(5‫א‬.ž&Ms5Q'?;$K80،K^‫א‬nC44+5DU8‘5³7B
 :`5‫א‬0B_N: T4'~5"?Šk‫אא‬C]،O ‫א‬r‫א‬F‫א‬

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(

R‫א‬J?(0Eg\R†p‫א‬O ‫א‬r‫א‬J?(‫א‬R )‘‫~א‬5nCY'(57‫?')א‬o
.r‫א‬nCYP5 M3‫ <א‬EopE$bNK;?B55 ،RX‚‫א‬J?(Rv6U836l‫ א!?א‬
 .AccessL
O !‫< א‬r‫(א‬6‫א‬NBD،455E2•™ E ،0.r‫א‬nCY0p&K<‫א‬D(\?o2E‫א‬:8
 .A5B‫אא‬CY
 .Refresh_Mew L!‫אא‬CYRV? 

 .CD‫א‬nCYR )LT4U8T10E0K?+5'?o;$‰o7;‫א‬
No0Y،.4K[D4(‚&mDName Number0pO?= ˆ$;‫ א‬
0M0=‫;א‬BEC;$7mD‫א‬C،l‫'א!?א‬$R‫א‬O 6LF‫'א‬$RX‚‫א‬O 6LF‫א‬
 U8T1!NameŠ(‫א‬A?$dkmD3‚K$N:06$ ،*ˆ‫א‬

T1.Fields("Tb_Product.name("

٥٦
 .Number0=!‫אא‬CE

nE:\?EO $O?+‫א‬C *.MH37l?‫ א‬R‫?&Šא א‬Y .(‫א‬nCYO !‫א]"א‬
 :`5‫א‬0B_‫א‬U8GH‫אא‬CYL

MSFlexGrid1.Col = 3
MSFlexGrid1.Text = T4.Fields("tb_category.name("
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = T4.Fields("tb_factory.name("

 .‫אא‬nCYK4T4ko;$‰o73‚K$

 .'E$ V ‫ א‬e ‫?א‬3WA!"F3V ‫א‬fg ‫ א‬QG ‫א‬h3F

O?+* &‫\א‬P‘5³mD،* &‫\א‬P0 >$J Š(;$K$
 .7‫אא‬CYK? ،*.MH%&
nC4 ،Kr‫א‬RV?3t.4^V 5KRow ColF ,W;mD W>$%&‫&א‬
Clickw L`5‫א!א‬DV>$(\?.(‫ א™ א‬MH%&O?=‫א‬R ^5oK^‫א‬
 :O P

MsgBox "Row : " & MSFlexGrid1.Row & " Col : " &
MSFlexGrid1.Col

 :‫א‬C4E$^‫?א‬4 &.MF‫ א‬e‫א‬JK?5/%&O?=‫א‬BjK^‫‰א‬Q

MsgBox MSFlexGrid1.Text

|+™‫‰א‬QL M‫ א‬WJK?5/‘5³80، e‫א‬nCYJK?5/K7B
 : M‫ א‬WU8O?+5'?mD‫א‬C...4V& 4&

٥٧

MSFlexGrid1.Col = 1
MsgBox MSFlexGrid1.Text

 .‫;א‬B&b‫א‬ªk™‫ א‬MHN ^(K‫;א!א‬$P5
 .|+‫א‬L*~5"??Y M‫אא‬CY

"?$ECo، M‫אא‬CY*>C‫א‬0P‫]&א‬W|+'(5‫)א‬5B;‫א‬$
"?NC،.4MH$‰  l?‫ א‬R‫א א‬D(K!‘ \<'(5‫א‬OWNC'?
and sK| ¦WhereOW-z#DV‫א‬RB‫א‬GH‫א‬L'(57‫א‬0p;?BK
 .€D ‫ א‬0P{?K7$| Number = MSFlexGrid1.Text

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number and
tb_product.number =" & MSFlexGrid1.Text""&

 :S‫א‬J(L‫א‬J ‫א‬R‚"?O r‫א‬Kt‰Q

If T4.RecordCount <> 0 Then
T4.MoveFirst

Text7.Text = T4.Fields("tb_product.Number("
Text1.Text = T4.Fields("tb_product.name("
Text2.Text = T4.Fields("tb_category.name("
Text3.Text = T4.Fields("tb_factory.name("
Text4.Text = T4!price
Text5.Text = T4.Fields("Count("
Text6.Text = T4!Box_Count

٥٨
R.X‫א‬L0(5$ ، =‫א‚&א‬U8.X‫א‬d_o;!‘5³...3‚K$‫א‬:
 :`5‫א‬0B_!‫א‬s DTb_Product.name

Combo1.Text = T4!.Fields("tb_product.name("

...ShowData* . K6 ‫א‬6‫א‬L*(‚"?D3 7!‫אא‬CY'~5$B
 :`5‫א‬0B_!‫א‬sKNC

Private Sub ShowData()
Text7.Text = T4.Fields("tb_product.Number("
Text1.Text = T4.Fields("tb_product.name("
Text2.Text = T4.Fields("tb_category.name("
Text3.Text = T4.Fields("tb_factory.name("
Text4.Text = T4!price
Text5.Text = T4.Fields("Count("
Text6.Text = T4!Box_Count
End Sub


 .T4J ‫&א‬Mko;$‰o73‫א‬dW$

NC،—?‫א‬J(L4bK;$.X‫א א‬H 5W‫&א‬3‚K$K$?Y ،W-$º
R‚‫א‬C ، 7‫א‬70 M‫א‬7|+${?'(57‫א‬L‫א‬K^‫‰א‬Q
 .''\QS oF& 7‫א‬

Private Sub Combo1_Click()
SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and

٥٩
tb_product.factory=tb_factory.number and
tb_product.name ='" & Combo1.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(

If T4.RecordCount <> 0 Then
T4.MoveFirst
Call ShowData
End If

T4.Close
End Sub

L4b5F‫א‬JK?5‫`א‬Y.D،'H?QK‫אא‬w &?Y ، ‫^? א‬W$2‫א‬y
 :`5‫א!א‬R‚"?D‫א‬C،&‚O $&;?Bo"? E[5...—?‫א‬J(

Combo1.ListIndex = 0

 .3 Xo.XClickw CQK"?`5

 .: ‫א‬M"F3V ‫א‬Fe ‫א‬/ ,3jk/ ",.‫ א‬V 3i N

 O r‫א‬%&‫&א‬J ‫א‬4 DV&F‫א‬K^‫א‬EC5o2y72$ E[5
 ‫؟‬NCE‰ $...O r‫א‬L\?6?‫א‬J ‫א‬R‚$2b 7?
 .O r‫א‬J?(‫א א‬MBm;$ iH'(5‫ א‬.('?‫א‬:.D3‫א‬:8
 :`5‫?\א‬B€D M‫א‬$E‫א‬K^‫א‬L

MSFlexGrid1.Col = 1



٦٠
J?(‫א‬RV dW!‫א‬%5 R‫| אא‬p‫` א‬p‫?\א‬.(‫א‬U8O57‫א‬R ^52M?‫‰א‬QLB
 :`5‫?\א‬B‫א‬b‫א‬...—?‫א‬J(L 4

MSFlexGrid1.Col = 1
Text7.Text = MSFlexGrid1.Text
MSFlexGrid1.Col = 2
Text1.Text = MSFlexGrid1.Text
MSFlexGrid1.Col = 3
Text2.Text = MSFlexGrid1.Text
MSFlexGrid1.Col = 4
Text3.Text = MSFlexGrid1.Text
MSFlexGrid1.Col = 5
Text4.Text = MSFlexGrid1.Text
MSFlexGrid1.Col = 6
Text5.Text = MSFlexGrid1.Text
MSFlexGrid1.Col = 7
Text6.Text = MSFlexGrid1.Text


LK\?B‫א‬2DH$M 3n‫א‬o'‫~א‬5‫א‬LK=‫^א‬N3?.&‫؟‬34!‫ א‬K0Y
 .KoH 5W7gh‫א‬

 ] ٦`45o ٠$oIndex ,W4K—?‫א‬J(;$0 T‫א(؟‬:
 .Text1 ‫א‬3( )
 :=‫א‬nCYL‫?\א‬B‫א‬t{0 TR ^5o0Y

For i = 0 To 7
MSFlexGrid1.Col = i + 1
Text1.Text(i) = MSFlexGrid1.Text
Next i



٦١
—?‫א‬J(0.(.M!#_‫א‬nCYLK!‫אא‬CYB
 .\‫א‬J#_‫ א‬.oLN:EC5"?B .Text1,Text2,......,Text7




`5 ،'‫~א‬57‫א‬L €4&g5K gh‫א‬J &M ~‚ovc3.X‫\א‬v‫א‬
 45‫א‬Hb57  &|+H ‚‫א‬O L ،»(‫א‬%&3‫א‬460M$‫ א‬$&|+‫א‬H V
 . .(‫א‬

١٠٠٠\(‫א‬sK%5 l‚,e‫ א‬J ‫&א‬ML\?6?‫א‬JP‫ ”א‬MN:–‫א‬H\7
٢)‹ ‫א‬oHb5‫א‬D\?6 Š(‫ ˜€ א‬o"?D3(KN BKŽ‫א‬:8.3p&‚
;$ 3,?W ?!‫א‬RM?o3.X‫\א‬N &;$.E،( `^‫א‬y4P †١٥−RK‫א‬o? ?B †
 .(3iRV‫?א‬5o? ?Ey46)2EH?U8*6?gh‫אא‬CY

>?5@3‫א‬6€ 'H?D . ،Hb5‫א‬H0 .+5‫א‬D †$'~5.4b"?N:06$
 .(3 MHb57‫ א‬6‫)א‬H%&

Microsoft 4W‫א‬...J‫א!\ א‬##N4b5Ctrl+T%&€k‚ M3‚K‫א‬
%&ProgressBar‫\א‬7‫ א‬H‫† א‬،Windows Common Coontrol 6.0
 .'H?Q‫א‬
 .™5‫א‬L4bK;$ 'H?Q,e‫א‬CntrolBox`QT;$‰o7
 .Frm_Wait'H?Q‫א א‬0(6‫א‬3‫א‬dW$

O $ .dW[5‫א‬ª(46?KMF‫א‬J .(‫א‬R )L4b ;‫א‬C'H?Q‫אא‬CY'~5"?
 .Refresh_Me`Y'H?Q‫אא‬CY4 &^"? .&


٦٢
Show. (5'H?Q‫אא‬CY4b"?RecordCount <> 0;$E[5;$(
 .Unload Frm_Wait^‫ *?א‬Q°"?7‫א‬K4
 ...gh‫א‬A6;‫ א‬

EC"?4(0(5‫א‬L ‫א‬0M ProgressBar‫\א‬$R0(5Ž;‫א‬%5 2b 7?
 .‫א!\א‬nC].4‫א‬SXe‫א‬ª(

 .Š(‫א‬A?$\c :Scrolling
 .€K_{?‫א‬. ‫\א‬c :Max
 .٠3i...{k‫א‬. ‫\א‬c :Min
 .€K_ =‫א‬. ‫\א‬c :Value

 .\?B‫א‬L4 8‘5³F‫`א א‬Y{"?;‫ א‬
2M?‫א‬CW[o4$| O r‫א‬9(o .&`Y4 D#_‫א‬nCYH4¤‫א‬U8‘5+F‫ א‬.(‫א‬
 :‫א‬C .hE!‫א‬
 .JP‫=&\א‬Max
 .Q,=Min
 .`=‫א‬0P‫ א‬MHv JP‫&\א‬%5 ٠3. MCW[o:Value

 .#\?B‫א‬L‫ א‬3‫א‬dpE‹_‫א‬LW[5
 .5B M#Frm_Wait4bo;$( Frm_ShowL

Frm_Wait.Show
Frm_Wait.ProgressBar1.Max = T1.RecordCount
Frm_Wait.ProgressBar1.Min = 0
Frm_Wait.ProgressBar1.Value = 0



٦٣
K<o †،٠=0PO $R$5D،0P0ERdk5o"?€K_‫אא‬CY M;$ (...;‫ א‬
 :O r‫א‬LJ ‫™•­א‬M?F‫א‬H‫א‬B5‫( א‬v5BNC.0PW-%5

Frm_Wait.ProgressBar1.Value =
Frm_Wait.ProgressBar1.Value + 1
DoEvents


45‫א‬y‫א‬A6−\K<‫ א‬.('?K`B»(.,D`^(K`p‫א^א‬BsV‫ א‬O !‫א^א‬
 .−¢Q‫ ˜א‬7

 :`5‫א‬0B_Form_Loadw sKGH‫אא‬CYK4

Private Sub Form_Load()
Frm_Show.Height = 5520
Frm_Show.Width = 8145
Frm_Show.Left = ((MDIForm1.Width - Frm_Show.Width) /
2(
Frm_Show.Top = ((MDIForm1.Height - Frm_Show.Height)
/ 2) - 400
Me.Show
Refresh_Me
End Sub


 :Refresh_Mew

Sub Refresh_Me()
SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where

٦٤
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(

If T4.RecordCount = 0 Then Exit Sub

Frm_Wait.Show
Frm_Wait.ProgressBar1.Max = T1.RecordCount
Frm_Wait.ProgressBar1.Min = 0
Frm_Wait.ProgressBar1.Value = 0

T4.MoveLast
T4.MoveFirst

Combo1.Clear
Create_Flex

If T4.RecordCount <> 0 Then
T4.MoveFirst
For i = 0 To T4.RecordCount - 1
Frm_Wait.ProgressBar1.Value =
Frm_Wait.ProgressBar1.Value + 1
DoEvents
MSFlexGrid1.Row = i + 1
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = T4.Fields("tb_product.Number("
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = T4.Fields("tb_product.name("
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = T4.Fields("tb_category.name("
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = T4.Fields("tb_factory.name("
MSFlexGrid1.Col = 5
MSFlexGrid1.Text = T4!price

٦٥
MSFlexGrid1.Col = 6
MSFlexGrid1.Text = T4.Fields("Count("
MSFlexGrid1.Col = 7
MSFlexGrid1.Text = T4!Box_Count

Combo1.AddItem T4.Fields("tb_product.name("
T4.MoveNext
Next i

MSFlexGrid1.Col = 2
MSFlexGrid1.Sort = 7


MSFlexGrid1.Col = 0
For i = 0 To T4.RecordCount - 1
MSFlexGrid1.Row = i + 1
MSFlexGrid1.Text = i + 1
Next i
End If

T4.Close
Combo1.ListIndex = 0

Unload Frm_Wait
End Sub



     




prog7.zip




٦٦



 .DeleteQ ¤?‫~']א‬5F‫ א‬،"C=‫ א‬.(' ‫ א‬Q E (5"?GH‫אא‬CYL
N:0M ، `#>['?mD78 J ‫&א‬MLJ?( †;$E[5;$7K‫אא‬L
 :*KKCcHH4¤‫א‬Kt&"C=‫א‬L*5 E[5‫א‬7

Dim sure
sure = MsgBox،"‫א‚&؟‬nCY"C¦' ‫א‬KoN$E[52$0Y")
vbExclamation + vbYesNo + arabic("&‚"C "،
If sure = vbNo Then Exit Sub

%&˜ 7،Text7.TextL*.MH4bK>C‫?א‬Y ،\‫א‬0P‫א‬U80;$K;‫ א‬
 :`5‫א!א‬Op‫א‬0 

If T1.RecordCount = 0 Then
MsgBox،"!&‚>$6?o7"vbExclamation + arabic"C "،
"&‚
Exit Sub
End If

 :A?^‫א‬0P‫א‬%&H?p(‫א‬%5 ]W05"?mD;‫ א‬

T1.MoveFirst
For i = 0 To T1.RecordCount - 1
If T1!Number = Text7.Text Then Exit For
T1.MoveNext
Next i



٦٧
*‫א‬4-;‫א‬5 E$‫א‬9 @%>‫א‬8.5‫א‬lJ/0QG ‫א‬9FBJ' NW'!"F % )7mO`'V(3 ‫א‬L8C
 :50  CD ‫אא‬+'"nW QG ‫א‬op'!"C!q‫א‬/ 0,-;6‫'א‬r  n

SQL = "delete * from Tb_Product where number=" &
Text7.Text

.− &$. −Select)‫('&א‬5‫א‬0)3K$ &o7Dao ‫;אא‬$B_‫א‬
 . &D0M$ 3‫א‬46pE$KO? '‫~א‬5‫א‬%&−3.i−^V‫א?"א‬C]

 :* &p&>C‫א‬0P‫"א‬C¦'?;‫ א‬

T4.Delete

 .{W$JK?5‫|א‬K+5'?3‫א‬dW$

Refresh_Me

" C‫—(א‬e‫א‬l?‫ א‬$R‫א‬h5°$?Y ،"C=‫ א‬.&LO :dk,$%o
^‫א‬nCY # ،R‫א‬N:"C+mDView=False3D C/R‫אא‬CY;E‫א‬:mD
 .G H‫א‬K‫א‬L

 :Kdk5L=‫א‬KCY ¤Q5 7‫א‬

A1 = T1!Category
A2 = T1!Factory


 T3 T2L4 8O57‫א‬


٦٨
T2.MoveFirst
For i = 0 To T2.RecordCount - 1
If T2!Number = A1 Then Exit For
T2.MoveNext
Next i

T3.MoveFirst
For i = 0 To T3.RecordCount - 1
If T3!Number = A2 Then Exit For
T3.MoveNext
Next i


 .2iDM2E?4DC³mD78 View <> False;$E[5‫א‬

If T2!View = False Then
SQL = "select count(*) as mycount from tb_product
where category=" & A1""&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4!mycount = 0 Then T2.Delete
T4.Close
End If

If T3!View = False Then
SQL = "select count(*) as mycount from tb_product
where factory=" & A2""&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4!mycount = 0 Then T3.Delete
T4.Close
End If

 !!!4K?B5' ‫א‬R ^5o0Y\‫?א‬E!‫א‬0EO ‫(' א‬5‫)א‬0.&;B73‚K$


٦٩
 :"C=‫ א‬.(0B‫?\א‬B‫א‬sK‫א‬C4

Dim sure
sure = MsgBox،"‫א‚&؟‬nCY"C¦' ‫א‬KoN$E[52$0Y")
vbExclamation + vbYesNo + arabic("&‚"C "،
If sure = vbNo Then Exit Sub

If T1.RecordCount = 0 Then
MsgBox،"!&‚>$6?o7"vbExclamation + arabic"C "،
"&‚
Exit Sub
End If

T1.MoveFirst
For i = 0 To T1.RecordCount - 1
If T1!Number = Text7.Text Then Exit For
T1.MoveNext
Next i
Dim A1, A2
A1 = T1!Category
A2 = T1!Factory
T1.Delete

T2.MoveFirst
For i = 0 To T2.RecordCount - 1
If T2!Number = A1 Then Exit For
T2.MoveNext
Next i

T3.MoveFirst
For i = 0 To T3.RecordCount - 1
If T3!Number = A2 Then Exit For
T3.MoveNext
Next i

٧٠

If T2!View = False Then
SQL = "select count(*) as mycount from tb_product
where category=" & A1""&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4!mycount = 0 Then T2.Delete
T4.Close
End If

If T3!View = False Then
SQL = "select count(*) as mycount from tb_product
where factory=" & A2""&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4!mycount = 0 Then T3.Delete
T4.Close
End If

Refresh_Me





$N:` X‫'א‬H?Q‫א‬Child2 4B K6## _'?"?0K(5‫א‬06$
 . † B+5\?(‫א‬0M0K(5‫`א‬4K%5 Show 1. (5Y4b;$K

™V‫ א‬.€D M‫א‬0 ‫&א‬O?=‫א‬DE%&n ‫?א‬5 ‫א&א‬RN?@.E'H?Q‫ א‬.5 M
 .!‫ א‬k7 ،0K(5KHy
 .'‫~א‬57‫א‬L?4‫א‬K<TabIndex—‫?א‬W€V‰o7
 .Frm_Edit*5 .5 M3‫א‬dW$


٧١
R‫א‬0E4.XM9 Y%&;‫א‬4bK"?l?‫ א‬R‫; `א‬$?Y ،3‫א‬63Y3‫א‬$‰o7
 .H 5W7‫ א‬.&0 45l‫ א!?א‬
0K(5‫ א‬.&06$،4K(o 5KF‫ א‚&א‬M* D€Q5+5dk5 $;BR‚o;$‰o7
 .3 7
'MH7‫א‬$،J ‫&א‬MRD‫?א‬5٣٠ 7‫א‬0=MaxLength0(1;$3‫א‬dW$‰o7
 .%M$+E١٠=4(6D

>C‫ א‬Form_Load]K‫אא‬w  .5'?"?...#_‫ א‬.5.M;$(
 .Combo2 Combo15.X‫א‬LD?5‫א‬l‫ א!?א‬R‫א‬R )RV .‚5 


T2.MoveFirst
T3.MoveFirst
Combo1.Clear
Combo2.Clear

For i = 0 To T2.RecordCount - 1
Combo1.AddItem T2!Name
T2.MoveNext
Next i

For i = 0 To T3.RecordCount - 1
Combo2.AddItem T3!Name
T3.MoveNext
Next i


‫א‬4E‫א‬U8 =‫א א‬0 † * k_5'?"?D،'H?Q‫אא‬CY0 k_o$U8;‫ א‬
−RX‚‫א‬.Y?W'&E[5‫ א‬j‫א‬R‫ א‬l?˜Q5c;$‰o7 .0K(5‫'א‬H?DL
 .3•"C=‫ א‬.&L!‫?א‬Y.E


٧٢
Dim A1, A2
SQL = "select number from tb_category where name='" &
Text2.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
A1 = T4!Number
SQL = "select number from tb_factory where name='" &
Text3.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
A2 = T4!Number

Load Frm_Edit

With Frm_Edit
.Text1.Text = Text1.Text
.Combo1.Text = Text2.Text
.Combo2.Text = Text3.Text
.Text2.Text = Text4.Text
.Text3.Text = Text5.Text
.Text4.Text = Text6.Text
.lbl_name&":&‚‫א‬0K(o"=Text1.Text
.lbl_num = "no." & Text7.Text
End With

Frm_Edit.Show 1

T2.MoveFirst
For i = 0 To T2.RecordCount - 1
If T2!Number = A1 Then Exit For
T2.MoveNext
Next i

T3.MoveFirst

٧٣
For i = 0 To T3.RecordCount - 1
If T3!Number = A2 Then Exit For
T3.MoveNext
Next i

If T2!View = False Then
SQL = "select count(*) as mycount from tb_product
where category=" & A1""&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4!mycount = 0 Then T2.Delete
T4.Close
End If

If T3!View = False Then
SQL = "select count(*) as mycount from tb_product
where factory=" & A2""&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4!mycount = 0 Then T3.Delete
T4.Close
End If

Refresh_Me


 :'H?Q‫א‬¢i‫א‬pE$;?BKD0K(5‫'א‬H?DL(!‫ א‬k‫)א‬%&€k‚.M‫א‬:8

Unload Me


 .0K(5‫ א‬.('(5‫)א‬b55D0K(5‫א‬Hy%&^kV‫א‬:8$
‫\א‬$L&‚‫ א‬MH;<W‫¬א‬$gh‫א‬L2b 7? ،&‚‫ א‬MH?Y"(;$ &37 $
 : 5‫א‬K^ M‫~—א‬5‫¬א‬Bj‫א‬C .no%& M‫א‬0M>?5c

٧٤
Dim My_Number
My_Number = Mid(lbl_num.Caption, 4,
Len(lbl_num.Caption((

\&*;?BK7$`kK`5 ،j‫! א!ˆ א‬3^‰ Kr‫ א‬7‫;א‬$E[o3 X
 .3(t&‚‫‰א‬Qdi،

SQL = "select * from tb_product where name='" &
Text1.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4.RecordCount <> 0 Then
If T4!Number <> Val(My_Number) Then
MsgBox،"W-3ˆ‫א‬W‫א‬3‚D، 7‫‰א‬Q]&‚6?o"vbExclamation
+ arabic"&‚0K(o"،
Exit Sub
End If
End If

 . 7‫א‬7RX‚‫א‬O 6L*<~5?Y MDKKr‫א‬l?‫ א‬R‫ א‬MH"(o;$‰o7 †

Dim Num1, Num2
SQL = "select number from tb_category where name='" &
Combo1.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
Num1 = T4!Number
T4.Close
SQL = "select number from tb_factory where name='" &
Combo2.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
Num2 = T4!Number
T4.Close
 .0K(5‫ א‬.( M...3‫א‬dW$

٧٥
‫א‬C،$KcUpdate!‫א‬R  B ]‫א‬J(57‫א‬kR0E_>J4¤$\I
 :0K(5N: "C=‫א‬L45~5‫א‬F‫א‬K^‫א‬No'‫~א‬5‫א‬U8JH^V‫א‬

T1.MoveFirst
For i = 0 To T1.RecordCount - 1
If T1!Number = Val(My_Number) Then Exit For
T1.MoveNext
Next i

With T1
.Edit
!Name = Text1.Text
!category = Num1
!factory = Num2
!price = Val(Text2.Text(
!Count = Val(Text3.Text(
!Box_count = Val(Text4.Text(
.Update
End With


 :#_‫א‬¢i‫‰א‬o7

Unload Me

(¢ ,/ −(‫א‬−\(‫)א‬JWL€D'MH‫&א‬H&JW‫;א‬$E[5‫‰א‬o7
 `5‫א‬0B_N:

If KeyAscii > 58 Or KeyAscii < 48 Then
KeyAscii = 0
End If

٧٦
 .s oQ‫^א‬kV0pj>C‫א‬KeyPressw L!‫אא‬CYR‚
 .K\(‫א‬KCY‹ ‫א‬K\‫&א‬x`B- MH;$|
,Q‫א‬0pj٤٦;$.EBackSpace .&0pj٨ MDJ‫ א‬p57‫א‬ª(‘5+B
 :.4 p5"?NC،

If (KeyAscii > 58 Or KeyAscii < 48) And KeyAscii <> 46
And KeyAscii <> 8 Then
KeyAscii = 0
End If

'‫~א‬5 M‫~'א‬5‫'א‬M L Qo74B،44$ ¢^‫€א‬$`YK^‫א‬nCY
،Paste Ctrl+V%&‫א‬0p Q‫א‬J .(‫א‬ª(R•4$.E،G ‫א‬
 .CutSCtrl+X

ª(4.V ،l‫ א!?א‬R‫א‬R )™ ‚'H?Q‫א‬0k_&0K(5‫א‬##LE،3‫א‬dW$
3D C/3‫\א‬H? $3(H5W‫אא‬:8‫א‬C (G H‫א‬K‫א‬LN: Q E #)D C‫א‬R‫א‬
 :0K(5‫ א‬.&0MNCnECD

If T4!View = False Then MsgBox*DC N3‫\א‬H?JW‫א‬N$‰o7"
،"\H?‫‰א‬QRX‚‫ א‬45‫א‬%5 5M‡H?\?6??Y vbExclamation +
arabic"" C/\H?"،

 

If T4!View = False Then MsgBox*DC N3&?JW‫א‬N$‰o7"
،"l?‫‰א‬QRX‚‫ א‬45‫א‬%5 5M‡H?\?6??Y vbExclamation +
arabic"" C/l?"،



٧٧



&3‚K$*5B‫א‬CY ،&‚>$DV‫א‬R ^5DR $l‫?א‬$>$KBKŽO L
 .'H?Q‫אא‬CY4b
 .U !‫א‬.X‫א‬R(D.EIndex. Mh5°"?K‫אא‬L

Select Case Index
Case 0

Case 1

Case 2

End Select

 .l‫?א‬$ K\H?−R\?6 E[5;‫ א‬.GH‫אא‬CYOW.4K?YO !‫א‬H e‫ א‬

If T2.RecordCount = 0 Then
MsgBox37 $l?DV M،6Hl‫?א‬$>$\?6 '&R&‚DV‫א‬NBj7"
،"RX‚‫א‬DV ‫א‬0M.l?DV‫א‬−DV‫א‬.XMvbExclamation +
arabic"&‚DV‫"א‬،
Exit Sub
End If
If T3.RecordCount = 0 Then
MsgBox\H?DV M،NKK\H?>$\?6 '&R&‚DV‫א‬NBj7"
،"RX‚‫א‬DV ‫א‬0M.\H?DV‫א‬−DV‫א‬.XM37 $vbExclamation +
arabic"&‚DV‫"א‬،
Exit Sub
End If

٧٨
 :DV7—e‫'א‬H?Q‫א‬H4¤‫א‬3‫א‬dW$

Frm_Add.Show 1

 .3•0K(5‫א‬##0p45.., ،DV7‫א‬## .o;‫ א‬
&(5‫א‬$78،€D,(‫א‬ª( QW‫א‬RDV0K(5‫א‬##'‫~א‬5‫א‬B.‫***א‬
 .0W‫א‬531A?‫אא‬CY
 . =‫א‬R‫ א‬l‫ !?א‬X‫א?א‬9(50 k_o0ER'?"?،3‫\א‬I

T2.MoveFirst
T3.MoveFirst
Combo1.Clear
Combo2.Clear
For i = 0 To T2.RecordCount - 1
Combo1.AddItem T2!Name
T2.MoveNext
Next i

For i = 0 To T3.RecordCount - 1
Combo2.AddItem T3!Name
T3.MoveNext
Next i

 :Clear_Text* . ،RH!‫א‬Je‫א‬¹‫א‬D7 ‫א‬6‫_­א‬$.E

Sub Clear_Text()
Text1.Text""=
Text2.Text""=
Text3.Text""=
Text4.Text""=
End Sub

٧٩
 :.4 D&O !;‫א‬#‡K¾ .X‫א‬0E0(P.EForm_LoadL* &5

Clear_Text
Combo1.ListIndex = 0
Combo2.ListIndex = 0

 :‫א‬GH‫א‬n #M .dW!‫א‬wp‫א‬J~'MH$OW\‫א‬E[5‫א‬$R‚

If (KeyAscii > 58 Or KeyAscii < 48) And KeyAscii <> 46
And KeyAscii <> 8 Then
KeyAscii = 0
End If

 :'H?Q‫א‬¢i—e‫ א!( א‬k‫)א‬$%7.E

Unload Me

(‫א(\ א‬$،&‚3ˆ‫א‬H5W‫א‬M;?BK;$73 X ،‫&א‬DV7‫א‬$CQ;‫ א‬
 ..45DV‫*&'א‬B. D.4 8‘5@7;E‫א‬:mD
 :K‫אא‬Le‫א‬¹‫א‬D'&E[5‫א‬C

If Text1.Text = "" Then
MsgBox،"!&‚‫א א‬OW\‫א‬7"vbExclamation + arabic،
"&‚DV‫"א‬
Exit Sub
End If


 :J ‫&א‬MLK 7‫‰א‬Q&‚\?6 '&E[5 †


٨٠
SQL = "select * from tb_product where name='" &
Text1.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4.RecordCount <> 0 Then
MsgBox،"W-3ˆ‫א‬W‫א‬3‚D، 7‫‰א‬Q]&‚6?o"vbExclamation
+ arabic"&‚DV‫"א‬،
Exit Sub
End If

H5W‫אא‬:8. D*&‫א‬R،.YH 5W‫א;¡א‬C‫\א‬H?‫ א‬l?‫ א‬MH%&O?=37 $‫ א;?"א‬
 :‫א‬GH‫א‬L.(o.EN: ،*DC 3‫\א‬H? $3&?

T4.Close
Dim Num1, Num2
SQL = "select * from tb_category where name='" &
Combo1.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
Num1 = T4!Number
If T4!View = False Then MsgBox*DC N3&?JW‫א‬N$‰o7"
،"l?‫‰א‬QRX‚‫ א‬45‫א‬%5 5M‡H?\?6??Y vbExclamation +
arabic"" C/l?"،
T4.Close
SQL = "select * from tb_factory where name='" &
Combo2.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
Num2 = T4!Number
If T4!View = False Then MsgBox*DC N3‫\א‬H?JW‫א‬N$‰o7"
،"\H?‫‰א‬QRX‚‫ א‬45‫א‬%5 5M‡H?\?6??Y vbExclamation +
arabic"" C/\H?"،
T4.Close


٨١
 :J ‫&א‬ML‫א‬4E$LJ?(‫א‬R‚"?;‫ א‬

With T1
.AddNew
!Name = Text1.Text
!category = Num1
!factory = Num2
!price = Val(Text2.Text(
!Count = Val(Text3.Text(
!Box_count = Val(Text4.Text(
.Update
End With


&‚O57Je‫א‬¹Q"?0،DV7‫ א‬.& 45‫(א‬#_‫א‬k‫א‬nCYB
 . 4‫א‬Hy%&€k‚‫ ‘א‬e‫א\א‬H$O L*Bm ،K6

MsgBoxDV‫א‬0,‫  א‬$ 4‫א‬Hy%&€kV‫ א‬457‫א‬Ko2E‫א‬:8...‹PDV7‫א‬2•"
،"RX‚‫א‬vbInformation + arabic"&‚DV‫"א‬،
Clear_Text
Text1.SetFocus


 :‫א‬G H‫א‬J .& 457‫?א™(א‬Y‫א‬CY

     




prog9zip




٨٢
 .=‫א‬7 7(? O)8(9'% ]‫א‬

LJ#_‫(\א‬3‫א‬dD?o ‫ א‬##L3( ) 4(Œ"?D.4‫‰א‬Q;?K;5#_‫;א‬$
€‚ ،(l?DV‫ א‬$\H?DV‫)א‬#_‫&?א;א‬JK?5/v  4 ¢Q ... .5‫א‬
 .'H?Q‫א‬0 k_o&{?5‫א‬
. M&H&`4D ,e‫א‬nCY"(K7 Tag ,WOW 4 KQ5‫א‬Bj.E
2E‫א‬:8*mgh‫א‬HW‫א‬3pB.K ،'~5.4bo;$; \4 DK<~5‫א‬Bj'H?Q
.5( K^‫א‬nCY'~53 ?.&،3p p‫`א‬4D78 ،U !‫א‬#_‫א‬n(‫א‬C4Dtag=0
 .U !‫א‬K^‫א‬%&

 4 ، 7‫א‬0K(o،`=‫"א‬C ،DVH‫א‬Hy$٤?Y* &>?5@0E3‫א‬dk,3H?D .
vi>C‫א‬l?‫ א‬$\H?‫*א‬R‚SR ، =‫א‬l‫ א!?א‬$K\H?.XM%&>?5@NCE
 .*5DV‫א‬L
 Frm_Add_2'H?Q‫א א‬3‫א‬dW$
 B+5‫)א‬U8(K6l?DV‫א‬−K6\H?DV‫)א‬.X‫א‬L 7‫א‬dko;$‰o7NCE
0K(5‫" א‬C=‫א‬0._ 0DV7‫א‬%&5K!‫;א‬$| .(l‫ !?א‬B+5‫א‬−K\H?
 .3‚K$
 :#_‫א‬nCYH4¤‫א‬$U8;‫ א‬

Case 1
Frm_Add_2.lbl_name"l‫א!?א‬J?("=
Frm_Add_2.Refresh_Me
Frm_Add_2.Show 1
Case 2
Frm_Add_2.lbl_name"K\H?‫א‬J?("=
Frm_Add_2.Refresh_Me
Frm_Add_2.Show 1

 ....X`B‫< א!א‬6‫א‬CY

٨٣
 ‫؟‬Refresh_Me$?Y;‫ א‬
L.Bo*5Q ¤ ،'H?Q‫‘א‬HW*o‫\א‬Bj| ¦Publicl?*BSub ‫א‬6‫*א‬8
 :‫א‬JK?5.X‫ א‬0

Public Sub Refresh_Me()
List1.Clear
If lbl_name.Caption"l‫א!?א‬J?("=Then
If T2.RecordCount <> 0 Then T2.MoveFirst
For i = 0 To T2.RecordCount - 1
List1.AddItem T2!Name
T2.MoveNext
Next i
Else
If T3.RecordCount <> 0 Then T3.MoveFirst
For i = 0 To T3.RecordCount - 1
List1.AddItem T3!Name
T3.MoveNext
Next i
End If
End Sub

K\H?‫א‬vž.ERV D،K\H?‫ א‬l‫~(Šא!?א‬5##nCY;$ B
 :`5‫?\א‬B‫ ˜א‬7،D C‫א‬l‫ א!?א‬

If T2!View = False Then List1.AddItem T2!Name"&
"(" C/)Else List1.AddItem T2!Name

 :`5E\?B‫?;א‬B ‫א‬C ،*ž\H?‫ א‬$l?‫ א‬MH5E3‚K$`kK.E

If T2!View = False Then List1.AddItem T2!Number & "-" &
T2!Name"(" C/)"&Else List1.AddItem T2!Number & "-" &
T2!Name

٨٤
 :#_‫א‬¢i‫א‬$‰o73 X،H‫א‬Hy!‫ אא‬$5EU8;‫ א‬

Unload Me

 :`5‫א‬0B_'b‫?;א‬B  ...DV7‫ א‬.(—e‫?\א‬B‫ א‬
 .S‫א‬RL ‫א‬5E37 $E[5‫*א‬
 .(l?DV‫'א‬$\H?DV‫ )א‬.(‫א‬l?E[5‫*א‬
 .3 7‫‰א‬Ql? $\H?\?6 '&E[5‫*א‬
 .J ‫&א‬MU8Kr‫\א‬H?‫ א‬$l?‫א‬DV‫*א‬
 .S‫א‬R¹‫א‬D‫ א‬،Refresh_Me$ &5‫א‬Kt&.X‫|א‬Kc*

 .MyAdd* .K6 ‫א‬6‫א‬L‫א! א‬nCYR )™ ‚

Sub MyAdd()
If Text1.Text = "" Then
MsgBox،"!&‚‫א א‬OW\‫א‬7"vbExclamation + arabic،
"&‚DV‫"א‬
Exit Sub
End If

If lbl_name.Caption"l‫א!?א‬J?("=Then
'add category...
SQL = "select * from tb_category where name='" &
Text1.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4.RecordCount <> 0 Then
MsgBox،"W-3 ˆ‫א‬W‫א‬3‚D، 7‫‰א‬Q*l?6?K"vbExclamation +
arabic"l?DV‫"א‬،
Text1.SetFocus
Text1.SelStart = 0

٨٥
Text1.SelLength = Len(Text1.Text(
Exit Sub
End If

T2.AddNew
T2!Name = Text1.Text
T2.Update

Else

'add factory...
SQL = "select * from tb_factory where name='" &
Text1.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4.RecordCount <> 0 Then
MsgBox،"W-3ˆ‫א‬W‫א‬3‚D، 7‫‰א‬Q*\H?6?K"vbExclamation +
arabic"\H?DV‫"א‬،
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text(
Exit Sub
End If

T3.AddNew
T3!Name = Text1.Text
T3.Update

End If

Refresh_Me
Text1.Text""=
End Sub

٨٦
 5K ،.X‫א‬3‫\א‬/39 # †;$E[5‫א‬7 (,` 7oN'!"EFgs ‫) א‬،;‫ א‬
 :`5‫א‬0B_N:E[5‫א‬

If List1.ListIndex = -1 Then
MsgBox،"73 $.X‫&א‬H 5W‫א‬N &"vbExclamation + arabic،
""C "
Exit Sub
End If

 5K ،7'$S‫א‬RLJ –Y0YD(7،€D0K(5‫א‬L\?6?*B W- `#
 :`5‫א‬0B_N:

If Text1.Text = "" Then
MsgBox،"! K‫ א‬7*‫א‬57Kr‫ א‬7‫א‬OW\‫א‬7"
vbExclamation + arabic"&‚DV‫"א‬،
Exit Sub
End If

n1 . ‫א‬$K M‫אא‬CY;$2b 7? ،(‫א‬N: MHD(?YA?^‫א‬W‫< א‬r‫א‬
 :\?EU8N:0K?cBm;E;8D،#"−"&0M*5K4;?Bo H ‫א‬

Dim txt
Dim i
i = 1
Do While (Mid(List1.Text, i, 1"−"<>((
txt = txt & Mid(List1.Text, i, 1(
i = i + 1
Loop

MsgBox txt


٨٧
"?'(57‫ &א‬، H?B ، M‫א‬%&txt>?5+54D،3•s +,‫א‬CY
 .(Val(txt& (5
 .0K(5‫" א‬C=‫א‬F .&L\?B‫אא‬CYR‚;‫ א‬

 .4 86=‫;&א‬B>$4~5| ‫\א‬LN:(!‫אא‬CYRV Bj***

 .0K(5‫ א‬.&R;‫א‬0(5 ،0 Q5‫א‬L\‫<א א‬6!‫א‬L$
 :O.E7‫א‬0M 7‫‰א‬Q*\H? $l?6?K0Y|+;$`kK .(‫א‬l?v¦

SQL = "select * from tb_category where name='" &
Text1.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4.RecordCount <> 0 Then
MsgBox،"W-3ˆ‫א‬W‫א‬3‚D، 7‫‰א‬Q*l?6?K"vbExclamation +
arabic"l?DV‫"א‬،
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text(
Exit Sub
End If

 .K\H?.7‫‰א‬Q

%&H?p(‫א‬%5 ;‫א‬H N: 5K ،T3 $T2Kt&0P‫אא‬CYU8AYC‫?א‬YW‫< א‬r‫א‬
 .txtL*K<~5.M>C‫ א‬M‫א‬

If T2.RecordCount <> 0 Then T2.MoveFirst
For i = 0 To T2.RecordCount - 1
If T2!Number = Val(txt) Then Exit For
T2.MoveNext
Next i

٨٨
 :0K(5‫א‬$3‫א‬dW$ ،K\H?‫א‬RK^‫‰א‬Q NCE

T2.Edit
T2!Name = Text1.Text
T2.Update

 :0K(5‫א‬H<0B‫?\א‬B‫א‬sKNC

If List1.ListIndex = -1 Then
MsgBox،"73 $.X‫&א‬H 5W‫א‬N &"vbExclamation + arabic،
"0K(o"
Exit Sub
End If

If Text1.Text = "" Then
MsgBox،"! K‫ א‬7*‫א‬57Kr‫ א‬7‫א‬OW\‫א‬7"
vbExclamation + arabic"&‚DV‫"א‬،
Exit Sub
End If

Dim txt
Dim i
i = 1
Do While (Mid(List1.Text, i, 1"−"<>((
txt = txt & Mid(List1.Text, i, 1(
i = i + 1
Loop

If lbl_name.Caption"l‫א!?א‬J?("=Then
'edit category...
SQL = "select * from tb_category where name='" &
Text1.Text"'"&

٨٩
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4.RecordCount <> 0 Then
MsgBox،"W-3ˆ‫א‬W‫א‬3‚D، 7‫‰א‬Q*l?6?K"vbExclamation +
arabic"l?DV‫"א‬،
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text(
Exit Sub
End If

If T2.RecordCount <> 0 Then T2.MoveFirst
For i = 0 To T2.RecordCount - 1
If T2!Number = Val(txt) Then Exit For
T2.MoveNext
Next i

T2.Edit
T2!Name = Text1.Text
T2.Update

Else

'edit factory...
SQL = "select * from tb_factory where name='" &
Text1.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4.RecordCount <> 0 Then
MsgBox،"W-3ˆ‫א‬W‫א‬3‚D، 7‫‰א‬Q*\H?6?K"vbExclamation +
arabic"\H?DV‫"א‬،
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text(
Exit Sub

٩٠
End If

If T3.RecordCount <> 0 Then T3.MoveFirst
For i = 0 To T3.RecordCount - 1
If T3!Number = Val(txt) Then Exit For
T3.MoveNext
Next i

T3.Edit
T3!Name = Text1.Text
T3.Update

End If

Refresh_Me
Text1.Text""=


 .op‫"!'א‬EFo t-;69,;Bu‫ א‬

B،3&?'$3‫\א‬H?;E ‫ *?א‬805;‫ א‬،\‫ א(א‬MH—~5‫&א‬QM?oME
 View = False0(Œ"?0،*DC¦'?
 .3 X4*DC³mD78 *5cRX‚\?6 E[5"?3‫א‬dW$

 :"C=‫ א‬.&0MnKCc73 X

Dim sure
sure = MsgBox،"‫؟‬nCY|+‫ א‬.(' ‫א‬KoN$E[52$0Y")
vbExclamation + vbYesNo + arabic("!"C=‫ א‬E[o"،
If sure = vbNo Then Exit Sub


٩١

 :K^‫א‬nC40B‫?\א‬B‫א‬sKNC

If List1.ListIndex = -1 Then
MsgBox،"73 $.X‫&א‬H 5W‫א‬N &"vbExclamation + arabic،
""C "
Exit Sub
End If

Dim sure
sure = MsgBox،"‫؟‬nCY"C=‫ א‬.(' ‫א‬KoN$E[52$0Y")
vbExclamation + vbYesNo + arabic("!"C=‫ א‬E[o"،
If sure = vbNo Then Exit Sub

Dim txt
Dim i
i = 1
Do While (Mid(List1.Text, i, 1"−"<>((
txt = txt & Mid(List1.Text, i, 1(
i = i + 1
Loop


If lbl_name.Caption"l‫א!?א‬J?("=Then
'delete category...

If T2.RecordCount <> 0 Then T2.MoveFirst
For i = 0 To T2.RecordCount - 1
If T2!Number = Val(txt) Then Exit For
T2.MoveNext
Next i


٩٢
T2.Edit
T2!View = False
T2.Update

SQL = "select count(*) as mycount from tb_product where
category=" & Val(txt""&(
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4!mycount = 0 Then T2.Delete
T4.Close

Else
'delete factory...

If T3.RecordCount <> 0 Then T3.MoveFirst
For i = 0 To T3.RecordCount - 1
If T3!Number = Val(txt) Then Exit For
T3.MoveNext
Next i

T3.Edit
T3!View = False
T3.Update

SQL = "select count(*) as mycount from tb_product where
factory=" & Val(txt""&(
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4!mycount = 0 Then T3.Delete
T4.Close

End If

Refresh_Me
Text1.Text""=

٩٣
   

 


prog10.zip






\?(‫<א  † א‬67‫`א‬MO.E735M‡YEoD3(_ogh‫א‬J##pE$`YKH5‫!;א‬
 .#(* +)'E$ )U805"?‫א‬C ،4 8

R0(QNCBD،3(5#_‫א‬4 DI\F‫( א‬R l?0K(o)##R.M.E
 : 5‫א‬JK?5‫א‬U8;65c;5‫ א‬. ‫ א_א‬R ‫א‬F##

 . .(‫א‬l?s V?5Lable;‫\א&?א‬$*
 .3  \?6?‫א‬RX‚‫א‬%&>?5c.XM*
 .4~5™ E{ MaskEdit‫\א‬$?YK6l?;?B >C‫” א‬KH5‫א‬0 *
. ?'$¢ \(‫א‬0YK+5Option4ž . ‫ א_א‬$R ?^‫ א‬.B‫*א‬
 . ?Value=True ,W0(6‫ א‬
 . .(‫א‬Ll?D‫*א(א‬
 .#_‫א‬¢i7Hy ، .(‫א‬DV7Hy*

T2,T3RX‚‫א‬O r<oT1(6.BDO?K\?‫א‬U8\?(‫\א‬$'‫~א‬5‫‹א‬#L$;$0M
06$0b5DT4$...J( ‫א‬O r<oT50(PmD،K\H?‫ א‬l‫?א‬7‫ `א‬r
 .J(57‫א‬

Set T5 = D1.OpenRecordset("Tb_Sel_Bay",
dbOpenTable(

٩٤
Microsoft Masked Edit ‫\א‬7‫א‬W‫ א‬Ctrl+T>Hy%&€k‚ M...;‫ א‬
 .'H?Q‫א‬%&A?^‫ א‬P=4ˆ M ،Control 6.0
nCYSXW Y[##N4b5CustemvžF‫(א‬...)%&€kV‫א‬SXe‫ א;א‬
 :4 ،‫א!\א‬


 :?Y ،”KH5‫ א‬.(v‫ א‬5‫א‬4 DR‚F‫ א‬:Format
O?;$R ^5‫א‬C4 .3 7 M‫א  &Šא‬M Q E ,e‫א‬nCY\c ،dd/mm/yyyy
pE$OW\‫~'א‬5‫א‬R’;$ ,e‫א‬nC4Bj7B،”KHo0B#%&;?B go‫;א‬$
 ."  OW\‫;’(*א‬$7 (”KH5‫א‬JW\&)JW١٠
JW‫ (א‬t\+ >C‫( א‬OW\‫א‬lM)n?&;$Bj ,e‫א‬nCY\c:Mask
:`5‫א‬0B_lM0 B_5#<‫~'א‬5"?D'MH${?‘5³7! ،Y\&
 ####/##/##
L€DH?ERV? *$˜ 7)¹HQ‫;א‬BLRV? >C‫א="א‬:Prompt Char
 .3p٠4(P (. ‫א‬%&†‡K*$


 .'H?D0ER4'?F‫א‬K^'H?Q‫א‬O.E MY(
 .3 7*5Ih'?>C‫ א‬Refresh_Me$DV‫‰א‬o7


‫\א‬$;$?Y 7$ vIh‫א‬L‫א!\א‬nCY0‚D$...DTPicker‫\א‬$'~5‫אŽא‬:
M‫א‬CY ،Wy46™5©Š(‫א‬A?$B،>\ ”KH5‫א‬$oDTPicker
0E_vKu>\ ‫”א‬KH5‫א א‬M‰Q iH%&‫א!\א‬L (‫א‬H?4_‫&Šא‬U8>\‡K
 .MaskedEdit'‫~א‬5‫א‬%&0¤[DB_‫א‬nC]3 6$%5 ،gh


 .#_‫א‬nCYH4¤‫א‬$v5B MDIForm1U8\?(;‫ א‬

٩٥

Private Sub Operation_Click(Index As Integer(
If T1.RecordCount = 0 Then
MsgBoxDV‫א‬−DV‫א‬W‫א‬K6&‚DV7،4V(RX‚>$6?o7"
،"&‚vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If
Select Case Index
Case 0
Frm_Sel_Bay.lbl_name.Caption"R  .&DV‫="א‬
Frm_Sel_Bay.Refresh_Me
Frm_Sel_Bay.Show 1
Case 1
Frm_Sel_Bay.lbl_name.Caption" ‫א‬# .&DV‫="א‬
Frm_Sel_Bay.Refresh_Me
Frm_Sel_Bay.Show 1
End Select
End Sub


 ‫؟‬Refresh_Me$JK?5/`YB
 0$%&>?5+ .E،D?5‫א‬RX‚‫א‬R .žRX‚‫א‬.XM 0%&!‫אא‬CY>?5@"?
`=‫”א‬KH5‫א‬U8DV‫ א‬.&0ER”KH5‫א‬d koK7! ،`=‫”א‬KH5”KH5‫א‬W
!‫א‬v5BD##0ER0(QE.E ،‫ ?'א‬2•J .&0PKM*!‘&y7‫א‬R
 :`5‫א‬0B_

Public Sub Refresh_Me()
Combo1.Clear
For i = 0 To T1.RecordCount - 1
Combo1.AddItem T1!Name
T1.MoveNext
Next i

٩٦
Combo1.ListIndex = 0

Dim Myday, Mymonth, Myyear
Myday = Day(Now(
If Len(Myday) = 1 Then Myday = 0 & Myday
Mymonth = Month(Now(
If Len(Mymonth) = 1 Then Mymonth = 0 & Mymonth
Myyear = Year(Now(
MaskEdBox1.Text = Myday & "/" & Mymonth & "/" &
Myyear
End Sub

=v5BŽ `p‫< א‬r‫א‬RNC.M‫א‬:$،3?4QO !‫< א‬r‫ א‬K
 .#DateTime.Date
>$DD/MM/YY:`5‫א‬0B_. M ^(o .(5‫א‬nCY;$] $،A$(RM‫א?א‬L
 .gh‫א‬L0.(Longk ,U8‘5³³ Shortk 
D،٢ $١:3p ^(oM(Day(Now0p. (o;!'y7‫א‬C4D٠DV‫&א‬$
 .٠٢ ٠١U84K?c

 . 4‫א‬HyLUnload Me¢i7‫א‬$‰o7

 .DV7‫א‬HyJ. (o5B$"?;‫ א‬
s 5%5 N: ،٠;?BK;$B. D(‫א‬$، .E0W\‫*א‬$E[5;$7K‫אא‬L
 .78‰  ‫ א_א‬R ‫א‬J .(bD+Egh‫~א'א‬5‫~'א‬5.

If Val(Text2.Text) <= 0 Then
MsgBox،" .B‫א‬OW\‫א‬7"vbExclamation + arabicDV‫"א‬،
" .&
Exit Sub
End If

٩٧
Buy Sel`ˆ ‫א‬6‫א‬40B[_F‫ א‬،?^‫ א‬.(‫א‬l?E[53‫א‬dW$
 .‫א!א‬OW.4 &5

If lbl_name.Caption"R  .&DV‫="א‬Then
BUY
Else
SEL
End If


 :SEL37'v3*


&MU8 .(‫א‬nCYDV‫?א‬Y* 8‘5³0E0،4r‫א‬dpEU8!‫אא‬CYI‘5c7
 .A?^‫א(\א‬v .YH 5W‫¡א‬F‫‚&א‬Count ,W\Ky † ،J ‫א‬


T1.MoveFirst
For i = 0 To T1.RecordCount - 1
If T1!Name = Combo1.Text Then Exit For
T1.MoveNext
Next i

Dim cnt
cnt = Val(Text2.Text(
If Option2.Value = True Then cnt = cnt * T1!Box_count


 5KM>C‫ א‬،\(‫א‬%&>?5+ >C‫ א‬cntdk5‫™א‬K(o † ،&‚O57‫ א‬5KY
 .¢ 3W;E‫א‬:8¢ ‫א‬LJ‫*(\א? א‬V
 With T5

٩٨
.AddNew
!product = T1!Number
!Date = MaskEdBox1.Text
!Count = cnt
!price = Val(Text1.Text(
!kind = 1
.Update
End With

T1.Edit
T1!Count = T1!Count + cnt
T1.Update

 .\?6?‫\&\א‚&א‬Ky ،J ‫&א‬MU8DV7—e‫< א‬r‫אא‬CY
 .3  D?5‫  א(\א‬.(‫•'א‬H4b3‫א‬dW$

MsgBox&":3  &‚‫א‬6?K،‹P .(‫א‬2•"T1!Count"&
،" vbInformation + arabic" .(‫"א•'א‬،

 :K6 .(3‫ א‬4•Je‫א‬¹Q

Text1.Text""=
Text2.Text""=


 :BUY3>‫'א‬v3

 .B‫א‬D?oE[5;$U837 $‘5³$L*&™5© ،dE U8SEL!‫אא‬CY*_K
 .3  \?6?‫ א‬.B*KKCcH4bmD78 ، .(‫א‬0M?^‫א‬

٩٩
 :cntL .B‫א‬Kc A?^‫א‬0P‫א‬U8O57BUY!‫א‬$KSel$K‫`א‬Y.E

T1.MoveFirst
For i = 0 To T1.RecordCount - 1
If T1!Name = Combo1.Text Then Exit For
T1.MoveNext
Next i

Dim cnt
cnt = Val(Text2.Text(
If Option2.Value = True Then cnt = cnt * T1!Box_count

 :?^‫ א‬.B‫א‬D?oE[5‫א‬$ †

If cnt > T1!Count Then
MsgBox&":`Y D?5di4^oF‫ א‬.B‫"א‬cnt&":3  \?6?‫&"א‬
T1!Count, vbExclamation + arabic"D?5di .E"،
Exit Sub
End If

 : .(‫א‬H‫א(\א‬S J ‫&א‬MLDV7‫ אא‬$ †

With T5
.AddNew
!product = T1!Number
!Date = MaskEdBox1.Text
!Count = cnt
!price = Val(Text1.Text(
!kind = 0
.Update
End With

١٠٠

T1.Edit
T1!Count = T1!Count - cnt
T1.Update

 :‹P .(‫ א•'א‬QoF‫אא‬3‫א‬dW$

MsgBox&":3  &‚‫א‬6?K،‹P .(‫א‬2•"T1!Count"&
،" vbInformation + arabic" .(‫"א•'א‬،

 :K6 .(3‫ א‬4•Je‫א‬¹Q

Text1.Text""=
Text2.Text""=

 : 5‫א (א! אא‬# .&،R  .&)>HyLv5E‫ א‬Frm_ShowU83‫\א‬I&;‫ א‬
 :?!'!"EF*

Frm_Sel_Bay.lbl_name.Caption"R  .&DV‫="א‬
Frm_Sel_Bay.Refresh_Me
Frm_Sel_Bay.Combo1.Text = Text1.Text
Frm_Sel_Bay.Text1 = Text4.Text
Frm_Sel_Bay.Show 1

Refresh_Me

78u37a25E¬‫ Žא=˜א‬،Frm_Sel_Bay'H?Q‫ א‬.oL[^W–Y***
 .3‫א‬W‡
 .3‚K$(Tb_Sel_BayO 6)J ‫&א‬ML3‚K$HB[^e‫אא‬CY


١٠١
 :‫א‬3Y'!"EF*

Frm_Sel_Bay.lbl_name.Caption" ‫א‬# .&DV‫="א‬
Frm_Sel_Bay.Refresh_Me
Frm_Sel_Bay.Combo1.Text = Text1.Text
Frm_Sel_Bay.Text1 = Text4.Text
Frm_Sel_Bay.Show 1

Refresh_Me


RV ،`V‫א‬DE =‫א א‚&א‬RV RB#_`( tH4¤‫א! אא‬nCY;$|
 .|K+5‫א‬$¢t‫ † א‬،3‚K‫`א‬V‫א‬DE`=‫א(א‬




J .&)H 5W‫>א‬Hy*M?D ،O 6%&>?5+5K| ¦ .(‫א‬nC4—e‫'א‬H?Q‫ א‬."?
‫\א‬$LN: .4K(oA?^‫א‬J .(‫”א‬KHoU8DV‫א_א (א‬J .&−R ‫א‬
 .‫א‬G H‫א‬L #.EMaskedEdit

|K+5'?K>C‫( א‬CQ)Hyn&[6?K.E. 4 ،"C+،KHy6?K'H?Q‫א‬0Q[
 .Kr‫ א‬.(‫ א‬$”KH5‫א‬v 'H?Q‫א‬
 .Frm_Sel_Bay2'H?Q‫אא‬CY`.

 .MDIChild = True ,W0(1;$'H?Q‫אא‬C]‰o7
 .MDIForm1'H?QRo'H?D>$0k_&\(‫`א‬YE

Frm_Sel_Bay2.Show

١٠٢
0(Œ ،Refresh_Mew `&5 \(!‫‚€א‬Form_Loadw LB
 :`=‫”א ?'א‬KHo%&>?5@”KH5‫א‬0
 .−!(!‫אא‬CYv 4D$Ž−yH##KE‫א‬:8. D\(!‫**‚€א‬

Me.Height = 4335
Me.Width = 5895
Me.Left = ((MDIForm1.Width - Me.Width) / 2(
Me.Top = ((MDIForm1.Height - Me.Height) / 2) - 400
Me.Show

Dim Myday, Mymonth, Myyear
Myday = Day(Now(
If Len(Myday) = 1 Then Myday = 0 & Myday
Mymonth = Month(Now(
If Len(Mymonth) = 1 Then Mymonth = 0 & Mymonth
Myyear = Year(Now(
MaskEdBox1.Text = Myday & "/" & Mymonth & "/" &
Myyear

Refresh_Me


 :Refresh_Me$>?5+ ‫א‬:%&;‫ {א‬

 .O r‫?'&א\א‬oFlex ‫& \א‬5‫א‬U8‘5³!‫א‬K‫א‬L
 .37 $ ‫ א_א‬$R ‫א‬J .&%& J .(‫&\א‬D(‫אא‬nCY'?5

If Option1.Value = True Then
SQL = "select count(*) as cnt from tb_sel_bay where
kind=0 and date=#" & Format(MaskEdBox1.Text,
"mm/dd/yyyy"#"&("

١٠٣
Else
SQL = "select count(*) as cnt from tb_sel_bay where
kind=1 and date=#" & Format(MaskEdBox1.Text,
"mm/dd/yyyy"#"&("
End If
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
MyCnt = T4!cnt

 .3 7*~5GenralLMyCntdk5‫א‬D&M;?B|
 :O r‫<א‬41 †

MSFlexGrid1.Clear
MSFlexGrid1.Cols = 6
MSFlexGrid1.Rows = MyCnt + 1

MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.Text"J"=
MSFlexGrid1.Col = 1
MSFlexGrid1.Text" MH"=
MSFlexGrid1.Col = 2
MSFlexGrid1.Text"&‚‫="א א‬
MSFlexGrid1.Col = 3
MSFlexGrid1.Text"”KH5‫="א‬
MSFlexGrid1.Col = 4
MSFlexGrid1.Text" .B‫="א‬
MSFlexGrid1.Col = 5
MSFlexGrid1.Text"(‫="א‬

MSFlexGrid1.ColAlignment(0) = 5
MSFlexGrid1.ColAlignment(1) = 5
MSFlexGrid1.ColAlignment(2) = 3
MSFlexGrid1.ColAlignment(3) = 5

١٠٤
MSFlexGrid1.ColAlignment(4) = 5
MSFlexGrid1.ColAlignment(5) = 5

MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.ColWidth(1) = 500
MSFlexGrid1.ColWidth(2) = 1500
MSFlexGrid1.ColWidth(3) = 1200

 .Refresh_Me ‫א‬6‫א‬K‫א‬L!‫אא‬CY`&5

W-U80PO $;‫א‬H ‫א‬L$ ،iHDBoŽ‫א‬:8T5O r‫א‬L0PO $U805 †
 .O r‫א‬Lv‫”א‬KH5‫ א‬Kind*>C‫א‬0P‫א‬RV 0P

Sub Refresh_Me()
Flex
Dim Key, n As Integer
n = 0
If T5.RecordCount <> 0 Then T5.MoveFirst
If Option1.Value = True Then
Key = 0
Else
Key = 1
End If

For i = 0 To T5.RecordCount - 1
If T5!kind = Key And Format(T5!Date, "dd/mm/yyyy") =
MaskEdBox1.Text Then
n = n + 1
MSFlexGrid1.Row = n
MSFlexGrid1.Col = 0
MSFlexGrid1.Text = n
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = T5!Number
MSFlexGrid1.Col = 2

١٠٥
SQL = "select name from tb_product where number="
& T5!product""&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
MSFlexGrid1.Text = T4!Name
T4.Close
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = T5!Date
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = T5!Count
MSFlexGrid1.Col = 5
MSFlexGrid1.Text = T5!price
End If
T5.MoveNext
Next i
End Sub

 Refresh_Me$`&5| .(C Qo)HyL...3‚K$7‫אא‬CY‘5³K$"(o0Y

 .‫א‬3D ‫א !? א‬/ !"EFW (,- ‫א‬

&‚‫א‬JK?5/0K(5H<‫אא‬CYS5© .0K(o* . ،"C=‫א‬Hyvž3‫א‬K63‫א‬Hy™ ‚
 .K6JK?5/U8 =‫א‬
DV‫'א‬H?D~&H&;?B  ،0K(5‫א‬JW%&>?5@RK'H?D\‫?"?'&א‬
%&>?5+5.E.3‚K$3 V‫א‬D‫א‬J ‫א‬RV?o.E3 V‫א‬D‫א‬RV?Kl?‫;א‬$78، ‫א‬# R  .&
*QK(oKt&NC'? .3  4K(5'?F‫ א‬.(‫ א‬MHsV?Kdk5Varibale
 .Public

Public Num As Integer

 .{W‫(א‬¢ ,− )H4¤‫( א‬$.E
 .Lable2†*$%&&‚‫א א‬4b 3‚K$

١٠٦
 :'H?Q‫אא‬CYH4¤‫א‬$U8;‫ א‬

If MSFlexGrid1.Row = 0 Then Exit Sub

MSFlexGrid1.Col = 1
Frm_Edit_SP.Num = MSFlexGrid1.Text
MSFlexGrid1.Col = 2
Frm_Edit_SP.Label3.Caption = MSFlexGrid1.Text
MSFlexGrid1.Col = 3
Frm_Edit_SP.MaskEdBox1.Text =
Format(MSFlexGrid1.Text, "dd/mm/yyyy("
MSFlexGrid1.Col = 4
Frm_Edit_SP.Text2.Text = MSFlexGrid1.Text
MSFlexGrid1.Col = 5
Frm_Edit_SP.Text1.Text = MSFlexGrid1.Text

Frm_Edit_SP.Show 1
Refresh_Me


 .0K(5‫ א‬.& 55™ E Kr‫'א‬H?Q‫א‬U8;‫ (א‬
 :&‚\&OW\‫א‬E[5K‫אא‬L

If Val(Text2.Text) <= 0 Then
MsgBox،" .B‫א‬OW\‫א‬7"vbExclamation + arabicDV‫"א‬،
" .&
Exit Sub
End If


 : =‫ א‬.(‫א‬v ,0P‫א‬U805 †


١٠٧
If T5.RecordCount = 0 Then Exit Sub
T5.MoveFirst
For i = 0 To T5.RecordCount - 1
If T5!Number = lbl_num.Caption Then Exit For
T5.MoveNext
Next i


 † ، .(‫א‬nCY0M* &2E.ElV !‫;?'&\א‬$nCY0K(5‫ א‬.&¬(o;‫ א‬
 .3Ko(Kr‫ א‬.(‫א‬DV‫א‬،j‫ א‬.(‫"א‬C )R ‫ א‬.&C Qo

 :?^‫א‚&א‬U837 $05‫א‬C

If T1.RecordCount <> 0 Then T1.MoveFirst
For i = 0 To T1.RecordCount - 1
If T1!Number = T5!product Then Exit For
T1.MoveNext
Next i


 :`5‫א‬0B_N: T5J?(|Kc'? †

If T5!kind = 0 Then
BUY
Else
SEL
End If


JK(5‫א‬ª(RDV7‫א‬OW.45Ih.M;‫א‬C‫;א‬5 .(‫א‬.YBuy Sel;$|
 :^ ‫א‬


١٠٨
Sub BUY()
If Val(Text2.Text) > T1!Count + T5!Count Then
MsgBox&":`Y D?5di4^oF‫ א‬.B‫"א‬Val(Text2.Text"&(
&":3  −0K(5‫א¡א‬:8−\?6?‫א‬T1!Count + T5!Count,
vbExclamation + arabic"D?5di .E"،
Exit Sub
End If

T1.Edit
T1!Count = T1!Count + T5!Count
T1!Count = T1!Count - Val(Text2.Text(
T1.Update

With T5
.Edit
!product = T1!Number
!Date = MaskEdBox1.Text
!Count = Val(Text2.Text(
!price = Val(Text1.Text(
!kind = 0
.Update
End With

MsgBox&":3  &‚‫א‬6?K،‹P .(‫א‬2•"T1!Count"&
،" vbInformation + arabic" .(‫"א•'א‬،
Unload Me
End Sub


 

١٠٩

Sub SEL()
T1.Edit
T1!Count = T1!Count - T5!Count
T1!Count = T1!Count + Val(Text2.Text(
T1.Update

With T5
.Edit
!product = T1!Number
!Date = MaskEdBox1.Text
!Count = Val(Text2.Text(
!price = Val(Text1.Text(
!kind = 1
.Update
End With

MsgBox&":3  &‚‫א‬6?K،‹P .(‫א‬2•"T1!Count"&
،" vbInformation + arabic" .(‫"א•'א‬،
Unload Me
End Sub


 :9w‫א‬xO ‫א‬B l!r`

R )s '?o‫\א‬0.&U8¿>:¿\‘5³n\ >C‫?;א™א‬dko .&+
dk5‫א‬L;<~‫?א(\א‬Y "?Q‫(\א‬d k5‫א‬d  ،MSFlexGridL\?6?‫?א;א‬7‫א‬
;‫ א‬...` X‫ ` א™א‬X‫?\א‬.(‫א‬0Y1R٥?Y .&!‫ (Š(\א‬،Mycnt
 :‫אא‬nCY

١١٠

Sub Clear_Color()
For i = 1 To MyCnt
For j = 1 To 5
MSFlexGrid1.Row = i
MSFlexGrid1.Col = j
MSFlexGrid1.CellBackColor = QBColor(15(
Next j
Next i

،N O‫?א‬P DL;‫א!?א‬O? J?(‫א‬K<ª !‫(¬א‬o(QBColor(15;$|
 :`5‫א‬GH‫א‬R6‫א‬H
 http://www.c4arab.com/showlesson.php?lesid=2320

L`=‫ א™א‬M˜Q5³;$(B .O r‫א‬%&‫א‬w LK‫אאא‬nCY¢t‫ א‬5K
 .dk5
`p‫?\א‬.(‫אא‬$K0E،ClickO r‫א‬%&‫א‬$L3‚K$w+ ‫א‬:
 .3‫א‬$;?‫א‬0(Œ ™‫א‬J†RG\‫א‬%5
 :`5‫?\א‬B‫ ˜א‬7

If MSFlexGrid1.Row = 0 Then Exit Sub
Now_Row = MSFlexGrid1.Row
Clear_Color
MSFlexGrid1.Row = Now_Row
For i = 1 To 5
MSFlexGrid1.Col = i
MSFlexGrid1.CellBackColor = QBColor(12(
Next i

W-€DsBj،* &^kV0ERª !‫?;א‬O r‫א‬0Es37Bj ***
 .K+5‫ א‬.&(0PW-. MK<~5N: ،nKc¡0P

١١١

 :op‫א‬y'v3WBu‫א‬7;
E[5‫(א‬N: ‫؟‬H‫א‬.57‫א‬Ko2y0Y،K 5‫אא‬H4¤'?"C=‫ א‬.&K‫א‬L
 .Row=0L$

If MSFlexGrid1.Row = 0 Then Exit Sub
Dim sure
sure = MsgBox،"‫ ؟‬.(‫א‬nCY"C  E[5Ko0Y")vbQuestion +
vbYesNo + arabic(""،
If sure = vbNo Then Exit Sub


 $\Ky)4 &2ooF‫א‬gX5‫א‬DE  .(‫א‬nCY"C Ko0Y،3‫א‬K63‫א‬H W4b;‫ א‬
 ‫ ؟‬B!‫ א‬k‫'א‬$،€D\²‫"א‬C=‫'א‬$(&‚‫א—א‬

sure = MsgBoxS $\Ky)4 &o‫א‬gX5‫א‬DE  .(‫"א‬C Ko0Y")
،"‫€؟‬D"C=‫'א‬$(&‚vbQuestion + vbYesNoCancel + arabic،
(""C=‫ א‬E[o"
If sure = vbCancel Then Exit Sub


 :A?^‫א‬0P‫א‬U8\(‫`א‬Y.E05;‫ א‬

MSFlexGrid1.Col = 1
If T5.RecordCount <> 0 Then T5.MoveFirst
MsgBox MSFlexGrid1.Text
For i = 0 To T5.RecordCount - 1
If T5!Number = MSFlexGrid1.Text Then Exit For
T5.MoveNext
Next i

١١٢
 :`5‫א‬0B_N: ،N:0.('?D4 &o‫א‬gX5‫א‬DER45‫א‬y‫א‬KK;E‫א‬:8;‫ א‬

If sure = vbYes Then
If T1.RecordCount <> 0 Then T1.MoveFirst
For i = 0 To T1.RecordCount - 1
If T1!Number = T5!product Then Exit For
T1.MoveNext
Next i
T1.Edit
Select Case T5!kind
Case 0
T1!Count = T1!Count + T5!Count
Case 1
T1!Count = T1!Count - T5!Count
End Select
T1.Update
End If

 ."C=‫א‬$H \`o[K †

T5.Delete

 . †Refresh_Me$`&5o;$‰o73‫א‬dW$

Refresh_Me

 .J( ‫א‬L B+5‫א‬#_—e‫א‬Refresh_Me$L^ JK(o
 : ‫א‬6‫א‬K4`5‫א‬7‫א‬DV‫?א‬YN &0E،3‫א‬6€ O !‫א‬0K(5‫א‬

MSFlexGrid1.Row = 0

 . .(‫א‬nCY(( `#7)%&#‡‫™א‬K`BN:

١١٣
 H‫א‬B5‫ א‬0M`5‫א!א‬R‚NC، .(‫א‬LFrm_Wait'‫~א‬5‫?א‬Y`p‫א‬0K(5‫א‬

Frm_Wait.Show
Frm_Wait.ProgressBar1.Max = T5.RecordCount
Frm_Wait.ProgressBar1.Min = 0
Frm_Wait.ProgressBar1.Value = 0

 :`5‫א!א‬v5BH‫א‬B5‫ א‬0W‫ א‬

Frm_Wait.ProgressBar1.Value =
Frm_Wait.ProgressBar1.Value + 1
DoEvents

 .Frm_ShowL3.(o.E\?B‫א‬K4L

Unload Frm_Wait



     

prog12.zip 




 :`K%&>?5cF‫( א‬s) &Q‫א‬.X‫א‬R0(5 ، H\R5;‫ א‬
 .RX‚‫א‬R )*
 .l‫א!?א‬R )*
 .K\H?‫א‬R )*
 .R ‫א‬J .&R )*
 . ‫א_א‬J .&R )*

١١٤
 .–_ ‫א‬6‫א‬h&N:0.('?

3 .Es•4$| −0M!‫א‬%&− .(‫א‬nC]KCcFHH4¤‫א‬7 .&0E 0M
 .J ‫א‬3‫א‬dE
 :`5‫א‬0B_;?B5 ،J .(‫א‬R .r ?;5‫ א‬

Dim sure
sure = MsgBox،"‫؟‬nCY"C=‫ א‬.&'•‫ א‬E[5Ko0Y")vbYesNo +
vbExclamation + arabic(""C=‫ א‬.& E[o"،
If sure = vbNo Then Exit Sub
sure = MsgBox،"‫؟‬H‫א‬.57‫א‬Ko2y0Y،R6‫אא‬NBjD(52.M‫א‬:8")
vbExclamation + vbYesNo + arabic(""C=‫ א‬.& E[o"،
If sure = vbNo Then Exit Sub


`&5"?. M0ER ،Index ,W. Mv Q5~‫א‬J(KQ5‫א‬L$ †
،*o .&"C  5o>C‫א‬O r‫א‬dk ،*4boF‫אא‬. MdkB،€D3‫ א א‬À ‫א‬6‫א‬
 :`5‫ ˜א!א‬7

Sub DEL(ByRef Table As Recordset, ByVal msg As
String(

T1;?BK;$Bj)RecordSetl?Table05"? ‫א‬67‫א‬L$¬(K‫א‬CY
 .4b5F‫א‬KC+5‫א‬HS?Y msgU8DV‫(א‬...T2 $
%&* ^o 5K"? ‫א‬67‫א‬OWTableLw+ >C‫א‬d k5‫;א‬$ByRef%(
 .0,!‫א‬%&‰B(Kd k5‫;א‬$N:%(.DByVal$،4H$>C‫א‬O r‫א‬

 :`5‫א‬0B_ ‫א‬67‫אא‬CY;?B 


١١٥
Sub DEL(ByRef Table As Recordset, ByVal msg As
String(
If Table.RecordCount = 0 Then
MsgBox،"4DC=J >$6?o7"vbExclamation + arabicŠ&"،
"RX‚‫א‬
Exit Sub
End If

Dim sure
sure = MsgBox(msg, vbYesNo + vbExclamation + arabic،
(""C=‫ א‬.& E[o"
If sure = vbNo Then Exit Sub

Table.MoveFirst
For i = 0 To Table.RecordCount - 1
Table.Delete
Table.MoveNext
Next i

MsgBox،"‹P"C=‫ א‬.&2•"vbInformation + arabic .&'•‫"א‬،
""C=‫א‬
End Sub

، ] ‫א  א‬6‫א‬0.&BjK^‫‰א‬Q%(D،JK_‫ א‬J( ‫"א‬C ?Y `p‫< א‬r‫א‬$
 :`5‫?\א‬B‫ ˜א‬7. ‫ _א‬$R <oF‫ א‬١ $٠. ML™5©*B

Sub DEL2(ByVal knd As Byte(
If T5.RecordCount = 0 Then
MsgBox،"4DC=J >$6?o7"vbExclamation + arabicŠ&"،
"RX‚‫א‬
Exit Sub
End If

١١٦
T5.MoveFirst
For i = 0 To T5.RecordCount - 1
If T5!kind = knd Then T5.Delete
T5.MoveNext
Next i

MsgBox،"‹P"C=‫ א‬.&2•"vbInformation + arabic .&'•‫"א‬،
""C=‫א‬
End Sub

 :`5‫א‬0B_O r‫א‬v  &57‫?;א‬BK‫א‬:06$

Select Case Index
Case 0
DEL T1Ko0Y، ‫ א_א‬R ‫א‬J .&R )"C `‚5KRX‚‫"א‬C ;8"،
"‫؟‬H‫א‬.57‫א‬
Case 1
DEL T2"‫؟‬H‫א‬.57‫א‬Ko0Y،RX‚‫א‬R )"C `‚5Kl‫"א!?א‬C ;8"،
Case 2
DEL T3"‫؟‬H‫א‬.57‫א‬Ko0Y،RX‚‫א‬R )"C `‚5KK\H?‫"א‬C ;8"،
Case 4
DEL2 0
Case 5
DEL2 1
End Select


nC4YH5W‫א‬BjF‫א‬O‫א א‬dpB‫א‬J6?gh‫א‬U8J&?:Yb ***
 .Ydi ،O ‫א‬PŠ&J‫!\ א‬Array0.( ،K^‫א‬

     




prog13.zip


١١٧



 : w‫א‬/ ",l!r`

 .{W$ ،™o]‫ א‬MH،0‫א א‬%&>?5cdk,## .#_‫א‬nCYL
 .Frm_User* .
 .#_‫א‬nCY &5‫ אא‬$L$،;‫ א‬

Select Case Index
Case 0
Frm_User.Text1.Text = Info(2(
Frm_User.Text2.Text = Info(3(
Frm_User.Text3.Text = Info(4(
Frm_NewUser.Show 1
End Select


 .'H?Q‫אא‬CY¢i‫א‬HyLUnload Me$
 :`o'?;‫ א‬
L.(o.EN: .™o]‫ א‬MHRKey_PressL€D'MH!‫א‬E[5‫א‬w DV‫*א‬
 .‫א‬G H‫א‬
 .(0K(o)HyK‫א‬LY\?6 '& LJ?(. V‫א‬D‫ א‬MRV *

If Text1.Text = "" Then
Text1.Text"`EC‫א‬RX‫א‬g"=
End If

If Text2.Text = "" Then

١١٨
Text2.Text = "0"
End If

If Text3.Text = "" Then
Text3.Text"A(N O‫?א‬P D{5 .ogh‫="א‬
Text3.Text = Text3.Text & vbNewLine%&RM?‫א‬HKyNB"&
€‫אאא‬CYwww.vb4arab.com/vb"
Text3.Text = Text3.Text & vbNewLinev ,‫ א‬$"&
` B‫א‬Kh‫א‬nCY%&gh‫א‬Hammada2091@Hotmail.com"
End If


 .0P‫א‬JK?5/0K(5Edit!‫~א'א‬5‫*א‬

Set T4 = D1.OpenRecordset("Tb_User", dbOpenTable(

T4.Edit
T4!Name = Text1.Text
T4!Telephone = Text2.Text
T4!More = Text3.Text
T4.Update


 .J ‫&א‬M¢i‫ א‬InfoD?Q‫א‬J?(|Kc*

T4.MoveFirst
Info(2) = T4!Name
Info(3) = T4!Telephone
Info(4) = T4!More

T4.Close

١١٩
 .Startw=‫& א‬5‫ א‬#_‫ א‬QW‫*א‬

Unload Me
Call Start

 :3G ‫'א‬E"Jl!r`

 .`5‫א‬0B_N: ،'H?D .o; \InputBoxOW .(‫א‬nCY'?
 :H ‫א‬.Ed ko E[o H ‫א‬J.EK<~5J‫א‬dk5w†™ ‚*

Dim A1, A2, sure

 :H‫א‬.5\?6?‫א‬.B45H ،j‫א‬H ‫א‬.Evt*

A1 = InputBox("H ‫א‬.Ed ko"،"j‫א‬H ‫א‬.E0W\‫א‬3‚D")
If A1 = "" Then Exit Sub
If A1 <> Info(1) Then
MsgBox،"!9tWH .E"vbCritical + arabic"H ‫א‬.Ed ko"،
Exit Sub
End If

 :A1L4<° Kr‫א‬H ‫א‬.EOW\‫א‬vt*

A1 = InputBox("H ‫א‬.Ed ko"،"Kr‫א‬H ‫א‬.E0W\‫)"א‬
If A1 = "" Then Exit Sub
If Len(A1) < 3 Or Len(A1) > 12 Then
MsgBox،"" ١٢ ٣H ‫א‬.E;?Bo;$7"vbExclamation +
arabic"K6'~50 Po"،
Exit Sub
End If

١٢٠
 :A1LU !‫א‬.B45H ،A2LH ‫א‬.E E[oOW\‫א‬vt*

A2 = InputBox("H ‫א‬.Ed ko"،"Kr‫א‬H ‫א‬.E E[o0W\‫)"א‬
If A2 = "" Then Exit Sub
If A1 <> A2 Then
MsgBox،"!5^5diH 5.E"vbCritical + arabic.Ed ko"،
"H ‫א‬
Exit Sub
End If

 :H ‫א‬.Ed ko E[oHH4¤‫*א‬

sure = MsgBox،"H ‫א‬.Ed ko E[5Ko0Y")vbYesNo +
vbExclamation + arabic("H ‫א‬.Ed ko"،
If sure = vbNo Then Exit Sub

 :Kr‫א‬.B4K(o J ‫&א‬Ms5D*

Set T4 = D1.OpenRecordset("Tb_User", dbOpenTable(
T4.Edit
T4!PassWord = A1
T4.Update

 :j‫א‬.BdECoHH4¤‫( א‬Info(1LKr‫א‬.B‫א‬RV 3‫א‬dW$ *

T4.MoveFirst
Info(1) = T4!PassWord
T4.Close

MsgBox&":`YH ‫א‬.E;$‰o7"Info(1), vbInformation +
arabic"H ‫א‬.BdECo"،

١٢١
     




prog14.zip


 ..X‫א‬,&`MO.E‫א‬%5 35M‡(`t 5 7‫& )א”א‬Q‫א‬.X‫א‬y P5

 .',  ‫!א‬+z
>C‫א^(( א‬B•)HyU8DV‫?\א‬6?‫א‬J(^.XM%&(^‫ <א‬41'H?D>?5+ 
 .!‫ א‬k7W-Hy . V‫א‬D7‫א^(א‬4(ž'?K
 .Frm_Printer*ˆ‫' א‬H?Q‫אא‬CY .,;‫ א‬
 .>?(‫€א‬K_‫א‬Oy$ ،™5‫א‬L*(V  M،JH?Q‫א‬0ER\(‫`א‬Y.E

 :\?B‫א‬5EJ‫^?א‬WU8;‫ א‬
 .J(t\?6 37 $E[5#_‫א‬nCYH4¤‫א‬$L37 $*

Case 5
If Printers.Count = 0 Then
MsgBox،"y4r5J(t>$6?o7"vbExclamation +
arabic"(t6?o7"،
Exit Sub
End If
Frm_Printer.Show 1


 :.X‫א‬Ly4r5‫א‬J(^‫א‬R‚;$7#_‫א‬nC]Form_Loadw L*

List1.Clear
Dim I
For I = 0 To Printers.Count - 1
List1.AddItem Printers(I).DeviceName
Next I

١٢٢
 :#_‫א‬k † ،o? ?B V‫א‬D‫(א‬t4 (((^‫א‬B•)\?EL*

If List1.ListIndex < 0 Then Exit Sub
Set Printer = Printers(List1.ListIndex(
Unload Me

 :!‫ א‬k‫א‬HyL *

Unload Me

NQ4+QoNBj (^(5‫™א‬X¤?‫ א‬Y$%&DV‫א‬PrinterXB‫?>א‬5@
(6‫א‬Bj&^‫א‬XEO? K<‫א‬D( ،Printers&?.²‫~א'א‬5‫א‬3‚K$NBj ،
 :€‫אאא‬CY%&.(X5.&^‫א‬XE)>d(‫`א‬Eo:5!‫א‬GH\
http://72.14.207.104/search?q=cache:1iNBcyeAXGwJ:ww
 w.vb4arab.com/vb/showthread.php

N O‫?א‬P D{59~‫א‬Google J+Q,{ 8+Q‫א‬nC4D€‫אא‬Y¤?Y.E
H?p(‫א‬NB;mD،JK?5‫&Šא‬A?!‫אא‬C]3 oBoŽ‫א‬:8 .*Mi‫א‬0MA(
 .(*6?5‫ א‬XEI?³)A5ELJ?(‫א‬ª(%&



dpE^$5ELoKY6O + ،^  -0.&GH‫אא‬CYOWK? (5
 .H‫א‬HyxIndex ,W%&N:LK.5(

d koR 7‫‰א‬Q‫\א‬$pE$ .os 5oF‫ א‬,e‫`א‬4DIndex ,W"(K7
 .J‫א!\ א‬ArrayD?Q0.('?o48W-%( $،€D ,e‫א‬nCY. M
 .J‫א!\ א‬nCYR .r–_\?ERV 3‚K$ ,e‫א‬nCYs 5o


١٢٣
،Trueso| ¦MDIChild ,W€‚ ،dk,'H?D .oL$N:06$
 .gh‫א‬0.& †$'H?Q‫אא‬CY'‫~א‬5‫א‬BN:
 :`K%&'H?Q‫אא‬CY>?5@

'MH!‫א‬%&Caption ,WL>?5c١٠U8٠Index Command1
 .,Q‫א‬U8DV‫א‬٩%5 ٠v o
 .H#7‫א‬d k55±`Y −/+%&Caption ,WL>?5@ Command2
 ./،*،−،+: 5‫א‬J .(‫א‬%&>?5c٣U8٠Index Command3
 .=%&>?5@ Command4
sCE 5‫א‬y?‫א‬%&>?5c٢%5 ٠Index%&>?5@ Command5
 .‫א‬¢i7Off ،K6Je‫א‬¹‫א‬D7C، =‫ א‬.(‫א‬
، MHK<~5MS%&>?5@ ٢%5 ٠Index%&>?5@ Command6
 .K<~5‫א‬¹‫א‬D7MC،K<~5‫א‬l67MR

 .J .(‫א‬W?Y Text1
*$ K| ¦O !‫א‬R‫א‬%&*(V O  ، =‫א‬H#7‫א‬sV?oF‫א‬e‫`א‬Y Text2
 .*W‫א‬
 ..4 Dv&5‫א‬RTrueso| ¦(‫א‬KC]LockedF ,W€V‫ א‬

dk5 ،E‫א‬C‫א‬0/0+ doublel?‫א‬Memorydk5،J‫א‬dk5††™V$;‫ א‬
Booleanl?‫א‬dk5?Y ThereO !‫ א‬M‫א‬%&>?5+ >C‫ א‬l?‫‰א‬QFirst
^kVO $R*e‫א‬s•| ¦= $J .(‫ א‬$%&^kVM?5E‫א‬:8K?Y
 . M

Dim First As Double
Dim There As Boolean
Dim Memory As Double


١٢٤
K<;$?Y,Q‫' א‬MH!‫א‬L* 8‘5³0BD{o.E ،'MH!‫א‬R0(5‫?א‬Y`p‫א!א‬
 .* &z?k‚‫א‬H<‫א‬JK?5+Text1S‫א‬R
 .* &z?k‚‫א‬H<CaptionU8DV‫א‬S‫א‬R=S‫א‬R0P;:8
 :37 $e‫א‬¹QmD78 ،False%&>?5cThere;$E[5N:0MB

If There = True Then
There = False
Text1.Text""=
End If
Text1.Text = Text1.Text & Command1(Index).Caption

€‚ † ،Calc_Me4 .‫\א‬37 $`&5، =‫א‬J .(‫< א‬6U8;‫ א‬
L =‫א(א‬R‚،NCDV‫ א‬، =‫ א‬M‫א‬FirstLR‚ ،True%&There
 .Text2

Call Calc_Me
There = True
First = Val(Text1.Text(
Text2.Text = Command3(Index).Caption

4$%& Text2. Mh5~>C‫ א‬،Calc_Me ‫א‬67‫א‬0B#;?B ™ E
 :Text1L4(‚ Text1 First =‫ א‬.(‫א‬0.('?"?

Select Case Text2.Text
Case"+"
Text1.Text = First + Val(Text1.Text(
Case"−"
Text1.Text = First - Val(Text1.Text(
Case"*"
Text1.Text = First * Val(Text1.Text(

١٢٥
Case"/"
Text1.Text = First / Val(Text1.Text(
End Select

™M?5K7`B ،OverFlow $،3pQ‫א‬%&.M&1 ^W$wcM*! B
 : ‫א‬67‫א‬K‫א‬L 5‫א‬H(‫א‬R‚mDgh‫א‬

On Error Resume Next

0E;<T ،[^e‫אא‬C4H4b| ،[^W"_5E‫?¡א‬w@‫א‬:R‚\?B‫א‬W-L
 :ErrXB‫א‬L[^e‫א‬J?(

If Err Then
MsgBox Err.Description, vbCritical&"[^W"،Err
Err.Clear
End If

W¹Q † ،Calc_Me ‫א‬67‫&`א‬5$b 7? ،=$U8{W$(
 .There=TrueR‚ Text2 .(‫א‬

Call Calc_Me
There = True
Text2.Text""=

 .Off CE C%&>?5cF‫ א‬Command5‫ א‬$;‫ א‬

Select Case Index
Case 0
Text1.Text""=
Text2.Text""=

١٢٦
Case 1
Text1.Text""=
Case 2
Unload Me
End Select

 :MC MR MS‫ א‬$3‫א‬dW$

Select Case Index
Case 0
Memory = Val(Text1.Text(
Case 1
Text1.Text = Memory
There = False
Case 2
Memory = 0
End Select


 ‫א‬67‫& א‬5‫ א‬Index ,W‫א‬0‚Q &JD \‫?א‬E!‫ א‬E˜ o;$3 6NBj
 .w 0ER*55E37Calc_Me

 .'H?QK!‫ א‬%&!‫א^"א‬Ln4b ،'H?Q‫אא‬CYH4¤‫?\א‬E{،;‫ א‬

Case 7
Frm_Calc.Width = 3105
Frm_Calc.Height = 2640
Frm_Calc.Top = 0 ' MDIForm1.Height -
Frm_Calc.Height
Frm_Calc.Left = 0
Frm_Calc.Show


١٢٧
 .m!` {.‫'א‬N 8* )7: V-;‫א‬

\H? B‫א‬%&^kV>$‫א‬C4 Trueso| ¦'H?QKeyPreview ,W37 $€‚
 .'H?Q‫אא‬C]Key_Pressw 4‰@'H?Q‫אא‬CYL

 ،z?k‚‫א‬H<Ascii`B-\?E?Y3‫א‬dk505KKey_Pressw ;$"(;‫ א‬
 .]0‫א‬H<‫א‬%&€k‚;$R ^5N:OW
 :`5‫א‬0B_(Command1(0%&€k‚–:06$،Q‫(¬א‬K٤٨ M‫א‬3p.D

Command1(0).Value = True

 .٤٨+ M‫>א‬$،٥٧%5 ٤٨3MH$CW[oF‫' א‬MH!‫`א‬MRNCE
 :Key_Pressw L`5‫?\א‬B‫א‬v5B;$R ^5‫א‬M(‫ א‬

If KeyAscii < 58 And KeyAscii >= 48 Then
Command1(KeyAscii - 48).Value = True

Hy٢٧،RH!‫א‬J .(‫א‬٤٧ ٤٥ ٤٣ ٤٢،,Q‫(¬א‬o٤٦D،S ~5‫א‬K<0.B;‫ א‬
 .=;?B >C‫ א‬Enter<K١٣3‚K$،‫א‬LC<K*(P>C‫ א‬Esc
 :`5‫?\א‬B‫א‬v5BN:06$

ElseIf KeyAscii = 46 Then
Command1(10).Value = True
ElseIf KeyAscii = 13 Then
Command4.Value = True
ElseIf KeyAscii = 42 Then
Command3(2).Value = True
ElseIf KeyAscii = 43 Then
Command3(0).Value = True
ElseIf KeyAscii = 45 Then
Command3(1).Value = True

١٢٨
ElseIf KeyAscii = 47 Then
Command3(3).Value = True
ElseIf KeyAscii = 27 Then
Command5(1).Value = True

H ‫א‬3S55F‫ א‬Left‫\א‬NC'~5 .BackSpace<o٨3‫א‬dW$
 :`5‫א‬0B_N: ،١−S‫א‬O?^

ElseIf KeyAscii = 8 Then
If Len(Text1.Text) <> 0 Then Text1.Text =
Left(Text1.Text, Len(Text1.Text) - 1(

 .s oQ‫'? א‬MH!‫א‬O57<Y65-;?Bo‫א‬C4
     




prog16.zip





”?Y*'?;80،3E3 t 5 ‫א‬3~* .;$BjGH‫אא‬CYL”'?
 .J ‫&א‬M™
~\(57Copy_2 ، t 5 ‫~א‬0.(Copy_MeK ‫א‬6‫א‬0.($
 :`5‫א‬0B_!‫א‬v5B ، t 5 ‫א‬

Select Case Index
Case 0
Copy_Me
Case 1
Copy_2
End Select

١٢٩

s5QKH‫א=?א‬J(‫א‬4o,5W‫א‬.VF‫ א‬CommonDialog‫\א‬$™ ‚;‫ א‬
™ ‚mDPicture{?* &J‫\ א‬$>$DV‫א‬0K7MDIForm;E ،˜Q=‫ א‬
 .‫א!\א‬4 &R‚ ،Visible=False0(Œ  ‫ א‬
Microsoft CommonDialog Control W‫ א‬Ctrl+T€kV‫א!\אא‬DV7
 .6.0

 :Copy_Me3>‫'א‬v3
 : ^W!‫א‬LoH&v5B"?!‫אא‬CYK‫א‬L

On Error GoTo 11

 :!‫א‬W-L

:١١
Exit Sub


  ‫א‬67‫ א‬4n[١١^‫א‬L ،١١^‫א‬U8*6?o[^WJ6 O L*$gh‫א‬h©‫א‬CY
!‫ א‬k‫א‬0(ŒmD‘©(Cancel−!‫ א‬k‫)א‬%&€k‚K&'~5‫א‬0(Œ`B
 :`5‫א‬0B_[^W

CommonDialog1.CancelError = True

 :4bQ  5 F‫א‬JQ‫א‬l? ،;‫ † ‚€א(?א‬

CommonDialog1.CancelError = True
CommonDialog1.DialogTitle"˜Q+A?^‫;א‬B‫א‬W‫="א‬
CommonDialog1.Filter = "Access File|*.mdb"|

١٣٠
 :˜Q+>H‫א=?א‬R‫א‬4b3‫א‬dW$

CommonDialog1.ShowSave

™‫( א א‬o. DFileName ,e‫א‬L™‫א‬+H.0B‫ א‬7‫א‬Q ¤?‫א‬nCY (5
 .FileTitleL€D

0.@™ †‰ *$ ،¹HD*$E[5D،™‫א א‬%&J‫א‬H5W7‫>א;א‬P
 :;B‫‰א‬QL 7‫‰א‬Q

If CommonDialog1.FileTitle = "" Then Exit Sub

If Dir(CommonDialog1.FileName) <> "" Then
MsgBox،"\‫א‬H‫א‬L ‫‰א‬Q™6?o"vbExclamation +
arabic"\‫א‬d5‫"” א‬،
Exit Sub
End If


 :J ‫&א‬M¢i‫א‬7”3‫ א‬4•;‫ א‬

D1.Close


 :”‫א‬$ †

FileCopy Folder & "db1.mdb", CommonDialog1.FileName



١٣١
 :K6J ‫&א‬Ms5D (

Set D1 = DBEngine.Workspaces(0).OpenDatabase(Folder
& "Db1.mdb", False, False, ";pwd=" & PassWord(

Set T1 = D1.OpenRecordset("Tb_Product", dbOpenTable(
Set T2 = D1.OpenRecordset("Tb_Category",
dbOpenTable(
Set T3 = D1.OpenRecordset("Tb_Factory", dbOpenTable(
Set T5 = D1.OpenRecordset("Tb_Sel_Bay",
dbOpenTable(

 :‹P .(‫•'א‬H †

MsgBox&":U8‹PJ ‫&א‬M”¡"
CommonDialog1.FileName, vbInformation + arabic”"،
"\‫א‬d5‫ א‬


 :`5‫א‬0B_Copy_Me!0B‫?\א‬B‫א‬sK‫א‬C4

Private Sub Copy_Me()
On Error GoTo 11
CommonDialog1.CancelError = True
CommonDialog1.DialogTitle"˜Q+A?^‫;א‬B‫א‬W‫="א‬
CommonDialog1.Filter = "Access File|*.mdb"|
CommonDialog1.ShowSave

If CommonDialog1.FileTitle = "" Then Exit Sub

١٣٢

If Dir(CommonDialog1.FileName) <> "" Then
MsgBox،"\‫א‬H‫א‬L ‫‰א‬Q™6?o"vbExclamation +
arabic"\‫א‬d5‫"” א‬،
Exit Sub
End If

D1.Close

FileCopy Folder & "db1.mdb", CommonDialog1.FileName

Set D1 = DBEngine.Workspaces(0).OpenDatabase(Folder
& "Db1.mdb", False, False, ";pwd=" & PassWord(

Set T1 = D1.OpenRecordset("Tb_Product", dbOpenTable(
Set T2 = D1.OpenRecordset("Tb_Category",
dbOpenTable(
Set T3 = D1.OpenRecordset("Tb_Factory", dbOpenTable(
Set T5 = D1.OpenRecordset("Tb_Sel_Bay",
dbOpenTable(


MsgBox&":U8‹PJ ‫&א‬M”¡"
CommonDialog1.FileName, vbInformation + arabic”"،
"\‫א‬d5‫ א‬
:١١
Exit Sub
End Sub



١٣٣
 :Copy_23>‫'א‬v3

،\?B‫א‬K‫א‬L>H‫א=?א‬R‫א‬SXW€‚ [^e‫?א\א‬E$R‚،‫א!א‬RO=‫?א‬Y.E
 .Save37Open4b$!8

On Error GoTo 12
CommonDialog1.CancelError = True
CommonDialog1.DialogTitle"?^‫;א&א‬BW‫="א‬
CommonDialog1.Filter = "Access File|*.mdb"|
CommonDialog1.ShowOpen

 :™‫?\א‬6 E[5 †

If CommonDialog1.FileTitle = "" Then Exit Sub

If Dir(CommonDialog1.FileName) = "" Then
MsgBox،"­tWJ &M ‫"א‬vbExclamation + arabic”"،
"\‫א‬d5‫ א‬
Exit Sub
End If


4~N:L5Bj− =‫"א&א‬C@"?&‫א\א‬d5‫[;א‬KKCcH4b
 .−N:0M3 t 5 ‫א‬

Dim SuRe
SuRe = MsgBox&‫"א‬C U8>\‡K"?nCYJ ‫א\–&א‬d5‫;א‬8")
،"‫؟‬H‫א‬.57‫א‬Ko2y0Y، =‫א‬vbExclamation + arabic +
vbYesNo("\‫א‬d5‫"” א‬،
If SuRe = vbNo Then Exit Sub

١٣٤
&‫א‬vŒ 4DC³ †،J6 ;8€D ‫ א‬,W0K< ، =‫א‬J ‫&א‬Mk
 :4BKr‫א‬

D1.Close

SetAttr Folder & "db1.mdb", vbNormal
Kill Folder & "db1.mdb"

FileCopy CommonDialog1.FileName, Folder & "db1.mdb"

 .Start‫&`אא‬5 †InfoLKr‫א‬J ‫<;א‬° ،3‫\א‬IJ ‫&א‬Ms5Q


 .dk5oŽJ ‫&א‬M;!‫א א‬67‫א‬LNC Ž*

Set D1 = DBEngine.Workspaces(0).OpenDatabase(Folder
& "Db1.mdb", False, False, ";pwd=" & PassWord(

Set T1 = D1.OpenRecordset("Tb_Product", dbOpenTable(
Set T2 = D1.OpenRecordset("Tb_Category",
dbOpenTable(
Set T3 = D1.OpenRecordset("Tb_Factory", dbOpenTable(
Set T5 = D1.OpenRecordset("Tb_Sel_Bay",
dbOpenTable(

Set T4 = D1.OpenRecordset("Tb_User", dbOpenTable(
Info(0) = T4!User_Name
Info(1) = T4!PassWord
Info(2) = T4!Name
Info(3) = T4!Telephone
Info(4) = T4!More
T4.Close
Call Start

١٣٥
 :‹P .(‫•'א‬H4b

MsgBox&":‹PJ ‫&א‬M\‫א‬d5‫"¡א‬
CommonDialog1.FileName & Chr(13nCY0 k_o ;‫ א‬5K"?"&(
،"&‫א‬vbInformation + arabic"\‫א‬d5‫"” א‬،

 :`K.E0B‫?;א!א‬BK‫א‬C4

Private Sub Copy_2()
On Error GoTo 12
CommonDialog1.CancelError = True
CommonDialog1.DialogTitle"?^‫;א&א‬BW‫="א‬
CommonDialog1.Filter = "Access File|*.mdb"|
CommonDialog1.ShowOpen

If CommonDialog1.FileTitle = "" Then Exit Sub

If Dir(CommonDialog1.FileName) = "" Then
MsgBox،"­tWJ &M ‫"א‬vbExclamation + arabic”"،
"\‫א‬d5‫ א‬
Exit Sub
End If

Dim SuRe
SuRe = MsgBox&‫"א‬C U8>\‡K"?nCYJ ‫א\–&א‬d5‫;א‬8")
،"‫؟‬H‫א‬.57‫א‬Ko2y0Y، =‫א‬vbExclamation + arabic +
vbYesNo("\‫א‬d5‫"” א‬،
If SuRe = vbNo Then Exit Sub

D1.Close

١٣٦

SetAttr Folder & "db1.mdb", vbNormal
Kill Folder & "db1.mdb"

FileCopy CommonDialog1.FileName, Folder & "db1.mdb"

Set D1 = DBEngine.Workspaces(0).OpenDatabase(Folder
& "Db1.mdb", False, False, ";pwd=" & PassWord(

Set T1 = D1.OpenRecordset("Tb_Product", dbOpenTable(
Set T2 = D1.OpenRecordset("Tb_Category",
dbOpenTable(
Set T3 = D1.OpenRecordset("Tb_Factory", dbOpenTable(
Set T5 = D1.OpenRecordset("Tb_Sel_Bay",
dbOpenTable(

Set T4 = D1.OpenRecordset("Tb_User", dbOpenTable(
Info(0) = T4!User_Name
Info(1) = T4!PassWord
Info(2) = T4!Name
Info(3) = T4!Telephone
Info(4) = T4!More
T4.Close

Call Start
MsgBox&":‹PJ ‫&א‬M\‫א‬d5‫"¡א‬
CommonDialog1.FileName & Chr(13nCY0 k_o ;‫ א‬5K"?"&(
،"&‫א‬vbInformation + arabic"\‫א‬d5‫"” א‬،
:١٢
Exit Sub
End Sub

١٣٧

     


prog17.zip 





0(ž'?"? ،.X‫א‬L\?6?‫|א‬+‫ א‬.&'•‫א‬G H‫א‬nCYOW‫;א‬:mO +
 .|+‫א‬z #0EL B+5K'~5‫א‬

SR،gX5‫(Šא‬O 6‫\א‬$،#_‫א‬¢i7Hy،|+HyU8#_‫א‬nCYL‘5³
 .|+‫א‬. M5B
،„‫א‬... .B‫א‬،R‫א‬، 7‫א‬L|+‫א‬K0Y\+Combo1U8‘5³NCDV‫א‬
 .=،k,$،hE$− .M‫א=א‬L−|+‫א‬z#"(Combo23‚K$
 :v5B` X‫'א‬H?Q‫א‬LnH4¤‫א‬$L ،MDICHild'H?Q‫אא‬CY0(P

If T1.RecordCount = 0 Then
MsgBoxDV‫א‬−DV‫א‬W‫א‬K6&‚DV7،4&|+RX‚>$6?o7"
،"&‚vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If

Frm_Find.Show


>C‫?\א‬B‫‰א‬Q?Y ،O r‫א‬K?Bo*5.4;?B5>C‫ א‬Create_Flexw [_;‫ א‬
 :`5‫;א^א‬$‫ &א‬4‫א‬،d ko>$; \Frm_ShowL*55B.M

MSFlexGrid1.Rows = T4.RecordCount + 1

١٣٨
 :U8O?+5 

On Error Resume Next
MSFlexGrid1.Rows = T4.RecordCount + 1
If Err = 3420 Then
MSFlexGrid1.Rows = 2
End If

\?B‫אא‬CY ،٣٤٢٠ MH[^e‫א‬vKuk&‫?;א‬E L!‫&`א‬5$‫א‬CYv
 .[^WHH4¤‫('א‬
 :0B‫?\א‬B‫א‬sK‫א‬C4

Sub Create_Flex()
MSFlexGrid1.Clear
MSFlexGrid1.Cols = 8
On Error Resume Next
MSFlexGrid1.Rows = T4.RecordCount + 1
If Err = 3420 Then
MSFlexGrid1.Rows = 2
End If
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.Text"J"=
MSFlexGrid1.Col = 1
MSFlexGrid1.Text" MH"=
MSFlexGrid1.Col = 2
MSFlexGrid1.Text"&‚‫="א א‬
MSFlexGrid1.Col = 3
MSFlexGrid1.Text"l?‫="א‬
MSFlexGrid1.Col = 4
MSFlexGrid1.Text"R‫="א‬
MSFlexGrid1.Col = 5
MSFlexGrid1.Text"(‫="א‬

١٣٩
MSFlexGrid1.Col = 6
MSFlexGrid1.Text"\(‫="א‬
MSFlexGrid1.Col = 7
MSFlexGrid1.Text"¢ ,/ "=

MSFlexGrid1.ColAlignment(0) = 5
MSFlexGrid1.ColAlignment(1) = 5
MSFlexGrid1.ColAlignment(2) = 3
MSFlexGrid1.ColAlignment(3) = 5
MSFlexGrid1.ColAlignment(4) = 5
MSFlexGrid1.ColAlignment(5) = 5
MSFlexGrid1.ColAlignment(6) = 5
MSFlexGrid1.ColAlignment(7) = 5

MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.ColWidth(1) = 500
MSFlexGrid1.ColWidth(2) = 1500
MSFlexGrid1.ColWidth(3) = 1500
MSFlexGrid1.ColWidth(4) = 1500
End Sub


 :Form_Loadw Lv5B‫א‬CY06$

Me.Width = 5625
Me.Height = 5400
Me.Left = ((MDIForm1.Width - Me.Width) / 2(
Me.Top = ((MDIForm1.Height - Me.Height) / 2) - 40
Me.Show

Create_Flex



١٤٠
 :Combo2 Combo1U8‫א‬,(‫ † ‚ ™א‬

Combo1.AddItem"&‚‫"א א‬
Combo1.AddItem"l?‫"א‬
Combo1.AddItem"R‫א‬−\H?‫"א‬
Combo1.AddItem" .B‫"א‬
Combo1.AddItem"(‫"א‬

Combo2.AddItem">"
Combo2.AddItem"<"
Combo2.AddItem"="

Combo1.ListIndex = 0

 †‰ Dl?‫ א‬$R‫ א‬$&‚‫|&א א‬+‫~'א‬5‫א‬H5W‫` א‬QD،3‫א‬$;‫ א‬
 .< >'~5D =‫א‬nCYLJ ‫)=(!;א‬78Combo2H W
 :Combo1_Clickw L`5‫א!א‬v5B‫א‬CY06$

If Combo1.ListIndex <> 3 And Combo1.ListIndex <> 4
Then
Combo2.ListIndex = 2
Combo2.Enabled = False
Else
Combo2.Enabled = True
End If

L\?6?‫א‬w=‫א‬Ldk ،Refresh_Mew ?Yn[_>C‫`א‬p‫א‬w=‫א‬
 :5  XH5^78Frm_Show
 .J .X‫א‬9(5±2EF‫א! אא‬0E0K<:U !‫*א^א‬
 .'(57‫)א‬dk: p‫*א^א‬

١٤١
 :‫('א‬57‫א‬$EC5?

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(

06$ ،'(57‫)א‬K?Bo*5.4;?BoSearch*ˆ‫א‬3† *37`&5 ،*K<
 :`5‫א‬0B_w=‫?\א‬EsKN:

Public Sub Refresh_Me()
Call Search

Create_Flex
If T4.RecordCount = 0 Then Exit Sub

Frm_Wait.Show
Frm_Wait.ProgressBar1.Max = T1.RecordCount
Frm_Wait.ProgressBar1.Min = 0
Frm_Wait.ProgressBar1.Value = 0

T4.MoveLast
T4.MoveFirst
Create_Flex

If T4.RecordCount <> 0 Then
T4.MoveFirst
For I = 0 To T4.RecordCount - 1
Frm_Wait.ProgressBar1.Value =
Frm_Wait.ProgressBar1.Value + 1
DoEvents
MSFlexGrid1.Row = I + 1

١٤٢
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = T4.Fields("tb_product.Number("
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = T4.Fields("tb_product.name("
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = T4.Fields("tb_category.name("
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = T4.Fields("tb_factory.name("
MSFlexGrid1.Col = 5
MSFlexGrid1.Text = T4!price
MSFlexGrid1.Col = 6
MSFlexGrid1.Text = T4.Fields("Count("
MSFlexGrid1.Col = 7
MSFlexGrid1.Text = T4!Box_count

T4.MoveNext
Next I

MSFlexGrid1.Col = 2
MSFlexGrid1.Sort = 7


MSFlexGrid1.Col = 0
For I = 0 To T4.RecordCount - 1
MSFlexGrid1.Row = I + 1
MSFlexGrid1.Text = I + 1
Next I
End If

T4.Close

Unload Frm_Wait
End Sub

١٤٣
 .Search$0.('?™ E{;‫ א‬
Select)0.('?‫א‬CCombo1\‫א‬%&'(57‫)א‬.5(oK‫אא‬L
 :`5‫א‬0B_

Select Case Combo1.ListIndex
Case 0

Case 1
Case 2
Case 3
Case 4

End Select
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(

 :`5‫א‬0B_2EF‫ א‬7‫א‬.r‫א‬%&%5'(57‫א‬0)R )

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number"

 ..r‫א‬nCYW-L|+‫א‬z#™ ‚$78
 :U !‫>א=א‬$Name&|+‫?;)א‬BoN:06$

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number and
tb_product.name='" & Text1.Text"'"&


١٤٤
 ‫?א‬Y*&|+>C‫ א‬7‫=!;א‬tb_product.namev5B;$7$˜ 7*
 .Tb_Product&‚‫א‬

 :l?‫|&א‬+‫>א‬$ p‫ א=א‬

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number and
tb_category.name='" & Text1.Text"'"&

 .l‫א!?א‬O 6*B Name&p¦Y$˜ 7*

 :R‫|&א‬+‫> א‬$pp‫ א=א‬

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number and
tb_factory.name='" & Text1.Text"'"&

‫א‬CY ،< $>;?BK;$Bj*80،3.X‫?\\א‬6?‫?א‬Y(=)z_‫ ‰א‬D5KW!‫א‬5=‫א‬$
 :(‫א=אא‬L'(57‫?;)א‬Bo‫א‬C] ،Combo2. M%&.5(K

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number and count" &
Combo2.Text & Val(Text1.Text(



١٤٥
 :'(57‫?;)א‬BodW!‫א=א‬L

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number and price" &
Combo2.Text & Val(Text1.Text(


     

prog18.zip 





O + ،RX‚‫א‬KHo0.(3‫א‬Kc'? KH5‫א‬.XM0.&LGH‫אא‬CYL‫;א‬:m$
4(0(5F‫( א‬J‫א!\ א‬JD?Q)JD?Q‫?'א‬4Q ^oGH‫אא‬CYOWKY6
%&3‫\א‬.5&‫א‬YH5W‫¡א‬F‫?א\א‬E!‫ א‬.E&,Q‫א‬2+.En? Index ,WOW
 .JD?Q‫א‬

 .'H?Q‫ א‬.5K‫אא‬L$
)K5‫א‬l?K+5H 5W‫`א‬o‫\א‬$ ،RX‚‫א‬4 DŠ(.XMU8‘5+D'H?Q‫א‬JK?5/(D
 .MaskedEditBox‫\א‬$†‫א‬R‚* &  ،(©Ho $0#
MsFlexGeid`o‫\א‬$R‚.E،'H?Q¢i‫א‬Hy ،K5‫א‬C Q5(C Qo)Hy3‚K$R‚
nC] ‫ א_א‬R ‫א‬J .&Š(S5T .١ $٠> KIndex] ، 7‫‰א‬Q.]B
 .&‚‫א‬
K5‫א‬LH5~‫א‚&א‬O? J?(4 DR‚LabelsK &J(‰´3‚K$R‚
 .((‫א‬− .B‫א‬−l?‫א‬−R‫א‬− 7‫)א‬


١٤٦
 .‫ א‬#;8 7GH\U8J X 7‫א‬J .&06‡. D
 .\?B‫א‬5EL  ، .5‫א‬%45‫ א;א‬
.X‫א‬IndexD( † ،RX‚\?6 E5‫א‬${?–Y;?BK` X‫'א‬H?Q‫א‬L
 :`5‫א‬0B_N: 'H?Q‫א‬4b* & 

If T1.RecordCount = 0 Then
MsgBoxDV‫א‬−DV‫א‬W‫א‬K6&‚DV7،4&|+RX‚>$6?o7"
،"&‚vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If
Select Case Index
Case 0
Frm_Report1.Show
End Select


 :lQoH7‫א‬SXW73 $€‚DK5—e‫'א‬H?QForm_Loadw L$

Me.Width = 4800
Me.Height = 6615
Me.Left = ((MDIForm1.Width - Me.Width) / 2(
Me.Top = ((MDIForm1.Height - Me.Height) / 2) - 40
Me.Show

 :MaskEditBox`(L*(‚'? ‫”א‬KHo\³ †

Dim Myday, Mymonth, Myyear
Myday = Day(Now(
If Len(Myday) = 1 Then Myday = 0 & Myday
Mymonth = Month(Now(
If Len(Mymonth) = 1 Then Mymonth = 0 & Mymonth

١٤٧
Myyear = Year(Now(
MaskEdBox1.Text = Myday & "/" & Mymonth & "/" &
Myyear
MaskEdBox2.Text = MaskEdBox1.Text

 : =‫א‬RX‚.X‫ † ’­א‬

Combo1.Clear
T1.MoveFirst
For i = 0 To T1.RecordCount - 1
Combo1.AddItem T1!Name
T1.MoveNext
Next i

 † ،−3 7* _Šk .5‫א‬2M *^‚Ž−3‫\א‬/Option10(Œ3‫א‬dW$
?Y;?B U !‫א&א‚&א‬3Ko;$| ،C Q5‫א‬Hy^ ،.X‫א‬LO !‫\א(א‬³
 : V‫א‬D‫א‬H?\?6?‫א‬

Option1.Value = True
Combo1.ListIndex = 0
Command2.Value = True

3#3‫א‬Ko'~5‫א\א‬H‫ א‬LK$N:، .5‫א‬2M Option1^V‫א‬:;‫ א‬
0B_H 5W7‫א‬H‫א‬Hy!Click ,Wh&NC'? ،”KH5‫(`א‬L B+5‫(^ *א‬7;$
 :`5‫א‬

Private Sub Option1_Click()
MaskEdBox1.Enabled = False
MaskEdBox2.Enabled = False
End Sub



١٤٨
 

Private Sub Option2_Click()
MaskEdBox1.Enabled = True
MaskEdBox2.Enabled = True
End Sub

 .CheckBox'‫~א‬5OptionButton&V(57‫א‬3‚K‫א‬Bj ***

!‫א‬v5BDD?QR0(5! ، ‫ א_א‬R ‫א‬JP\&D(;‫א‬dk5™ ‚;‫ א‬
 :GenralsKH5‫ א‬ML`5‫א‬

Dim MyCnt(1(

 (MyCnt(1 (MyCnt(0J‫א‬dk5K;$¬(Ku

 .K5‫א‬C QoHy?Y Command2‫ א‬$gh;‫ א‬
 4E$L4(V 4&?^‫א‬J?(‫א‬D(&‚‫א‬nCY ‫('&א‬5‫א‬0.('?K‫אא‬L

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number and
tb_product.name='" & Combo1.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(

Lbl_name&":&‚‫="א א‬T4.Fields("tb_product.name("
lbl_cate&":l?‫="א‬T4.Fields("tb_category.name("
lbl_fact&":R‫="א‬T4.Fields("tb_factory.name("

١٤٩
lbl_prc&":(‫="א‬T4.Fields("price("
lbl_cnt&":\?6?‫ א‬.B‫="א‬T4.Fields("count("

Dim num, i
num = T4.Fields("tb_product.Number("
T4.Close

 .pE$'(57‫‹)א‬#M

 MH'‫~א‬5 ('& $©Ho)Option1. Mv '(57'?:`p‫< א‬r‫א‬
... ‫ &א?א‬Q‫ >א‬K&Kind‫&א‬N: Numdk5‫א‬L;<~‫א‚&א‬
 :`5‫?\א‬B‫ ˜א‬7...H‫א‬Bo L4(6Bju

For i = 0 To 1
If Option1.Value = True Then
SQL = "select * from tb_sel_bay where product=" & num
& " and kind=" & i
Else
SQL = "select * from tb_sel_bay where product=" & num
& " and kind=" & i & " and date between#" &
Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and #" &
Format(MaskEdBox2.Text, "MM/DD/YYYY"#"&("
End If
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(

 .١ ٠. MiCW[K|


'(57‫א‬L\?6?‫א‬JP‫&\א‬D(37 $ & ،4 86 Ly.DH‫א‬B5‫ א‬k
 :`5‫א‬0B_N: i. Mv ١ $٠ MHMyCntL4K<T


١٥٠
If T4.RecordCount <> 0 Then
T4.MoveLast
T4.MoveFirst
End If
MyCnt(i) = T4.RecordCount

37 4 DJ ‫א‬RV?—W ‫א‬6‫ א‬،O r‫א‬K?B5—W ‫א‬6‫א‬،K ‫א‬6‫א‬0.& &;‫ א‬
*ˆ‫א א‬6‫ (א‬،١ $٠8i. M%&3‫\א‬I.5(DO 60BQJ‫א א‬6‫א‬0.&
 : ‫א‬67‫?\א‬E˜ 7.\‫א‬O r‫ ‚€א‬idk5‫א‬. M05K O r‫א‬K?B5FlexGrid

Private Sub FlexGrid(r As Integer(
MSFlexGrid(r).Clear
MSFlexGrid(r).Cols = 5
MSFlexGrid(r).Rows = MyCnt(r) + 1

MSFlexGrid(r).Row = 0
MSFlexGrid(r).Col = 0
MSFlexGrid(r).Text"J"=
MSFlexGrid(r).Col = 1
MSFlexGrid(r).Text" MH"=
MSFlexGrid(r).Col = 2
MSFlexGrid(r).Text"”KH5‫="א‬
MSFlexGrid(r).Col = 3
MSFlexGrid(r).Text" .B‫="א‬
MSFlexGrid(r).Col = 4
MSFlexGrid(r).Text"(‫="א‬

MSFlexGrid(r).ColAlignment(0) = 5
MSFlexGrid(r).ColAlignment(1) = 5
MSFlexGrid(r).ColAlignment(2) = 5
MSFlexGrid(r).ColAlignment(3) = 5
MSFlexGrid(r).ColAlignment(4) = 5


١٥١
MSFlexGrid(r).ColWidth(0) = 500
MSFlexGrid(r).ColWidth(1) = 500
MSFlexGrid(r).ColWidth(3) = 1200
End Sub

 :`5‫א‬0B_* &5

FlexGrid (i(

 :J ‫א‬RV?Put_Data\?EK^‫‰א‬Q

Private Sub Put_Data(r As Integer(
n = 0
With MSFlexGrid(r(
For i = 0 To T4.RecordCount - 1
n = n + 1
.Row = n
.Col = 0
.Text = n
.Col = 1
.Text = T4!Number
.Col = 2
.Text = T4!Date
.Col = 3
.Text = T4!Count
.Col = 4
.Text = T4!price
T4.MoveNext
Next i
End With
End Sub

١٥٢
 :H‫א‬B5‫ א‬k ،&‫א‬k †،* &5

Put_Data (i(
T4.Close
Next i

 :'H?Q‫א‬¢i‫?\א‬E‰o73‫א‬dW$

Private Sub Command1_Click()
Unload Me
End Sub


     


prog19.zip 





*V("?0E03‫א‬dpER?5B،R $l?K5E*o;$BjudpB‫–א‬Y
 .l?‫ א‬R‫א‬JP5?Y
 :?Y'H?Q‫אא‬CY .5* 8‘5³0E
R‫ א‬$l?‫(Šא א‬LabelK &J(w† ،Combo\ KcR‫\א‬$
 .(" C/di−" C/)*5 ،*5cRX‚‫&\א‬،
 $R‫אא‬CY2cRX‚‫ *א‬DŠ(MSFlexGridO 6U8H?Q‫א‬EL3‚K$‘5³
 .¢iN: Unload Me4 Dv5B$Hy3‫א‬dW$ ،l?‫א–א‬:
.4 . ،Trueso| ¦H?Q‫א‬BMDIChild ,W€‚
 .`‫?א‬5‫א‬%&Frm_Report3 Frm_Report2

١٥٣
 .H?Q‫א‬BForm_Loadw¦$ ،\‫?א‬E!‫א‬5EL‫ א;א‬
K\H?.X‫ † (­א‬،'H?D0ER\?(o.ERM?‫א‬J †‫?"‚€א א‬w=‫אא‬CYL
 :R $

Me.Width = 4800
Me.Height = 3600
Me.Left = ((MDIForm1.Width - Me.Width) / 2(
Me.Top = ((MDIForm1.Height - Me.Height) / 2) - 40
Me.Show

Combo1.Clear
T2.MoveFirst
For i = 0 To T2.RecordCount - 1
Combo1.AddItem T2!Name
T2.MoveNext
Next i

Combo1.ListIndex = 0

 .T237T3'~5"?R—e‫|א‬p‫'א‬H?Q‫א‬L*$b R
L$K?B5‫אא‬CYLH?Q‫א‬¢Q‫ א‬،O r‫א‬K?B5—WFlexw 0.('?;‫ א‬
 :`p‫'א‬H?Q‫א‬L‰B(‫ א‬،l?‫א‚&(\ ;א‬R)?(R‚O !‫א‬

Private Sub Flex()
MSFlexGrid1.Clear
MSFlexGrid1.Cols = 6
MSFlexGrid1.Rows = T4.RecordCount + 1
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.Text"J"=
MSFlexGrid1.Col = 1
MSFlexGrid1.Text" MH"=

١٥٤
MSFlexGrid1.Col = 2
MSFlexGrid1.Text"&‚‫="א א‬
MSFlexGrid1.Col = 3
MSFlexGrid1.Text"R‫="א‬
MSFlexGrid1.Col = 4
MSFlexGrid1.Text"(‫="א‬
MSFlexGrid1.Col = 5
MSFlexGrid1.Text"\(‫="א‬

MSFlexGrid1.ColAlignment(0) = 5
MSFlexGrid1.ColAlignment(1) = 5
MSFlexGrid1.ColAlignment(2) = 3
MSFlexGrid1.ColAlignment(3) = 5
MSFlexGrid1.ColAlignment(4) = 5
MSFlexGrid1.ColAlignment(5) = 5

MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.ColWidth(1) = 500
MSFlexGrid1.ColWidth(2) = 1500
MSFlexGrid1.ColWidth(3) = 1500
End Sub


R $l?'~5‫א‬H 5W‫^&א‬K>C‫ א‬Combo1_Clickw=‫א‬0.('?3‫א‬dW$
 .
 :R‫ א‬L;?B5F‫(' א‬57‫)א‬0.('?K‫אא‬L

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number and
tb_factory.name='" & Combo1.Text"'"&
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(

١٥٥
 .l‫ א!?א‬LTb_CategoryU8Tb_Factory.name|+‫א‬z#dk
 :R‫א‬−l?‫אא‬CY2cRX‚>$–YBKŽ;mD،JP\?6 z#h5~;‫ א‬

If T4.RecordCount = 0 Then
Lbl_name&":R‫="א א‬Combo1.Text
lbl_cnt&":R‫א‬RX‚\&"=T4.RecordCount
lbl_sta">\&:=‫="א‬
Flex
Exit Sub
End If


;?BK>C‫ א‬Flexw=‫&`א‬5.E،SXe‫א‬ª(€‚JP\?6 '& i
 ."?Q,>$; \O r‫א‬
O !‫א‬U8 †dW!‫א‬0PO57'?| ،JP\?6  L78C Q5‫א‬0.5BK3 7
 :|K+5N:

T4.MoveLast
T4.MoveFirst

 :`5‫ ˜א!א‬7...l?‫אא‬C4(5‫א‬J?(‫?&א‬.I€‚ †

Lbl_name&":R‫="א א‬Combo1.Text
lbl_cnt&":R‫א‬RX‚\&"=T4.RecordCount
If T4.Fields("tb_category.view") = False Then
lbl_sta"" C/:=‫="א‬
Else
lbl_sta">\&:=‫="א‬
End If
Flex

١٥٦
(N:di'$" C/)=‫א‬E[oR‫ א‬$l?‫א‬2cRX‚\?6  L‫א‬:...;‫ א‬
6?o7 " C/;E?*‫א‬N:‫)&\>(؟؟؟‬#R‚mDRX‚\?6 '& L$،
 .3*DC ¡M;BRX‚*5c


 :* #Q$.EXW€‚ Hb57‫'א‬H?DH4¤'?N:(

Frm_Wait.Show
Frm_Wait.ProgressBar1.Max = T4.RecordCount
Frm_Wait.ProgressBar1.Min = 0
Frm_Wait.ProgressBar1.Value = 0


 :+ +‫א‬4E$LJ ‫א‬RV L$ †

For i = 0 To T4.RecordCount - 1
Frm_Wait.ProgressBar1.Value =
Frm_Wait.ProgressBar1.Value + 1
DoEvents
MSFlexGrid1.Row = i + 1
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = T4.Fields("tb_product.Number("
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = T4.Fields("tb_product.name("
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = T4.Fields("tb_category.name("
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = T4!price
MSFlexGrid1.Col = 5
MSFlexGrid1.Text = T4.Fields("Count("
T4.MoveNext
Next i

١٥٧
 :.Ev o‫א&\א‬RO Pv ooSort0.('?3 7

MSFlexGrid1.Col = 2
MSFlexGrid1.Sort = 7
MSFlexGrid1.Col = 0

For i = 0 To T4.RecordCount - 1
MSFlexGrid1.Row = i + 1
MSFlexGrid1.Text = i + 1
Next i

 :Hb57‫'א‬H?D`Q° ،J ‫&א‬Mk3‫א‬dW$

T4.Close
Unload Frm_Wait



     

prog20.zip 





3‫ \א‬/? 3.&\*'o;$KH5‫ א‬oOWNRM?5K` gh3~5;8
 ..  ‫א‬J^^~‫ א‬J X 7‫א‬ª(OW
;$gh‫~'א‬5NRM?5K،Q5~‫א‬KHP5‫א‬RX‚‫א‬K?o RKy?oE_g`QD
–HK;$R ^5K| ¦&‚‫א‬l?J( 3^ ^T $، (&‚‹H[3‫א‬Ko*'o
 .*&&‚‫א‬nC]s‫`א‬o ،¢?‫(*א‬V?


١٥٨
dpB‫~'א‬5‫א‬RM?5KD€D2EH?3I;?BK;$ (K7I;$ ،‫א‬CBY
v` €^±0.& Q EK? (5"?'?4Q‫^ א‬5B ،J X 7‫ א‬$J^^~‫א‬
 ...RX‚‫א‬KHo##.V4Q ‚ .JK_‫א‬.V&‚‫א‬JK_ J( 
 .  ‫א‬J^^~‫א‬0.(&KtLK?$

 :‫א!\א‬H 5W M4 ،J‫(Šא!\ א‬Ctrl+T%& M
 (Microsoft Chart Control 6.0(OLEDB

 .SXe‫א‬ª(€VU8‘5+ ،N?@.E'H?Q‫א‬%&4ˆ M;‫ א‬
`††)` ‫א~^€א‬0B#\c4$N: ،‫א!\א‬SXW Y$ $:Charttype ,W
 .‫א‬CBY (...X,Y $>\ 5&‫ א‬$>X‫\א‬−\(!‫`א‬X† $
 VtchChartType2dPieH5~
 .(\(!‫`א‬X†'$`††)K+5;D 4M l? !‫ "א‬$††W-

 . E+|",-(  J Column Row -!^ 
;$KE?3p.D،?^‫א‬KH5‫ א‬$JP‫>&\א‬$،"?Q‫&\א‬Row ,W\c
،RX‚‫(\א‬RowCount ,W€‚mDH.&‚pE$2M?‫‰א‬QLŠ(
 .١> o| ¦4^‚D;‫'א‬$
J( ‫)א)`א‬J RH$K‫א‬CYpL ،J ‫ א‬$z‫\&\א‬+5DColumn$
€‚‫א‬C.(&‚‫א‬JK_`)‫א‬−&‚‫א‬J( `)‫א‬−JK_‫א)`א‬−
 .ColumnCount=4
 . .5‫א‬2M SXe‫`א‬M€‚

HyW-L‫א! א‬nCYR‚ ،v o(Total(3D?QL4<° MRH$U8‘5³;‫ א‬
J ‫<;א‬° \‫אא‬%&'(5‫)א‬CQ‫א‬C،J( .`B‫?א(\א‬YU !D.C Q5‫א‬
 :D?Q.O !‫א(א‬L
 .NULL[^Ww  R* DJP‫ &\א‬،z_‫>@א‬C‫?\א‬.(‫א‬l?.I& (5


١٥٩
If Option1.Value = True Then
SQL = "select sum(count) as sum1,count(product) as
cnt from tb_sel_bay where kind=0"
Else
SQL = "select sum(count) as sum1,count(product) as
cnt from tb_sel_bay where kind=0 " & " and date
between#" & Format(MaskEdBox1.Text, "MM/DD/YYYY")
& "# and #" & Format(MaskEdBox2.Text, "MM/DD/YYYY("
"#"&
End If
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4!cnt <> 0 Then
Total(0) = T4!sum1
End If
T4.Close

 .¢Q‫ ˜א‬7 *5‫א‬y‫א‬A6،Null[^WL53JP‫&\א‬E[o$˜ 7
 :'(57‫)א‬LKind"5W‫א‬R‫א‬0p?Y ،JK_.`B‫`א(\א‬p‫ א‬
If Option1.Value = True Then
SQL = "select sum(count) as sum1,count(product) as
cnt from tb_sel_bay where kind=1"
Else
SQL = "select sum(count) as sum1,count(product) as
cnt from tb_sel_bay where kind=1 " & " and date
between#" & Format(MaskEdBox1.Text, "MM/DD/YYYY")
& "# and #" & Format(MaskEdBox2.Text, "MM/DD/YYYY("
"#"&
End If
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4!cnt <> 0 Then
Total(1) = T4!sum1
End If
T4.Close

١٦٠
^‚;$; \O r‫א‬4 &O?=‫א‬R ^5 ،&‚‫א‬J( l?.I?4D|p‫א ;א‬$
 :{W$'(5‫)א‬U8

MSFlexGrid(0).Col = 3
For i = 1 To MSFlexGrid(0).Rows - 1
MSFlexGrid(0).Row = i
Total(2) = Total(2) + MSFlexGrid(0).Text
Next i

 :&‚‫א‬JK_!‫‰א‬Q

MSFlexGrid(1).Col = 3
For i = 1 To MSFlexGrid(1).Rows - 1
MSFlexGrid(1).Row = i
Total(3) = Total(3) + MSFlexGrid(1).Text
Next i


—?‫‚ ™א‬Index ,W\Q57‫א‬K$ ،J ‫א‬RV H \ 6;‫ א‬
 :{W!‫`א‬YD?QL + V?5‫א‬

Dim str(3) As String
str(0"J( `)‫(="א‬
str(1"JK_`)‫(="א‬
str(2"&‚J( `)‫(="א‬
str(3"&‚JK_`)‫(="א‬

 :Q$.EO r‫א‬SXW€‚

MSChart2.ColumnCount = 4
MSChart2.RowCount = 1

١٦١
05 Date ,e‫א ;?א^א‬R‚$&‫א‬R،H‫א‬Bo¦J ‫א‬RV L$
 :ColumnLabelOW`+ V?5‫א‬S‫א‬R‚ Column ,e‫א‬OW\?.(

For i = 1 To 4
MSChart2.Column = i
MSChart2.Data = Total(i - 1(
MSChart2.ColumnLabel = str(i - 1(
Next i


     


prog21.zip 





 . ? ‫א‬KH5€‘:?’0.& Q E%&"(5"?GH‫אא‬CYL
”KHo3 V‫א‬D‫?;א‬B >C‫ א‬،”KH5MaskEdBox1‫\א‬$?Y#_‫א‬nCYL* 8‘5³
 .'? ‫א‬
 .'H?Q‫א‬¢i7Hy ،JK_‫ א‬J( ‫ (Šא‬6U8 ،C Q5HyU83‚K$‘5³
 :`5‫?א‬+‫א‬%&Labels´U8‘5³3 ‚K$
−J( ‫א)`(א‬−JK_‫א‬J .&\&−J( ‫א‬J .&\&:l?!‫א ?'א‬
 .JK_‫א)`(א‬

%&$ B+5‫א‬,&0K< MDIChild=True0(PD،'H?Q‫א‬SXW€‚3‫א‬dW$
 .'H?Q‫א‬
 .'H?Q‫אא‬CY\‫?א‬E$5EL‫ א;א‬


١٦٢
 :l?‫אא‬CY'H?D0ER5&‫א‬.E'H?Q‫א‬J †‫‚€א א‬37 [D

Me.Width = 4800
Me.Height = 4905
Me.Left = ((MDIForm1.Width - Me.Width) / 2(
Me.Top = ((MDIForm1.Height - Me.Height) / 2) - 40
Me.Show

 :‫א!\א‬L*(‚ '? ‫”א‬KHo€‚ †

Dim Myday, Mymonth, Myyear
Myday = Day(Now(
If Len(Myday) = 1 Then Myday = 0 & Myday
Mymonth = Month(Now(
If Len(Mymonth) = 1 Then Mymonth = 0 & Mymonth
Myyear = Year(Now(
MaskEdBox1.Text = Myday & "/" & Mymonth & "/" &
Myyear


 :'? ‫”א‬KHo3 V‫א‬D‫?;א‬B C Q5—e‫א‬H<‫א‬%&€k‚'?3‫א‬dW$

Command2.Value = True


L'~5 ،'? ‫(^ א א‬o ]'? ‫ א‬MHK.5'?Function‫\א‬0.('?;‫ א‬
 :‫אא‬K?B537 $$ ،WeekDay‫אא‬N:

Private Function dayname(x As Date) As String

End Function

١٦٣
]H’F‫ א‬WeekDay‫~'(*אא‬5 xdk5L”KH5‫א‬Ks,$;‫ א‬
 :l?!‫ א ?'א‬MH (o (l?!‫א‬K‫?'א‬K ،”KH5‫)א‬K H

x = Weekday(x, vbSaturday(

 :`5‫א‬0B_SU8 M‫אא‬CYO?+;‫ א‬

Select Case x
Case 1
dayname"2‫="א‬
Case 2
dayname" !‫="א‬
Case 3
dayname"†7‫="א‬
Case 4
dayname" †p‫="א‬
Case 5
dayname" (H!‫="א‬
Case 6
dayname"‰ .e‫="א‬
Case 7
daynmae"(.r‫="א‬
End Select


 .({)} ‫ א‬Command2y8(C`W7Bu‫ א‬
 :GenralsKH5‫ א‬MLN: LabelsO‫א‬J?(4 D;<~J‫א‬dk5RH$37 $"(

Dim a1 As Integer, a2 As Integer, a3 As Integer, a4 As
Integer

١٦٤
 :4EYdQ5'?H<‫אא‬CY‫ א‬$K‫א‬L

a1 = 0: a2 = 0: a3 = 0: a4 = 0

 :S~‫א‬4BL4(‚ 4.(.MF‫&`אאא‬5

x = dayname(MaskEdBox1.Text(
Lbl_day.Caption&":l?!‫="א ?'א‬x

O‫?א^\ א‬n5‫א א‬R‚ ، ‫† א_א‬R ‫א‬،'? ‫א‬J .&&'(57'?N:(
 :4QK(5.MF‫א‬J‫א‬dk5‫א‬L'(57‫א‬

SQL = "select sum(price) as prc,count(*) as cnt from
tb_sel_bay where kind=0 and date=#" &
Format(MaskEdBox1.Text, "MM/DD/YYYY"#"&("
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
If T4!cnt <> 0 Then
a1 = T4!cnt
a2 = T4!prc
End If
T4.Close

SQL = "select sum(price) as prc,count(*) as cnt from
tb_sel_bay where kind=1 and date=#" &
Format(MaskEdBox1.Text, "MM/DD/YYYY"#"&("
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(

If T4!cnt <> 0 Then
a3 = T4!cnt
a4 = T4!prc
End If
T4.Close

١٦٥
lbl_cnt1.Caption&":'? ‫א‬J( \&"=a1
lbl_prc1.Caption&":J( ‫="א)`(א‬a2
lbl_cnt2.Caption&":'? ‫א‬JK_\&"=a3
lbl_prc2.Caption&":JK_‫="א)`(א‬a4

J#_‫א‬L.EIndex ,W\Q57‫א‬Bj*$˜ 7 ، r‫ א;?' א‬
 :‫א‬

Flex1
Flex2

 :`5‫א‬0B_3.4.(.M;‫א‬C‫ א‬

Private Sub Flex1()
MSFlexGrid1.Clear
MSFlexGrid1.Cols = 5
MSFlexGrid1.Rows = a1 + 1

MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.Text"J"=
MSFlexGrid1.Col = 1
MSFlexGrid1.Text" MH"=
MSFlexGrid1.Col = 2
MSFlexGrid1.Text"&‚‫="א‬
MSFlexGrid1.Col = 3
MSFlexGrid1.Text" .B‫="א‬
MSFlexGrid1.Col = 4
MSFlexGrid1.Text"(‫="א‬

MSFlexGrid1.ColAlignment(0) = 5

١٦٦
MSFlexGrid1.ColAlignment(1) = 5
MSFlexGrid1.ColAlignment(2) = 5
MSFlexGrid1.ColAlignment(3) = 5
MSFlexGrid1.ColAlignment(4) = 5

MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.ColWidth(1) = 500
MSFlexGrid1.ColWidth(2) = 1500
MSFlexGrid1.ColWidth(3) = 1200
End Sub


Private Sub Flex2()
MSFlexGrid2.Clear
MSFlexGrid2.Cols = 5
MSFlexGrid2.Rows = a3 + 1

MSFlexGrid2.Row = 0
MSFlexGrid2.Col = 0
MSFlexGrid2.Text"J"=
MSFlexGrid2.Col = 1
MSFlexGrid2.Text" MH"=
MSFlexGrid2.Col = 2
MSFlexGrid2.Text"&‚‫="א‬
MSFlexGrid2.Col = 3
MSFlexGrid2.Text" .B‫="א‬
MSFlexGrid2.Col = 4
MSFlexGrid2.Text"(‫="א‬

MSFlexGrid2.ColAlignment(0) = 5
MSFlexGrid2.ColAlignment(1) = 5
MSFlexGrid2.ColAlignment(2) = 5
MSFlexGrid2.ColAlignment(3) = 5
MSFlexGrid2.ColAlignment(4) = 5

١٦٧

MSFlexGrid2.ColWidth(0) = 500
MSFlexGrid2.ColWidth(1) = 500
MSFlexGrid2.ColWidth(2) = 1500
MSFlexGrid2.ColWidth(3) = 1200
End Sub


†=‫& א‬5‫א‬h&‫א‬4E‫א‬L4(V ،?^‫א‬J ‫('&א‬57'? †
 :Put_Data2 Put_Data1

SQL = "select * from tb_sel_bay where kind=0 and
date=#" & Format(MaskEdBox1.Text, "MM/DD/YYYY&("
"#"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
Put_Data1
T4.Close

SQL = "select * from tb_sel_bay where kind=1 and
date=#" & Format(MaskEdBox1.Text, "MM/DD/YYYY&("
"#"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
Put_Data2
T4.Close


LK;<~‫א‬B ،\(‫`א‬Y.EO r‫א‬LJ ‫א‬RV?'?Put_Dataw L
LT6"(5^‚ ،37 $*&'(57'?‫א‬C،4ˆ‫ א‚&  ‰א‬MH?YO r‫א‬
 :O?K\?‫א‬

Public T6 As Recordset

١٦٨
 !‫א‬0B#;?BK‫א‬C4

Private Sub Put_Data1()
n = 0
If T4.RecordCount <> 0 Then
T4.MoveLast
T4.MoveFirst
End If
With MSFlexGrid1
For i = 0 To T4.RecordCount - 1
n = n + 1
.Row = n
.Col = 0
.Text = n
.Col = 1
.Text = T4!Number
.Col = 2
SQL = "select name from tb_product where number=" &
T4!product
Set T6 = D1.OpenRecordset(SQL, dbOpenDynaset(
.Text = T6!Name
T6.Close
.Col = 3
.Text = T4!Count
.Col = 4
.Text = T4!price
T4.MoveNext
Next i
End With
End Sub

 .3•`p‫א‬NCE

١٦٩
 .H~ `H3( V- ‫א‬

`? ‫א‬K5‫&א‬3‫א‬dpE™5©7*! ،©HoK5‫^ א‬5'?"?GH‫אא‬CYOW
 . .(‫א‬nCY ‫א‬64'?F‫א‬J‫א‬d k5‫ ?"א‬،#_‫‰א‬QL3( 4(‚NC

 : .5‫א‬LJ‫א‬d ko:37 $
.E%&>?5@Label2U8DV‫א‬،`p‫”א‬KH5‫(Šא‬MaskEdBox2‫‚ ™א\א‬
39 #dkN:‫&א‬. D،.]Visible=False€‚ ،©H5‫א‬RV?o(U8)
 .Ydi Je‫ א‬H‫א‬y7‫א‬E$L%5

 :J#_‫א‬H4¤‫ אא‬$J‫א‬d ko:3 †
E$| `( ^‫א‬4(V U8\?(o`BFrm_Report4#_‫א‬73 $`Q°"?
 .(`? ‫א‬K5‫א‬RV )Ydi H‫א‬Hy!‫א‬
J †‫ ‚€א א‬،5‫א‬o‫\א‬7‫א‬4bmD`p‫א‬l?‫;א‬E?. DN:(
 :`5‫א‬0B_N: ،K6C Q5‫א‬Hy?Y Command2

Case 0
Unload Frm_Report4
Frm_Report4.Show
Case 1
Unload Frm_Report4
Frm_Report4.Show
Frm_Report4.MaskEdBox2.Visible = True
Frm_Report4.Label2.Visible = True
Frm_Report4.Command2.Left = 120
Frm_Report4.Command2.Value = True


 :Form_Loadw J‫א‬d ko:3p†
 : p‫א‬e‫א‬L%5 `=‫”א‬KH5‫א‬RV ${?™ ‚

١٧٠
MaskEdBox2.Text = MaskEdBox1.Text

 :(CQ)HyLJ‫א‬d k5‫א‬:3(‫א‬H
 :`5E\?B‫א‬s D، ?5Q:R‚0،©H5‫ א‬Ll?!‫א ?'א‬R‚*

If Label2.Visible = False Then
x = dayname(MaskEdBox1.Text(
Lbl_day.Caption&":l?!‫="א ?'א‬x
Else
Lbl_day.Caption" ?5QD"&":l?!‫="א ?'א‬
End If

 :z_‫א‬c‫א‬:8Between0(‫~'א‬50‫?א^&א א‬# (5*

If Label2.Visible = False Then
SQL = "select sum(price) as prc,count(*) as cnt from
tb_sel_bay where kind=0 and date=#" &
Format(MaskEdBox1.Text, "MM/DD/YYYY"#"&("
Else
SQL = "select sum(price) as prc,count(*) as cnt from
tb_sel_bay where kind=0 and date between #" &
Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and #" &
Format(MaskEdBox2.Text, "MM/DD/YYYY"#"&("
End If

 . ‫('א_א‬5‫א‬0)RNCE

 :Between $‫~א'א א‬5‫א‬E[53‚K$J ‫א‬RV?,e‫('א‬57‫)א‬L*

If Label2.Visible = False Then

١٧١
SQL = "select * from tb_sel_bay where kind=0 and
date=#" & Format(MaskEdBox1.Text, "MM/DD/YYYY&("
"#"
Else
SQL = "select * from tb_sel_bay where kind=0 and date
between #" & Format(MaskEdBox1.Text, "MM/DD/YYYY")
& "# and #" & Format(MaskEdBox2.Text, "MM/DD/YYYY("
"#"&
End If

 . p‫א‬.r‫א‬RNCE

 .Flex2 Flex1\?E{?5%&J‫א‬d k5‫א‬:3W
\?B‫‚ ™א‬NC ،”KH5‫(Šא‬W™ ‚©Ho L*${?39 #dk
 :Flex1$K40M`5‫א‬

If Label2.Visible = True Then
MSFlexGrid1.Cols = 6
MSFlexGrid1.Col = 5
MSFlexGrid1.Text"”KH5‫="א‬
MSFlexGrid1.ColWidth(5) = 1200
MSFlexGrid1.ColAlignment(5) = 5
End If

 .Flex2RNCE

 :Put_Data2 Put_Data1\?E{?5%&J‫א‬dk5‫א‬:3 \

For i = 0 To T4.RecordCount - 1
n = n + 1
.Row = n

١٧٢
.Col = 0
.Text = n
.Col = 1
.Text = T4!Number
.Col = 2
SQL = "select name from tb_product where number=" &
T4!product
Set T6 = D1.OpenRecordset(SQL, dbOpenDynaset(
.Text = T6!Name
T6.Close
.Col = 3
.Text = T4!Count
.Col = 4
.Text = T4!price
If Label2.Visible = True Then
.Col = 5
.Text = T4!Date
End If
T4.MoveNext
Next i

 .Put_Data2R3‚K$

 :`5‫א‬0B_s5F‫ א‬،  X‫א‬#_‫א‬L.X‫א‬L\?6?‫א! אא‬3‚K‫א‬%

If T1.RecordCount = 0 Then
 MsgBoxDV‫א‬−DV‫א‬W‫א‬K6&‚DV7،4V(RX‚>$6?o7"
،"&‚vbExclamation + arabic"‫"؟؟‬RX‚‫"&Šא‬،
Exit Sub
End If

١٧٣

Select Case Index
Case 0
Unload Frm_Report4
Frm_Report4.Show
Case 1
Unload Frm_Report4
Frm_Report4.Show
Frm_Report4.MaskEdBox2.Visible = True
Frm_Report4.Label2.Visible = True
Frm_Report4.Command2.Left = 120
Frm_Report4.Command2.Value = True
Case 3

End Select

     

prog22.zip





 ‫؟‬DataReport/( `‫א א‬I 
O ‫א‬r‫ א‬KH5‫^&א‬..`Y ،N O‫?א‬P Q‫א‬R3 VD‫א‬D‫‘א(Šא‬:’{ 8`Y
 $‘:’–Y .*5&^'?o`BO 6 ‫ א‬$'(5‫)א‬05o`Y ،J ‫?א&א‬M
JH?KHo‫ אא‬D‫א א‬pE$?Y JH?KHO5KB‫א‬Y4#$O²‫אא‬CYL{W$J‫\ א‬$
 .N O‫?א‬P DJ5BR3 V‫א‬D‫?\א‬6?‰ *B

 .DataReportR0(5‫ א‬Q E%&G H‫א‬nCYL"(5"?

١٧٤
4bo"?'H?Q‫א‬%&j7‫א‬G ‫א‬H<‫א‬OW mDDataRreport™ ‚
 .DataReport4H5° ،Add

 :'M‫´א‬U8.J4¤F‫א‬+Q‫;א‬$˜ 
 .K5‫א‬L+Q,O $R€D4boF‫א‬J ‫א‬:Report Header
 .+Q,0EG$H%&4boF‫א‬J ‫א‬:Page Header
 .+Q,pE‫א‬%&Š(o;‫א‬Bj ،K5‫א‬JK?5/:Detailes
 .+Q,W-0ER4bK:Page Footer
 .€DK5‫א‬L+Q,W-L4boJ :Report Footer

J##L\5(‫א‬diControl Box BcJ‫\ א‬$R#_‫א‬j%&1"?;‫ א‬
J‫א!\ א‬%&>?5c ،DataReport TabvK?o2cK 5‫א‬N O‫?א‬P D
 :−H ‫א‬− 5‫א‬

<K7undi K+5'~5K .N O‫?א‬P Q‫א‬L" (‫ א‬4‫א‬#‡?Y :Pointer
 .* #
d koBj،J ‫&א‬M%&.5(o7F‫\א(Šא?—א‬$\I?Y:RptLabel
 .*# 3p;‫א(?א‬RV?'~5o ،3 pŠ(‫א‬0M\?B‫€?א^א‬DY‫?א‬5/
J RV?'~5K ،J ‫&א‬ML(0¦zoHS±l?‫אא‬CY:RptText
 .NC' ‫ א‬Q E%&3 7"(5"? ،Op‫א‬0 %& .(‫א‬
'‫~א‬5 .5‫א‬2M 3‚K$4^VBj.K5‫א‬LH?,RV?:RptImage
 .D (‫א‬LoadPicture
 .K5‫&א‬t 5€W:RptLine
 .‫א‬LineO‫א‬0p3‚K$:RptShape
p${ ،3 74 8‘5³MF‫א‬J .(‫א‬ª(Š('~5o:RptFunction
 .3 7N:&

 .K5‫&Šא‬HyOWJ ‫א‬R0(5‫א‬L 

١٧٥
 .5p‫א‬SXe‫א‬L B+5:37 $
 .N:di ;‫א!?א‬،RptlableJ 0p
 :`5‫א‬0B_‫\א‬7‫† א א‬، ‫† א א‬،DataReport ‫™א‬,?37 $ M

DataReport2.Sections("Section2").Controls("l1").Caption =
Lbl_name

 .N:*# ;‫?א‬7 B+5‫א‬K^‫‰א‬QBj

 .J ‫&א‬RptTextBoxO‫€א‬H Q E:`p‫א א‬
 : 5‫?א—א‬e‫€א‬V%&— ‫ א‬.5‫ א‬OW
 $J ‫&א‬MXE)J ‫&א‬M ‫א‬K+5DataFields DataMember
 .;B‫אא‬CYL*V&A?^‫א‬0=‫ א א‬،(4o‫א\א‬
NBjDataFields0 L  .5‫א‬2M `QD،C Q5‫ א‬$ .5‫א‬2M .4^VBj
2M J ‫א‬HKc$C Q53p M L،fullname0p0=‫א א‬5E
 :`5‫א‬0B_C Q5‫א‬
 Set DataReport1.DataSource = Rs
 .ILJH?KHo‫אא‬R0.(‫א‬L ‫*&א‬+ V?5'?‫א‬CY

 .J .(‫א‬ª(Š(RptLable'‫~א‬5‫ א‬Q E:|p‫א א‬
;mDD٪5B.M?3p.D،‫א!\א‬nC]Caption ,WL‫א‬. ‫א‬RV?N: 5K
p٪$،`)7‫א‬J+Q‫(^ &\א‬oP٪،2M?‫(^ א‬oT٪،'? ‫”א‬KHo ^(KN:
 . =‫א‬+Q‫ א‬MH ^(5D

 RptFunction'‫~א‬5‫ א‬Q E:R‫א אא‬
ª(N: ،4' ‫?\א‬F‫ א‬.(‫ (א‬tH5°FucntionType ,e‫א‬OW
L‫\א‬7‫א‬nCY'~5 ،RptTextLQ‫א‬.E4,e‫א‬J ‫&א‬MSXW€V
 .I

١٧٦
7NC،AdoJ &MXE4o H.E05oKH5‫א‬nCY;[EC3‫א‬dW$
 :`5‫א‬0B_N: 37 $JXB‫א‬nCY™K(o

 :0p \x5BH 5W MRefrences †Project.XM−١
 Microsoft Access ActiveX Data Object 2.5 Library

O 6~ AdoJ ‫&א‬MXE~™K(o7&^‫א‬$L−٢
 :`5‫א‬0B_.4 BK?B5‫ א‬.(' ‫ † א‬

Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set Rs = New ADODB.Recordset

Op‫א‬0 %&3p‰ E$l?J ‫&א‬MHJ ‫&א‬M€ M;‫ א‬−٣
 :`5‫א‬0B_Connection StringOW

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data
Source=" & Folder & "db1.mdb;" & "Jet OLEDB:Database
Password=" & PassWord"

 :€‫אאא‬CY%&Connection StringK?Bo Q E%&H?p(msdnHKyNBj
http://msdn.microsoft.com/library/default.asp?url=/library/e
 nus/vbcon98/html/vbconmanagingjetodbcconnections.asp
Connection  Q EU8*M$ $U8€‫אאא‬CYd_K>C‫_‹א א‬K|
 Language RefernceO‫?\א‬B*p$U8nW-LN @ .E،String

&M;B*\c`p‫א‬،J ‫&א‬Ml?O !‫ א‬H‫א‬LH•NmD )‫א‬H?B
J‫ א‬H‫א‬nCYKQ5‫ א‬5K H ‫א‬.E0p3 7J‫ א‬H‫א‬K<‫א‬K•NBj ،J ‫א‬
 .‫؛‬t?‫א‬,Q‫~א'א‬5‫א‬OW

١٧٧
Rrs€H † rsA*^H J ‫א‬HKc`YdW7‫^?א‬e‫א‬−٤
 :'(5‫ )א‬$O r3ˆ‫?;א‬BKMJ ‫א‬H;‫‰א‬o7 ،DataReport

sql = "select * from table1"
Set Rs = cn.Execute(sql(
Set DataReport1.DataSource = Rs

 :K5‫א‬H4¤‫א‬$‰o7−٥

DataReport1.Show

 :!‫א‬OW*V&; \K5‫&א‬tNBj.E−٦

DataReport1.PrintReport

&tH‫ ?א‬RŠ(O !‫ א‬H‫א‬LTrue0p DV7‫א‬J‫ א‬H‫א‬ª(DV‫א‬NBj
 :*# ”‫&\א‬K+5&^‫א‬0M
 DataReport2.PrintReport True

nCYJ‫ א‬HN:W-U8،−45&^'?5F‫א‬J+Q‫{א‬−RangeKc $
 .Q ¤?‫א‬

Frm_ShowL\?6?‫ `א‬X‫א‬RX‚‫&Šא‬##&t%&n.(o^"?;‫ א‬
*5DV‫(א‬−`5‫א‬0B_N: ،—e‫א‬DataReportK?B5'?"?K‫אא‬L
 .−3(tAdd

0EK‫א‬L4bo;$K!Page Header ‫א‬LO r‫א‬K &;?B5R^
E 5‫א‬J?(‫א‬R‚ ،Rpt_Labels9 Y%&4ˆ'?"? ،+Q,
 .,(‫א‬nC]Caption

١٧٨
 .¢ ,/ − .B‫א‬−(‫א‬−l?‫א‬−R‫א א‬−&‚‫א א‬− MH
 .RptLabel٧>$

 .J ‫&א‬M ‫אא‬%&.5(K>C‫?א‬4DW‫א א‬$...3•2† ‫אא‬CY
80Caption ,W€‚B،RptTextBox\(‫‰א‬Q%&* D 
−`5‫?א‬+‫א‬%&N: ،J ‫א‬H0=‫א‬4 DR‚ ،Data Field ,W€‚
 .v o

tb_product.number - tb_product.name - tb_factory.name -
 tb_category.name - Price - Count - Box_Count

 4D*4_5‫א‬$،#`Y.ERV?oO ‫א‬r‫א‬L*_5o7F‫א‬O?=‫;א‬$˜ 7
 .O r‫א‬
 $،KW‫™&א‬5±3p>?(‫א?;™א‬0(6‫ א‬،N?@.EFont€‚ M3 7
 .Ko.E


F‫א‬MH?‫?' א‬o7$45QV‫;א‬8‰o7 ،+Q,O ‫א‬L( ‫) אאא‬DV M
 .‫\א‬$>$LS‫? €א‬o $،H ‫ א‬$. ‫א‬U8‫א‬:‫א‬3‚K$NB.4(^o


R‚{W$&?.I3‚K$،N:*# '? ‫”א‬KHo4R‚5RptLabelª(DV M
 .Op‫א‬0 %&*QoY MH 0‫א א‬4 D

5 ,e‫€א‬V(784bo€e‫א‬H?4¤ $، Qe‫?;א‬No‫א‬Kc;$˜ 5
 .5‫א‬o‫א!\א‬L١U8BorderStyle BackStyle

 :*5DV‫?\א‬o>C‫א‬0B_‫א‬WD78 ،NK;E;8`5‫א‬0B_‫א‬U8O?,?‫א‬O 

١٧٩



L+V $.E?^‫א‬J5B‫‚ ™א‬o;‫‰א‬o7K‫אא‬L،\?B‫א‬5B—e‫< א‬r‫א‬U8;‫ א‬
 .GH‫אא‬CY <6
 :O ‫א‬r‫ א‬J ‫&א‬MJXE™K(5—e‫א‬O !‫< א‬r‫א‬

Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set Rs = New ADODB.Recordset

 :K5J ‫א‬H ،J ‫&א‬J ‫א‬HKc

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data
Source=" & Folder & "db1.mdb;" & "Jet OLEDB:Database
Password=" & PassWord


١٨٠
SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number"
Set Rs = cn.Execute(SQL(
Set DataReport1.DataSource = Rs

 :™o]‫ א‬MH 0‫א א‬Op‫א‬0 %&SXe‫א‬ª(€V3‫א‬dW$
DataReport1.Sections("Section2").Controls("label3").Capti
 (on = Info(2
DataReport1.Sections("Section2").Controls("label4").Capti
on&":™oY"=Info(3(

 :−4 86=‫ א‬45‫(א‬−E‫א‬C‫א‬JXB‫"א‬C ،K5‫א‬H4¤‫א‬3‫א‬dW$

DataReport1.Show

Set cn = Nothing
Set Rs = Nothing

 .?$ @ ‫א‬3(3V`

¢D7.MU8 o ،&‚0E%&J6F‫א‬J .(‫ (Šא‬K5‫אא‬CY ."?
 .J‫ _ א‬$J( 8\cF‫א‬Kind ,WL{? 4 
 . 4  ?‫א‬¢Q‫ ?"{א‬،Frm_Report1LKH<‫א‬R‚"?‫א‬C
 :;?Bo"?O?=‫;א‬$‫&א‬،3•‫א‬K5‫א‬0p?4D، .5‫א‬,&;‫ א‬
 .(− .E−”KHo− MH
 :J ‫&א‬MYH\;?Bo"?
 Number - Date - Count - Price


١٨١
 &‚‫א‬nCYJ?( 4 DŠ(l5%5 l1RptLabelK &J(™ ‚"?
 ‫א‬2cJK_‫ א‬J( .&^‫>א‬Hy H( ، .5‫ א‬4‫א‬M;?B‫א‬CBY
\?B‫?"אא‬D،JK_.(Command3(1 J( .(Command3(0
 :`5‫א‬0B_\5(‫א‬K^

Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data
Source=" & Folder & "db1.mdb;" & "Jet OLEDB:Database
Password=" & PassWord
Set Rs = New ADODB.Recordset


F‫א‬No0p١ $٠0pjIndex;$| ،J ‫א‬HKc`Y"5W7‫^א‬
 :`5‫?\א‬B‫א‬5ER ^5mD،JK_‫ א‬J( .J ‫&א‬MLKind ,e‫א‬4p•

Set Rs = cn.Execute(sql_now & " and kind=" & Index(
Set DataReport2.DataSource = Rs


 ‫؟‬sql_now`YB
(C Qo)Hy€kV; \”KH5‫א‬dkKM'~5‫ א= !;א‬.(‫;("א‬$3 7R ^5!
 Genral”KH5‫ א‬MLdk5‫אא‬CY"(N:06$،[^Ww =>\‡Ku

Dim sql_now


 :`5Es 0B_‫א‬dkC Q5‫?\א‬EO !‫< א‬r‫א‬L


١٨٢
If Option1.Value = True Then
sql = "select * from tb_sel_bay where product=" & num
& " and kind=" & i
sql_now = "select * from tb_sel_bay where product=" &
num
Else
sql = "select * from tb_sel_bay where product=" & num
& " and kind=" & i & " and date between#" &
Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and #" &
Format(MaskEdBox2.Text, "MM/DD/YYYY"#"&("
sql_now = "select * from tb_sel_bay where product=" &
num & " and date between#" & Format(MaskEdBox1.Text,
"MM/DD/YYYY") & "# and #" & Format(MaskEdBox2.Text,
"MM/DD/YYYY"#"&("
End If

‫א‬CY ،JK_‫ א‬J( ‫א‬KQo; \`=‫א‬RV?‫א‬%&>?5@sql_now0(¥‫א‬CY
 .&^‫?\א‬EL*.('?

، ( tH?K5‫א‬H4¤'? †،`5E3 ( t3J ‫א‬0 ،\?B‫א‬,‫(?\?א‬
 :‫א‬K5‫א‬L¢^‫א‬nCY b(2 #M

DataReport2.Sections("Section2").Controls("l1").Caption =
Lbl_name
DataReport2.Sections("Section2").Controls("l2").Caption =
lbl_cate
DataReport2.Sections("Section2").Controls("l3").Caption =
lbl_fact
DataReport2.Sections("Section2").Controls("l4").Caption =
lbl_prc
DataReport2.Sections("Section2").Controls("l5").Caption =
lbl_cnt
Select Case Index
Case 0

١٨٣


DataReport2.Sections("Section2").Controls("label1").Capti
on"&‚J( `)Ko"=
Case 1


DataReport2.Sections("Section2").Controls("label1").Capti
on"&‚JK_`)Ko"=
End Select
DataReport2.Sections("Section2").Controls("label3").Capti
on = Info(2(
DataReport2.Sections("Section2").Controls("label4").Capti
on&":™oY"=Info(3(

DataReport2.Show

Set cn = Nothing
Set Rs = Nothing


 .I! ‫א‬3(3V- ‫א‬50 YH~ `H3(3V- ‫'א‬F 

 : 5‫א‬J?(‫א‬%&>?5c| ¦.(o.E#_‫ א‬."?،‫א‬GH‫א‬Kt0p
 .3,G ‫א‬−'!EC ‫א‬−( - ‫א‬−'F @ ‫א;א‬−'!"E, ‫)א‬
 : YH\

tb_sel_bay.number - name - date - tb_sel_bay.count -
 tb_Sel_bay.price


١٨٤
J?(‫(Šא‬o"?4B .5‫א‬K5‫א‬LYQV‫א‬F‫א‬.e‫א‬K (‫א‬J(;?Bo
 : 5‫א‬
 .l?!‫*א ?'א‬
 .J( ‫א‬J .&\&*
 .JK_‫א‬J .&\&*
 .J( ‫*א)`(א‬
 JK_‫*א)`(א‬

 .'H?Q‫א‬LV (J?(`Y
3‚K$'~5.E،3  CQ‫('א‬57‫)א‬D(sql_nowKt'~5"?3‫\א‬I
 .€D ‫' ?' א‬$©Ho'(57‫א‬0YD(typ3‚K$ ،”KH5‫א‬D(dt2 dt1

 :C Q5‫?\א‬E 5‫א!^א‬dk"?

If Label2.Visible = False Then
SQL = "select * from tb_sel_bay where kind=0 and
date=#" & Format(MaskEdBox1.Text, "MM/DD/YYYY&("
"#"
Else
SQL = "select * from tb_sel_bay where kind=0 and date
between #" & Format(MaskEdBox1.Text, "MM/DD/YYYY")
& "# and #" & Format(MaskEdBox2.Text, "MM/DD/YYYY("
"#"&
End If



 :U8


١٨٥

If Label2.Visible = False Then
SQL = "select * from tb_sel_bay where kind=0 and
date=#" & Format(MaskEdBox1.Text, "MM/DD/YYYY&("
"#"
sql_now = "select tb_sel_bay.*,tb_product.* from
tb_sel_bay,tb_product where date=#" &
Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and
tb_product.number = tb_sel_bay.product"
dt1 = MaskEdBox1.Text
typ = 0
Else
SQL = "select * from tb_sel_bay where kind=0 and date
between #" & Format(MaskEdBox1.Text, "MM/DD/YYYY")
& "# and #" & Format(MaskEdBox2.Text, "MM/DD/YYYY("
"#"&
sql_now = "select tb_sel_bay.*,tb_product.* from
tb_sel_bay,tb_product where date between #" &
Format(MaskEdBox1.Text, "MM/DD/YYYY") & "# and #" &
Format(MaskEdBox2.Text, "MM/DD/YYYY") & "# and
tb_product.number = tb_sel_bay.product"
dt1 = MaskEdBox1.Text
dt2 = MaskEdBox2.Text
typ = 1
End If


 :€DQ Q^‫א‬J‫א‬d k5‫א‬ª(R‫אא‬0p3•&^‫?\א‬E3‫א‬dW$

Private Sub Command3_Click(Index As Integer(
Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Set cn = New ADODB.Connection

١٨٦
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data
Source=" & Folder & "db1.mdb;" & "Jet OLEDB:Database
Password=" & PassWord
Set Rs = New ADODB.Recordset
Set Rs = cn.Execute(sql_now & " and kind=" & Index(
Set DataReport3.DataSource = Rs

DataReport3.Sections("Section2").Controls("l1").Caption =
Lbl_day
DataReport3.Sections("Section2").Controls("l2").Caption =
lbl_cnt1
DataReport3.Sections("Section2").Controls("l3").Caption =
lbl_cnt2
DataReport3.Sections("Section2").Controls("l4").Caption =
lbl_prc1
DataReport3.Sections("Section2").Controls("l5").Caption =
lbl_prc2
Select Case Index
Case 0
If typ = 0 Then


DataReport3.Sections("Section2").Controls("label1").Capti
on&"'? J( ‫א‬Ko"=dt1
Else


DataReport3.Sections("Section2").Controls("label1").Capti
on&".J( ‫א‬Ko"=dt1&" "&dt2
End If
Case 1
If typ = 0 Then



١٨٧
DataReport3.Sections("Section2").Controls("label1").Capti
on&"'? JK_‫א‬Ko"=dt1
Else


DataReport3.Sections("Section2").Controls("label1").Capti
on&".JK_‫א‬Ko"=dt1&" "&dt2
End If
End Select
DataReport3.Sections("Section2").Controls("label3").Capti
on = Info(2(
DataReport3.Sections("Section2").Controls("label4").Capti
on&":™oY"=Info(3(

DataReport3.Show

Set cn = Nothing
Set Rs = Nothing
End Sub

 .
‚ ‫א‬$ -'F 

* Ddk0E...3•U !‫א‬#_‫ א‬.opE!‘5³7mD،|+‫א‬O? Ko&^
 .'(57‫?)א‬Y
 .&^‫?\א‬E5B|+‫א‬#_\?( d ko>$; \U !‫א‬#_3•4 ###0.('?

.E =‫('א‬57‫(Š)א‬Sql_now0EDV'?"?&^‫?\א‬E5E0M
،7|+‫א‬:†p‫|א‬+‫ א‬.&J‫א‬dk5s V?5a1,a2,a30E ،3.(o
 .|+‫א‬.E،|+‫א‬0(
 :{o.ESearch‫אא‬LN: |+‫ א‬.&.V\?B‫א‬v5B

١٨٨

sql_now = SQL
a1 = Combo1.Text
a2 = Combo2.Text
a3 = Text1.Text

 :J ‫&א‬Oo7‫א‬K‫אא‬L ،\?B‫א‬5B05;‫ א‬

If sql_now = "" Then Exit Sub
Dim cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data
Source=" & Folder & "db1.mdb;" & "Jet OLEDB:Database
Password=" & PassWord
Set Rs = New ADODB.Recordset
Set Rs = cn.Execute(sql_now(
Set DataReport4.DataSource = Rs


 :;‫א(?א‬d ko ،V (‫א‬J?(‫€א‬V

DataReport4.Sections("Section2").Controls("label3").Capti
on = Info(2(
DataReport4.Sections("Section2").Controls("label4").Capti
on&":™oY"=Info(3(
DataReport4.Sections("Section2").Controls("label1").Capti
on&")RX‚&|+‫א‬gX5"=a1 & a2 & a3"("&


 :&^‫ א‬.&O.B5‫א‬


١٨٩

DataReport4.Show

Set cn = Nothing
Set Rs = Nothing





     

prog24.zip



t#‫א‬DV‫ א‬gh‫\א א‬$+5'?"?'\‫א א‬L، ‫אא‬CYdW!‫א‬GH‫?א‬Y‫א‬CY
 .‫;א‬:mJ‫א!\ א‬














١٩٠





Visual Basic 6.0






١٩١









exe •
Setup •









١٩٢



%&dW!‫א‬J.‫א‬DV$ ..._n\‫ א&א‬gh‫ א‬4‫א א‬nCYLO ³"?
 .gh‫א‬

 ' p‫(ƒא‬3Y?  ,- ‫א‬

ª(RV StatusBar=‫€א‬K#DV'? ،` X‫'א‬H?Q‫א‬U83‫\א‬I;‫(?\א‬
 .* D  X‫'א‬4‫א‬
.V،'H?Q‫א‬0Q$L4bK3 XonP5 StatusBarDV M B+5‫א‬J‫\ א‬$€K#
 .Panels`p‫א‬vK?5‫א‬W‫ א‬CustemW‫א!\אא‬nCY0W‫\א‬SXe‫א‬
 .€K_‫אא‬CY ‫<א‬6$"C DV7Remove Panel Insert PanelKHy1

 :€K_‫אא‬CY <60B 5‫א‬SXe‫א‬13‚K$

 . <r‫אא‬CYL4bK>C‫א‬S‫א‬K+5:Text
 . <r‫אא‬CY0W‫\א‬S‫אא‬:/K+5:Alignment
H 5W‫א‬BjB،Text ,e\‫א‬S‫א‬RV?K| text%&3 V‫א‬D‫א‬:Style
 .Ydi `=‫א‬2M?‫ א‬$”KH5‫&Šא‬
 .€K_‫< א‬60E‰^i y K+5:Beval
ª(;! B ،> 5€K_‫<א א‬6‫א‬R )3 V‫א‬D‫ א‬P=‫ א‬K:AutoSize
 .S‫ א‬P Rv5o| ¦] ,e‫א‬nCY€‚dE;?Bo ‫<א‬67‫א‬

 :=‫€א‬K#0W‫ \א‬5‫א‬,(‫‚ ™א‬
 .Ydi RX‚‫&\א‬0p|KcU8‘5c€K_‫אא‬CYLJ?(‫א‬ª(:€K_‫|א‬Kc*
 .H<‫א‬9 Y%&3‫א‬yH <r‫אא‬CY;?B 
 .Style ,WOW*^‚ :`=‫א‬2M?‫*א‬

١٩٣
 .RX‚‫*&\א‬
 .D?5‫א‬diRX‚‫*&\א‬
Key ,WL MRV? M ،|K+5‫א‬H<; (‫א‬.Y ، .5‫א‬2M .4. M€‚
 .3 74^VNB. 
 .=‫אא‬0 k_o*
 .`? ‫א‬K5‫א‬0 k_o*
 .(‫א‬H)` B7‫א‬Kh‫א‬3‫א‬dW$ *

Ddk5—?‫א‬ª(;! ،z?k‚‫א‬S‫א‬H5W‫א‬h&NC'? ،Ih‫א‬L$N:(
ª(CQ* &  ،€D" $´O $H5W‫א‬%&5‫א‬C،S‫א‬0EH5W‫א‬R ^5
 :3Y.(oF‫א! אא‬

Private Sub StatusBar1_PanelClick(ByVal Panel As
MSComctlLib.Panel(
Select Case Left(Panel, 5(
Case"|Kc"
Refresh_St
Case"‫"&Šא‬
If T1.RecordCount = 0 Then
MsgBox−DV‫א‬W‫א‬K6&‚DV7،4&KHoŠ(RX‚>$6?o7"
،"&‚DV‫א‬vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If
Unload Frm_Report4
Frm_Report4.Show
Case"0 k_o"
Frm_Calc.Width = 3105
Frm_Calc.Height = 2640
Frm_Calc.Top = 0
Frm_Calc.Left = 0
Frm_Calc.Show

١٩٤
Case"NK"
If T1.RecordCount = 0 Then
MsgBox−DV‫א‬W‫א‬K6&‚DV7،4&|+RX‚>$6?o7"
،"&‚DV‫א‬vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If

Frm_Find.Show
Frm_Find.Text1.Text = 0
Frm_Find.Combo1.ListIndex = 3
Frm_Find.Combo2.ListIndex = 2
Frm_Find.Command2.Value = True
Case "Hamma"
Shell "explorer mailto:Hammada2091@Hotmail.com"
End Select
End Sub


 :|K+5‫א‬$L$

Private Sub Refresh_St()
SQL = "select count(*) as cnt from tb_product"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
StatusBar1.Panels(3).Text&"RX‚‫="&\א‬T4!cnt"&‚"&
T4.Close
SQL = "select count(*) as cnt from tb_product where
count=0"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset(
StatusBar1.Panels(4).Text&"NK"=T4!cnt"D?5di&‚"&
T4.Close
End Sub

١٩٥
Š (‫א‬S‫א א‬0KEIndex ,W%&\.5&7‫א‬K^‫‰א‬QR ^5:b ***
 :`5‫א‬0B_

Select Case Panel.Index

 . .(‫א‬nC]0p!‫א‬K^‫`א‬YnCY ،‫?א\א‬E!‫‰א‬Q (

 ./‫ א‬9>‫(ƒא‬3Y EF

 :o‫\א‬$'~5"?Šk‫אא‬C] ..GH‫אא‬CYOWIhJ‫\ א‬$€K#0.('?
 .* D B+5‫€ א‬K_‫(Šא‬:Toolbar‫\א‬$*
pE$R'~5o‫א!\א‬nCY ،€K_‫א‬LH?‫א!\א(Šא‬nCY'~5:ImageList‫\א‬$*
 .4W‫א‬H?‫{(Šא‬W$‫\א‬$

J?K$&|+‫א‬L$`BJ‫€א!\ א‬K#L‫<א‬H]R‚F‫'א‬4‫א‬K+5'?;‫ א‬
 :`Y ،]
 .Š&*
 .RX‚‫א‬Ko*
 .`? ‫א‬K5‫*א‬
 . ‫א‬#*
 .R *
 .|¦*
 . -*
 .”*
 .‫א‬.E*
 .O? *
 .‘ W*
 .4‫~א‬573‫ א‬4•gh‫א‬HLJ?K!‫א‬RV?'?|+‫ (א‬

١٩٦
Custom%&€kV‫ א‬،YK+5 M‫א‬C،Imagelist‫\א‬$'‫~א‬5‫א‬H \;‫`א‬o[K
 :`KHB50B_ M;‫ א‬،ImagevK?5‫א‬W‫ א‬،4XW
 .Insert Picture€kV‫*א‬
 .?^‫א‬H?‫א‬W‫*א‬

 .‫\א‬7‫א‬nCYH \%45‫אא‬CBY ...H?‫`א‬45o%5 ‫א‬CBY

 .CustomW‫ א‬،Toolbar p‫א; \א!\אא‬
 :`K B+5‫א‬R ^5U !‫א‬#_‫א‬L،SXe‫א‬##N4b5
 .Imagelist1o‫\א‬$`Y H?‫א‬HKcR ^54:Image List*
 .Ydi \(!‫†† א‬4b‫\א‬c:Style Appearance*
 .H?‫א‬RS‫א‬n1‫א‬:TextAligment*

 :`K\³Buttons`p‫א‬vK?5‫א‬L
 .4(4b >C‫א‬S‫\א‬³Caption ,W ،Inseret ButtonH5°
 .G ‫א‬H &4bK>C‫א‬S‫א‬H5°ToolTipText
 .H<‫א‬0B#\cStyle ,W3‫א‬dW$
،.XM4bKHy?4D٢$،H 5W‫א‬R0B#%&;?BK3p١B>\&Hy٠`V‫א‬D7‫א‬3p.D
 .KHy0E\&*(‚Separator€W?Y٣
‫א‬o‫\א‬$ M‫ ("א‬،Hy0ER4boF‫א‬H?‫ א‬MH\cImage ,W3‚K$
 .ImageList

 .\?B‫& א‬%5K ،J‫€א!\ א‬K# .o€‚'?0B_‫אא‬C4

 :`5‫א‬0B_K‫אא‬L\?B‫א‬4b DJ‫€א!\ א‬K#I&$

Private Sub Toolbar1_ButtonClick(ByVal Button As
MSComctlLib.Button(

١٩٧
 .z?k‚‫א‬H<‫א‬L\?6?‫א‬S‫א‬%&Buttondk5‫?>א‬5@|
 :`5‫א‬0B_Select)'~5"?NC

Select Case Button
Case"‘ W"

w  _2.M‫א‬.Ed ko0pJ7=‫א‬ª(L\‫?א‬E!‫א‬H‫א‬B53( ،0B_‫אא‬C4
 ‫?א‬#w=‫& א‬52.M ‫א‬.Ed ko\?E* D2(V Chng_pass
 .J‫€א!\ א‬K# $.X‫א‬

 :`5‫א‬0B_;?BK"?\?B‫א)`א‬

Private Sub Toolbar1_ButtonClick(ByVal Button As
MSComctlLib.Button(
Select Case Button
Case"‘ W"
Dim sure
sure = MsgBox،"‫؟‬gh‫ א‬4‫ א‬E[5Ko0Y")vbExclamation +
vbYesNo + arabic("‘ e‫ א‬E[o"،
If sure = vbYes Then End
Case"O? "
AboutMe.Show 1
Case"‫א‬.E"
Call Chng_pass
Case"”"
Copy_Me
Case" -"
Frm_Calc.Width = 3105
Frm_Calc.Height = 2640
Frm_Calc.Top = 0
Frm_Calc.Left = 0

١٩٨
Frm_Calc.Show
Case"|¦"
If T1.RecordCount = 0 Then
MsgBox−DV‫א‬W‫א‬K6&‚DV7،4&|+RX‚>$6?o7"
،"&‚DV‫א‬vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If
Frm_Find.Show
Case"R "
If T1.RecordCount = 0 Then
MsgBoxDV‫א‬−DV‫א‬W‫א‬K6&‚DV7،4V(RX‚>$6?o7"
،"&‚vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If
Frm_Sel_Bay.Lbl_name.Caption"R  .&DV‫="א‬
Frm_Sel_Bay.Refresh_Me
Frm_Sel_Bay.Show 1
Case" ‫א‬#"
If T1.RecordCount = 0 Then
MsgBoxDV‫א‬−DV‫א‬W‫א‬K6&‚DV7،4V(RX‚>$6?o7"
،"&‚vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If
Frm_Sel_Bay.Lbl_name.Caption" ‫א‬# .&DV‫="א‬
Frm_Sel_Bay.Refresh_Me
Frm_Sel_Bay.Show 1
Case"`?KKo"
If T1.RecordCount = 0 Then
MsgBox−DV‫א‬W‫א‬K6&‚DV7،4&KHoŠ(RX‚>$6?o7"
،"&‚DV‫א‬vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If
Unload Frm_Report4

١٩٩
Frm_Report4.Show
Case"RX‚Ko"
If T1.RecordCount = 0 Then
MsgBoxDV‫א‬−DV‫א‬W‫א‬K6&‚DV7،4V(RX‚>$6?o7"
،"&‚vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If

Frm_Report1.Show
Case"Š&"
If T1.RecordCount = 0 Then
MsgBoxDV‫א‬−DV‫א‬W‫א‬K6&‚DV7،4V(RX‚>$6?o7"
،"&‚vbExclamation + arabic"RX‚‫"&Šא‬،
Exit Sub
End If

Frm_Show.Show
End Select
End Sub

V (‫א‬. ‫א‬37Index ,e‫~א'א‬5‫א‬B;mD=‫€א‬K#LK^‫‰א‬Q***
 .€K_‫א‬%&

.0.(n< 41 gh‫?א&א\א‬Y;‫א‬%o،gh‫אא‬.¦.•‫א‬M;?BGH‫אא‬C4
 .gh‫ א‬CJ .&¡0E4gh‫~א‬W-`YnC4D`5‫א‬GH‫א‬%5

     




programme.zip


GH‫א‬LY‫?א‬5/‹#¡M ™‫אא‬CY0M\?6?BoŽFrm_Edit_SPJK?5/***
 .;‫א‬2Q V‫‚™ א‬oŽ4B ،H ‫א‬nCY١٢

٢٠٠


 .−  ,83 Js
‚ ‫א‬−  ‫א‬W +V`-(„',(3;… V

?3‫ א‬6;E;8 ‫א‬CY ،€D ‫ א‬0(|+$1|+‫א‬##U8 KB‫`א‬W$Jb?
R CQ $‡.~VJ &MR0(5‫ א‬L $78،Q$.E€?52EH
 (‡ ١٠>45 .EF‫א‬RX‚‫א‬3p.D، ,WpE[|+‘5³mDdE
 .Op‫א‬0 %&4—e‫\א‬H?‫א‬O?, &
 :`K4،KtpE$–YN:0.(

 .( 4‫א‬−DV‫)א‬H‫א‬Hy$|+‫א‬L B+5—e‫| א‬+‫א‬##>?(‫< א‬rR‚
 .K\(‫א‬#_‫א‬L\?6?‫ א\א‬K+5‫א‬J(6?o#_‫א‬nCYL
 :D?Q0B#%&J‫א‬dk5††Lz _‫א‬nCYRV‫¬א‬mDDV‫א‬Hy%&‫*&א‬$78

a(x),b(x),c(x(

 x + 1> o| ¦|¦ .&0ER4†³ ،٠$oX. M
 :'H?Q‫א‬LGenralJ@5‫ א‬ML4D(

Dim a(),b(),c()
Dim X

L Form_Load:

X=0

 :DV7‫א‬Hy\?E;?BK3p.D


٢٠١
a(x) = Combo1.Text
If a(x"&‚‫(="א א‬Then a(x) = "product.name"
'
'
.J ‫&א‬ML0=‫א א‬U8Š (‫א‬S‫א‬0K?+5‫א‬CBY '
b(x) = Combo2.Text
c(x) = Text1.Text

X=X+1

Sql)™ ‚ 4‫א‬Hy%&€k‚‫ &א‬،*o?(DV‫~'א‬5‫`א‬45K%5 ‫א‬CBY
 :`5‫א‬0B_;?BoM ،'~5‫א‬4(V F‫א‬J?(‫א‬

SQL = "select tb_product.*,tb_category.*,tb_factory.* from
tb_product,tb_factory,tb_category where
tb_product.category=tb_category.number and
tb_product.factory=tb_factory.number"
For i = 0 To X-1
sql = sql & " and " & a(x) & b(x) & c(x(

Next i

 .?YY\ .E?^‫|א‬+‫א‬gX5R )Š& 5K‫א‬CBY
dpB‫*א‬l?V?‫ א‬، D‫ א‬7‫א‬K<.XML4&|¦F‫א‬J(‫&Šא‬3 7R ^5o
 .NIL ¥‫א‬J&;?BoMF‫א‬z‫א‬

 .l`‫'א {א‬F 
 :`K4،KtpE$do‫?א‬Q‫^&א‬
 .J‫א‬dk5L4MH‫א‬K<T ،{W!‫?א‬o ‫ א‬H?oQ‫א‬LYH4¤‫א‬A?^‫א‬J .(‫א‬DV‫*א‬
 .KH5‫א‬L4b 4ª(H 5W‫ א‬OWJ .(‫א‬DBŠ&*

٢٠٢
 :U !‫א‬K^‫א‬

U !‫א‬R ‫ א‬.&™ ‚| ،R  .&DV‫א‬##%&\.5&7‫א‬BmU !‫א=א‬L
Hy%&€k‚‫&א‬−3p`5‫א‬0B_،‫א‬CBY aL4Q ‚  p‫† א‬adk5L4.MH;<°
 .(DV‫)א‬

if a="" then
a = Number
else
a = a & "," & Number
end if

 .D‚‫ א‬.(‫ א‬MH?YNumberH5&‫א‬%&N:
 :Split‫?א^אא‬adk5‫ א‬5'?M$(H?oD&t)Hy%&€k‚‫ (א‬

b = split(a("،"،

 :K545DV‫  א‬5‫א‬1‫א‬Kr‫א‬D?Q‫א‬,&%&;‫א‬H ‫ † א‬

for i = 0 to UPBount(b(

'
'
 3‫א‬6>\&KoL4V('?o † ،D?Q‫א‬L\?6?‫'א‬MH!‫א‬%&Np¦;?B K4‫א‬L

 : p‫א‬K^‫א‬
'~5‫א‬.Y\@©Ho $'? ‫א‬J( J .&4 D##*Š("?K^‫א‬nCYL
Š(ListRV?'?3p.D،?^‫א‬J .(‫א‬DV‫א‬O r‫א‬%&‫א‬OWR ^5K ،
 .J .(‫'א‬MH$4 D

٢٠٣
YH5°{W$ .&>$ $−5^kVO r‫א‬%&‫ א‬L\?B‫א‬R‚،`5‫א‬0B_
 .−K5‫א‬U8 .(‫א‬DV7

MsFlexrid1.Cols=1
 .(‫ א‬MH™,*$H5&‫א‬%&'
List1.AddItem MSFlexGrid1.Text

 $,(‫"א‬C '~5.s 5o;$ ، .(‫א א‬DV‫א‬، D‫א א‬pE$ .5‫א‬0(rR ^5o
 .ndi v o‫א‬L2 ‫א‬L B+5‫ א‬RX‚‫א‬
 .K5‫א‬L4(V? M ،.X‫א‬L<~‫'א‬MH!‫('&א‬57 M3 7

0E;$|  ‫ א_א‬R ‫א‬J .(O 6K;?BK،3‫~א‬5‫א‬pE$ 0‚D$p†Kt–Y
0 Po 5K| ¦ ‫ א_א‬$R ‫א‬J .(O 6O !‫א‬LK;?B 0،R  .&0p•(^M
Many &?.IU8 ‫) א‬M(`&DO 60.('? †ER  .&0EL ‫ א‬0P
 . .(‫א‬nCYU8D‚‫א‬J .B‫ א‬R^‫א‬DV'?|  .(‫ א‬MH7(To One
 .\/R  .(V (‫א‬JP‫א‬DE&^ M&^‫ א‬.&L3 7

N &%K ، D‫ א א‬M\pE!‫א‬¢^‫א‬K(‫–א‬Y0،v+D¢^‫`א‬YnCY2 
 .N& _‫א‬K^‫א‬H 5W‫א‬

 .',(3G ‫א‬/ !"E, ‫(א‬#
J .(‫א‬ª(J‫א‬H5W‫א‬QV‫א‬$J6?  X‫א‬#_‫א‬0Q‫€א=א‬K#LJb?
 .‫א‬CBY (٠ .B‫]א‬F‫א‬RX‚‫)א‬0p(K‫א‬
 .3&? #J .(‫א‬pE$4$H5&‫א‬%&

R‚KM ،*,W(KJ .&KcK '~5.R‚Kgh"‫ א‬.‫;א‬$78
 ,W0p)3‚K$.XM0B#%&J‫€א!\ א‬K#L $،'4‫€א‬K#.V4Q‚K $.XMN
 .(y K ™_B5L\?6?‫~™א‬Back

٢٠٤
،|+‫א‬L4~5F‫א‬N5E'(5‫א‬0)&H&`Y(K‫א‬J .(‫א‬nCY;$2b 7?
 .3 73 (K4‫~א‬57J ‫&א‬ML45DV7|+‫א‬J .&ª(˜Q R ^5MNC
L'~5‫א‬viKF‫א‬Sql'(57‫א‬0)—?* DŠ(K6O 6DV‫א‬Bj
K6.XMDV73‫א‬$™ ‚gh+5D& ،]K<H ˆ$ ،&4‫~א‬5‫א‬
 .J .(‫א‬nCY%&>?5c

 7‫(&א‬K‫א‬J(57‫א‬O 6L|+"?mD،*55B'?>C‫?\א‬B‫&א‬$
 .|+‫א‬##LYC Qo *,e‫('א‬57‫)א‬K<~5'? ،z?k‚‫א‬

‰Q3‚K$*K<T |+z#pE‫~א'א‬5‫אא‬GH‫א‬Kt‰QNBj:b *
 .K^‫א‬


 .3( V- ‫א‬WC‚- ‫א‬

K5‫א‬##*4b;$0M3p.D،K5‫א‬LKKH4¤‫א‬K '~5‫;(^`א‬$R ^5
nd ko*s 5 ،;‫א(?א‬H?4¤LviK;E‫א‬:8 ،7'$H?‫א‬H4¤‫א‬LviK;E‫א‬:8. D*[
LJ\‫&א‬7‫א‬K<T 5K KH5‫&א‬tJ\‫&א‬,W##0.& L04$!‫ א‬KM ،
7'‫א‬H?‫(Šא‬True,false;<~D،™‫א‬J?( ‫א‬.E;<°.EJ ‫&א‬M
 ...‫א‬CBY ،nH4¤‫א‬KK;E?;‫(Šא(?א‬String;<° ،


 .  ‫א‬B‫ א‬7WC‚- ‫א‬

M0،gh‫~'א‬5¢ :‰Q?Y;?BK;$H ‚‰  .5‫א!?א; א‬H 5W‫א‬LNM :;8
{*$R،*M :vKŽ*$\²* DJ>$OWNI~5‫ א‬${K
 . .5‫א‬LQcKdpB‫א‬

٢٠٥
'$NI ^oKc™M?5K* & ،3pE_‫א‬K?YS~_‫אא‬CY;?BKM،˜=‫ ? א‬
 .7

&~5‫א‬O‫‡א‬%&—@3‚K$;E gh‫א‬0 +5E_‫א‬U8O<Kgh‫;א‬E‫א‬L
'~5,Q‫ א‬o‫א‬3.X‫\א‬0‚D!‫א‬s,[D;‫א‬$،gh‫א‬L . .5‫ א?  א‬4M‫ א‬:$
 . _K.EN. .5 B+5gh‫א‬
‫א‬CYIL ،;?‫ א‬،?^‫א‬J‫א!\ א‬t#$H 5W‫א‬Ns 5K3pWord0pgP5D
 :Op‫א‬0 %& 5‫א‬J?(‫א‬4 D*v^ .5##DV‫א‬R ^5

 .=‫€א‬K#H?4¤−J‫€א!\ א‬K#H?4¤−S‫א‬R;?−H‫א‬Hy!‫?;א‬− Qe‫?;א‬

 ‫א‬67‫א‬LN: gh‫א‬0 k_oH?D^o ،*—WO 6L'~5‫א‬J\‫א&א‬K<T 5K
 .Start


 .H4-G.‫('א‬9,`

 :4 ،*6 KtpE$*~5‫א‬K\(ol?V?;8

 . ‫ א‬J &M%&~5‫(\א‬o
&MLO?W‫‹] א‬5K ، ]J.E ،~5‫ˆ א‬O 6DV‫ א‬5K=‫א‬nCYL
 .*,e‫א‬H ‫א‬.EE[5K '~5‫א א‬h5©O?W‫א‬##L*$| ،J ‫א‬
&?.IR‚| ، ‚&!‫א‬J ,Kc?Yl?V?‫אא‬C] D‫ א‬7‫א‬J ^5‫ א‬$
("C  B‫א‬−DV‫ א‬B‫א‬−0K(o B‫)א‬0p?‚&0E'$True-FalseO?=‫א‬
 .&?.P.'(‫א‬K‫א‬4 B+5K

D(B. D، .&0E'$?‚(‫ א‬MHDV?‚(‫א‬4'?KF‫א‬J .(‫א‬Kc3 7Bj
 . p‫ א_א א‬.('M ،U !‫א‚&א‬DV'M

٢٠٦
 .J ‫?א&א‬M\(o ~5‫(\א‬o
H5©0.(‫א‬Ll _‫א‬0M ،pE$H *,WJ &M'~50B;?BKK^‫א‬nCYL
 .4,e‫אא‬.Eª(K ،?^‫א‬J ‫&א‬M
0M gh‫ א‬6He‫א‬#_‫א‬LK6&MDV‫א‬,D‹5o;$v@=‫א‬nCYL
 .€DK‫א‬DV7‫א‬L B+5‫א‬A?^‫;א‬E L78O?W‫א‬0 Po

 .nECO²‫א‬sˆ‫א‬CYB ،3‫( א‬opE!‫א‬¢^‫א‬K(‫–א‬Y

 .  ‫א‬/ E!",`' -J

 QBI‫~א'א‬57—~#!‫א‬DB,Q‫א‬sI‫א‬J. (o5EU86¦3.X‫\א‬8
 . &D E
'4‫ א‬gh‫ א‬X‫?א‬M3p*‹_D،gh(5‫א‬z‫א‬DEJ. (5‫א‬L‹_;$U8‘5³
 .* D !‫א‬
 .gh‫א‬XD* D‹_` Qo<6?(*E‫א‬CY،gh‫א‬d3‚K$*‹_

;?B ILOp‫א‬0 %(D،J+ .5‫א‬ª( ^&‫(¬א‬K3‚K$J. (5‫א‬5BN M;8
 . DE .E45oŽF‫א‬RX‚‫|(Šא‬+‫~א'א‬5‫ א‬Q E*. (o r‫א‬

&J?(* 8™V‫א‬3‫א‬dW$ ،4(0(5K™ E wcMF‫א‬0E_‫א‬ª(*‹#‫א‬3‚K$
 .J ‫א‬M7‫ אא א‬$*E_Š& NOo7‫ א‬Q E
J?B ،4(0(5‫א‬NBjF‫'א‬b‫א‬J B‫(Šא‬o;$ (g‫א‬hN5IO L‰o7
 .'‫אא‬E‫א‬: »(‫&א‬%\!‫=א‬Ey4r‫א‬

 .—e‫א™א‬J. (o&H&?Y D\H ?‫ ™א‬

     

help.zip 


٢٠٧
JQ5B,Wg‫~א'א‬5‫א‬R ^5M0،\H ?‫א‬%&J. (5‫א‬5EA?$z_K7
 ...3‫א‬dpE&o;$4Bj&‫א‬




،gh` ^5‫?\א‬B‫~א‬NI'‫~א‬5‫א‬KK0E`^(ogh ..EN8
?Y ،y K?‫€& *א‬k‚‫\א‬Pgh‫א‬0 k_o*0QBKexe\‫א‬53Q* ^(5N80
 .GH‫אא‬CYOW*.(5

4bo"?Y ،Make Project1.exeH 5W MN O‫?א‬P Q‫א‬LFile.XM
−J‫א‬H W)H<‫?א‬Y 4.4KH‫א‬Hy‫(א‬H$ ،˜Q=‫;א‬BK+5y K ™_B5##N
 .;‫>?"?'& *א‬C‫( א‬Option

`YnCY ،Rivision Minor ،Major'MH‫††א‬N4bo"?#_‫א‬%&$L
 .–‫א‬H,‫\א‬cF‫'א‬MH!‫א‬
LdEJ‫א‬d kowc M‫א‬dk5 ،0BEH‫א‬,\‫ א‬M‫?א‬YO !‫ א‬M‫?;א‬BK\(‫א‬L
?4D`p‫ א‬M‫א‬$،Visual Basic 6 Visual Basic 5¢Q‫א‬0pgh‫א‬
¢ DRWinzip 8.1 Winzip 8gŒ|  Q Q^‫א‬JK(5‫?;(א‬BK
 .^ 
‫א‬:mD١,٠,٠3 V‫א‬D‫?;א‬B IL ،N:di J †+5‫א‬0p3‫א‬d ko 4&$?4DdW!‫א‬$
\(oDV.M‫א‬:8$،O !‫ א‬M‫א‬dkmD3‫א‬6dEJDV‫ א‬gh0Ed k5.M
^ DV‫א‬QV‫ א‬$B_EH‫א‬o‫א‬:8$،`p‫ א‬M‫א‬dkDK6KHo |+z _‫א‬
 .|p‫ א‬M‫א‬dk"?D

RX‫)א‬v5B"?،*5?K$H 5W‫ א‬،l _‫א א‬KcNv^K"?#_‫א‬nCYvž
 .,e‫?א‬K!‫א‬H5° (`EC‫א‬


٢٠٨
¢? g5‫™א‬, g5‫ א א‬E_‫א א‬0pgh‫א‬J?(ª(\³"?#_‫א‬0Q$
 .Ydi R^‫א‬

##`p‫א‬vK?5‫א‬H 5W'?"?،‫א‬GH‫א‬LJ‫^?א‬e‫א‬2 4‫א‬M;?Bo;$(
:.Y XHKH W{"? ،Compile%.2c?Y>C‫ א‬Option
 .Compile To NativeCode Compile To P_Code

 Compile To P_Code
NI^7*5)oOWN O‫?א‬P D 6v^oNmD(‫אא‬CYH 5W2.M‫א‬:8
 . ^W!‫א‬R* D‫?א‬opE$ 3.P k,$*[< .5K ،YC Qo0MP_CodeU84K?+5

 Compile To NativeCode
0pJ‫א‬H e‫א‬ª(%&>?5@ ،O !‫א‬l?‫א‬dpBl$*$78l?‫אא‬CY P hE i
A %&? %5 C Q5‫א‬RKol^5‫א‬MO @>C‫ א‬Optimize for ast Code
%& P=‫א‬k >C‫ א‬Optimize for Small Code ‫‰א‬B&%&، P=‫א‬
.E،W‫א‬A %& `#K+5'?KDNo OptimizeH e‫א‬$...&‫א‬A
L– QK>C‫( א‬Favor Pentium Pro(tmH 5W7‫א‬$(s,)H#‫א‬RV NBj
Create Sympolic H 5W7‫א‬$،H?'? 5%&0.(o2E‫א‬:8 =‫א‬J .(‫א‬RKo
(‫א‬g‫א‬h‫>א‬$'‫~א‬53 7s 5‫ א‬B7,D™‫(^`א‬K*mDDebug Info
 .Šk‫אא‬C]

 :Advanced Optimizations
4 ،Optimization .(5J‫א‬H WŠ('?K#_‫א‬0Q$L\?6?‫א‬H<‫אא‬CY
 :
 .&\?6 '&Š‫א‬D‫א‬%&gh‫א‬RK5'?K?Y :Assume No Aliasing
 .AliasingH(5‫א‬
D?Q.Index'MH$+5‫?'('א‬K :Remove Array Bound Check
 .4(0(5‫א‬K<Ku

٢٠٩
'MH!‫א‬l‫?א‬$E[5‫א‬0K<K| :Remove Floating Point Error Checks
 .١٢−^١٠*٢ $٥^١٠*٢0p•F‫`א‬Y .X(‫א(א‬J‫א‬:
&­^o`Y :Allow Unrounded Floating Point Operations
 .'MH!‫א‬l?‫אא‬C]hE$M\%&O?=s.o| C Q5‫א‬
L M5‫אא‬y'?K :Remove Safe Pentium(TM) FDIV Checks
 .FDIVB_%&>?5cF‫א‬Jr(‫א‬
ª(1| ،N3‫ א‬Q;?BKH€‫אאא‬CY;8،FDIVB_&K<‫א‬D(Ko0Y
 :l?V?‫&א‬9!‫א‬
 http://www.trnicely.net/pentbug/pentbug.html


%5 4 8‘5cN$3‫א‬E[52E‫א‬:878]Š(5‫&'א‬O  J‫א‬H e‫א‬nCYK4L37)‫א‬
 .NIL ^W[v5o7


 ‫א‬v5B †OKHy%&#_‫א‬k"? 457‫ (א‬،,(‫א‬nCYLO(
 .Compile%& ،gh‫א‬
 $ ^W$\?6 '&E[5‫א‬4'4‫ | ?'(\א‬،)‫€א‬K#4bK"?
RV? M،`EC‫א‬RX‫א‬exegK;?B5K 457‫ (א‬،‫א! א‬L9tWJQK(o
 .* k_5 M H‫‰א‬QLJ. (5‫ ™א‬،J ‫&א‬M


*!0.(K7*${ Visual Basic%&>?5@7y46%&gh‫א‬0 M;‫ א‬
0.(K`B ،N O‫?א‬P DJ5B\?6  L0.(K"?*$78،JQ‫א‬ª(*o
 .0‫א‬GH‫א‬L*.(5?Y ،ghSetup0.('?<46!‫א‬0E%&gh‫א‬




٢١٠

Setup 

2   †،Exe ^oU8*K?+52.M †N O‫?א‬P D'‫~א‬5NIIh2.M‫א‬:8
0 k_oJQ~%&>?5@y4r‫;א‬E‫א‬:8 ،R ^5oNmDW-y46%&* k_o
0M!‫א‬%& $، V‫א‬D‫א‬diJ‫\ א‬$2~5‫א‬M2E‫א‬:8. D0E_*6‫?א‬5NmDN O‫?א‬P Q‫א‬
 .gh‫;א‬Bd koJHM.E+‫א‬JQ‫א‬Rgh‫א‬RJ ‫&א‬M0`(5

>?5@ ‫™ א‬dD?oNBj*mD−Package.B)‫א‬2+,;8−v (5‫א‬$
،'b‫א‬%&NIJ?BDEO‫<א‬3 Xo'?M* k_o\P ،NIJQR )%&
s^%&H5W‫א‬dD?oŠk‫אא‬C]5g‫א‬D?o.E،g‫א‬h‫א‬.XMLgh‫א‬N™ ‚K
 .g5‫א‬0 Po H J.E ،v^‫&א‬0 k_o\&‫ א‬0 .+55I v5B‫א‬

H?N O‫?א‬P Q‫א‬R3D3I'~50،D?5dig'‫~א‬5‫א‬LR?5
.XM.V\?6?‫ א‬Package & Deployment Wizerdg?Y ، V‫א‬D‫א‬
 .Microsoft Visual Basic 6.0 M2cN O‫?א‬P Q‫א‬

45Lv^o##4bogh‫א‬0 k_o\P ،gh‫אא‬CY%&0.($;‫ א‬
gh‫א‬H5° Browse%&€k‚–Y ،*Setup0.&K>C‫א‬gh‫א‬H
 .Package%&€k‚'? †.—e‫א‬

~‫א‬L3K(o6 ‫א‬:8 $exe~¥Ž‫א‬:mD،Y(V F‫א~א‬S+Qgh‫?'א‬K
¤Q5 7‫ א‬$K6Compiling0.&U8n\#H‫א‬Nv^K*mD4(exe™&
–YBoŽ‫א‬:8$،4‫~א‬5‫א‬Lvioexe~HRV  $، =‫א‬exe~
 . 5‫~^?א‬05K ،.5K*mD¢ D

H 5W7‫ א‬$،J‫^?א‬W'‫~א‬5‫א‬Lvio2E‫א‬:8. DN[K"? 5‫^?א‬e‫א‬L
7| ،pE$gh‫‰א‬QSetup0.& L ,e‫א‬nCY Q5 None

٢١١
.3 XoN4Q ‚K"? J‫^?א‬W'~5‫א‬0K6J‫א!\ א‬DV‫א‬U80EL‘5c
 .NoneH5°"?3 X

O !‫א‬l?‫א‬H5³"? ...*' ‫א‬Lvi>C‫א‬Packagel?K+5'?"?3 7
 .Standerd Setup Package
.E*3 7 M H>$RV،* Dv 5‫™א‬0.&\?o>C‫;א‬B‫א‬gh‫א‬Nv^K †
diI%&>?5@H‫;א‬E‫א‬:8. D .NetworkB#%&*(V R ^5o.E،vc
 .3,$\?6?HRV  $،n _‫–א‬d©"?D\?6?

 .J?B‫א‬##4boY(
U84 k_oNIv^5KF‫א‬JQ‫א‬DV3 XoN O‫?א‬P Q‫?'א‬K"?#_‫א‬nCYL
N &;?B *$.E،K+5‫אא‬y‫א‬Kt&4*65c7 k‫א‬R ^5o ،.X‫א‬nCY
 :`KN:0._K ،.X‫א‬L\?6?2 `Y 465cF‫א‬,(‫א‬DV‫א‬

H5° #_‫א‬0Q$All FilesH5° †AddHy€k‚| J ‫&א‬MJQ*
 .J ‫&א‬M™
 .'~5‫א‬y46L4 .c 5K| ، V‫א‬D7‫א‬diz?^e‫*א‬
 .NI465@F‫?א‬K Q‫א‬JQ J‫?א‬,!‫ א‬H?‫*א‬
 .IRHelp.rtf™0pJ. (5‫א& א‬JQ*
 . 6HW X‫?א‬M $H‫א‬Hy$'‫~א‬5‫א‬0p.X‫א‬L6?o7F‫ א‬dll'b‫א‬JQ ocxJ‫*א!\ א‬
 .Ydi reg>+K‫א‬JQ*

O57‫א‬H5°db1.mdb Help.rtf`Q€DIL?Y *65³DV‫ (א‬
 .Next 5‫~^?א‬
'$*.P &b‫א‬ªk€D ‫?™ א‬Y0Y ™‫ (א‬tKcNv^K 5‫^?א‬e‫א‬L
N ‫א‬v^K"? ‫^?א‬e‫א‬L .3pDisks—‫א‬M‫א‬%&*(V?( P¦ 
 ."`EC‫א‬RX‫"א‬H5~ ،*;‫(?א‬E4bKv 5‫אא‬C] ‫א‬Kc


٢١٢
| ،g‫א‬h‫א‬.XMLgh‫א‬H?4¤0B#KcNv^ | ، 5‫~^?א‬05;‫ א‬
RJ. (5‫™א‬DV'?N:P5 ،K6&?.I%5  $K6&DV‫א‬R ^5o
B  ™‫א א‬U !‫א‬e‫א‬Lv5B ،New ItemHy%&€k‚‫א‬OWgh‫™א‬
SXW0K(oR ^5o.E5 ‫א‬5e‫ *א‬k_o;B ™‫א‬H5° †"gh‫א‬J. (o
 .PropertiresHy%&€k‚‫א‬OW&>$

RV ˜ 5D،'~5‫א‬y46%&\‫א‬J?B‫א‬RV E$gh‫ @\א‬5‫א‬#_‫א‬L
،FontsLz?^e‫ א‬،AppPathgh‫א‬HLJ. (5‫ א‬J ‫&א‬MJQ
 .J\H$‫א‬:8Yd koR ^5o ،SystemL'b‫א‬J?B

E4‫~א‬5‫א‬BjJ?B‫א‬.XM–Y;[gh‫–א‬h©"?Next%&€k‚
 Q5 ،Ydi z?^e‫א‬0p4‫~א‬5‫{א‬W!‫א‬g‫א‬hBjJQ`Y Shared Files
O.5 73‫א‬bpE$J?B‫א‬nCY"C %& E[5‫ א‬5K"C=‫ א‬L*$K+5‫א‬N:
 .g‫א‬hNDC N k_oJ .&OWLN:2b 7N( .4~5o{W$g‫?\א‬6

v51R ^5o 7‫אא‬CYOW ،42.MF‫א‬J‫^?א‬e‫א‬nC] ‫א‬Kc?YdW!‫^?א‬e‫א‬
 R^4 D0K(5‫ א‬B‫א‬R3 V‫א‬D‫?\א‬6?;?Bo| ،0ERJ‫^?א‬e‫א‬nCY0EH‫א‬Bo
 .NIhSetup™0.&2 45‫א‬M;?Bo‫א‬CBY Finish%&€k‚ M3‫א‬dW$

0.&OILg‫א‬h‫א‬4#$.YIU8d#[ghSetup0.&&H\K4L
Install g Setup FactoryI.Y،Ydk N O‫?א‬P Q‫א‬g‫א‬hSetup
 .Shild

4. .o 4&‫?א‬$ Y\& J#_‫א‬Kc0p،K& DV‫א‬K‫<א‬%&;Ih‫א;א‬CY>?5@
،D‫א‬JQ‫ א‬J‫א!\ א‬L0E Bc،*DW v5B‫א‬s^%&J‫א‬H5W‫א‬0.&H 5W‫א‬،
،installl‫ א?א‬H J.EDV‫א‬،*DW s oQ‫א‬y‫ א‬K &RV >¥‫א‬L0 P5‫א‬
dQ5*—WEngine%&.40E>?5@| ^  IJ. (o5E o‫א‬
 .*DW 4. ME[5‫ א‬J‫א‬dk5 _‫א‬NBj| ،‫א! א‬ª(

٢١٣
 .†3739Jjk  ‫( א‬#'"CD

l V¬(KK6\?BJQU8J ^5‫א‬0K?+5'?o&?5g‫א‬2‫א‬LD?5o
O‫א‬0.( B(‫א‬K^‫!;א‬،B_‫א‬nC]0E0 6?K73 .& ،?4gh‫ א‬
H‫א‬,7‫א‬R7‫ א‬MQo ،;E.Egh‫(?\א‬K‫א‬C ،€k‚‫א‬NQoF‫`א‬YCompiling
،nCYK?^5‫א‬9 2c&?‫א‬g‫א‬h‫א‬4 &.5(oF‫א‬K^3‫א‬bN O‫?א‬P Q‫א‬net.
، .(‫א‬nCYv (5'?o−d(5‫א‬s,;8−dQ_og‫א‬RV?3KH \2D? BK'?o‫א‬C
#L.5M(‫א‬B ،gh‫א‬¢? %&¤Q+J o g‫א‬JE_‫א‬ª(D?o.E
 ..5H?AC6

Genral Public ¬(oF‫ א‬GPL 0pH‫? א‬5QJ Ih‫א‬J MQo‫א‬3‚K$–Y
N‫?א‬Yl?V?‫א‬L0EH5W،H‫? א‬5Q‫א‬J Ivi$R`o[oF‫ א‬Licence
–C3ºv^o;$NBj ،R .P*—e‫א‬Source CodeO‫א‬RNIdD?5'?o
K?^o0(¥u{W$K‫<א‬DV‫& * א‬0K(5‫א‬Bj،gh‫א‬R\?B‫א&^ א‬z_B
BK;$O @3~#1 ، E[o0BN R ‚KDN:o7،l$gh‫א‬
3‚K$UnixX&n17‫אא‬CY%5oF‫א‬0 k_5‫ א‬b.O >$%&NIK
0pg‫א‬d4_‫א‬g‫א‬h‫ א‬.PHP Java‘4‫אא‬CYLdoF‫א‬Ih‫א‬Jk
 .Ydi Apache J‫א‬DdFireFox Mozilla J+Q5

 .'‫;א‬6‫א‬: 9‫א‬93Q‡5 !$ V"`!O- ‫ א‬3 !rD`

 .‫ א‬#;8‫א‬nCYL H\'5W?Y™ Qe‫א‬l?V?‫אא‬CY;?B 

:U8 7‫א‬di.¹HD`5s5D{?<K7^ ‫^?א‬e‫א‬nCY0.(
 .AUTORUN.INF

 :*W‫א‬K^‫א‬KCYv5E$ ،NotePadBQ‫אא™?א^א‬CYs5Q M;‫ א‬


٢١٤
 [autorun]
 open=Setup.exe


 .Setup.exe™‫א‬H‰QLgh‫א‬R4(V 4~‫ א‬
 .v+DJ ^5‫  ‰א‬JQ‫א‬l‫א?א‬R )RsoK^‫א‬nCY











jk   ‫א‬8‫ אא‬E‰‫)א‬R‫א‬EˆBC‫א‬+


 .Š‹6‫א)?א‬3(`?*9 V ‫אא‬W V" ‫א‬
. ٢٠٠٤-٢٠٠٣ : defg ‫ال‬jkf] ‫ت‬VWXYZ[ \] ^_`a bc



٢١٥

You might also like