آيا ميدانيد : اولين مردماني كه سيستم اگو يا فاضلاب را جهت تخليه آب شهري به بيرون از شهر اختراع كرد ايرانيان بودند . آيا ميدانيد : اولين مردماني كه آتش را در جهان كشف كردند ايرانيان بودند.
آيا ميدانيد : اولين مردماني كه ذوب فلزات را آغاز كردند ايرانيان بودند در شهر سيلك در اطراف كاشان .
آيا ميدانيد : اولين مردماني كه كشاورزي را جهت كاشت و برداشت كشف كردند ايرانيان بودند .
آيا ميدانيد : اولين مردماني كه نخ را كشف كردند و موفق به ريسيدن آن شدند ايرانيان بودند .
آيا ميدانيد : اولين مردماني كه سکه را در جهان ضرب كردند ايرانيان بودند . آيا ميدانيد : اولين مردماني كه عطر را براي خوشبو شدن بدن ساختند ايرانيان بودند . آيا ميدانيد : اولين مردماني كه كشتي يا زورق را ساختند ايرانيان بودند به فرمان يكي از پادشاهان زن ايراني.
این برنامه با استفاده از سیستم شبکه های عصبی پیچیده, رابطه بین عناصر صورت و شخصیت افراد را با استفاده از تکنیک تشخیص هویت از روی عکس مشخص میکند.اجزائ صورت خود را انتخاب کنید و جزئیات شخصیت خود را در فرمت گرافیکی ببینید.
برنامه ای بسیار عالی برای ساخت ویدیو های خانگی. با استفاده از این نرم افزار شما می توانید برای DVD ها و VCD های خود منو ها متحرک بسازید. قابلیت بسیار جالب این نرم افزار این است که به شما اجازه می دهد در فیلم خود از افکت ها و موزیک های دلخواهتون استفاده کنید... در کل برنامه خیلی خوبی هست
Online TV Player نرم افزار قدرتمند که امکان تماشای بیش از ۸۵۰ کانال رایگان تلوزیونی . همچنین گوش دادن به بیش از ۱۵۰۰ شبکه رادیویی را از طریق اینترنت فراهم می آورد این نرم افزار به هیچ سخت افزار اضافی نیاز ندارد و از طریق مودم تمامی شبکه ها رو دریافت می نمایید . دارای صفحه با سایز قابل تغییر و بیش از ۴۰Skin برای محیط نرم افزار میباشد . برای اجرا در سیستم به یکی از سیستم عامل های 98,2000,Windows XP و نرم افزار RealPlayer 6 یا بالاتر و یا Windows Media Player ۷ یا بالاتر نیاز است...
خوب امروز براي دوستداران v2clik يه چيز با حال آوردم . بله امروز يه نرم افزار آوردم كه : مجموعه ایست از صداهای دریا و اقیانوس ها وصدای تلاتم جویبارها صدای طوفانها وصدای شبانگاهی جنگل ها و بیشه زارها .... (واقعا زیباست ) هر صدا داری ولوم جداگاانه ایست تا بشما امکان مخلوط کردن (میکس ) صدا ها را با دیگر صداها را بدهد . این صدا ها بصورت بدیجیتالی بوده و استریو ظبط شده و همچنین کوشش شده با اضافه کردن نمونه های صدای زیاد صداهای ایجاد شده بصورت هر چه طبیعی تر باشد . این نرم افزار برای تمرکز و ریلکسینش و.... پیشنهاد شده . و همچنین دارای عکس های متعددی از طبیعت میباشد .
کتاب ColdFusion MX Bible براي Join کردن بيش از دو جدول يک بانک اطلاعاتي راه حل زير را پيشنهاد مي کند:
SELECT c.CompanyID, c.CompanyName, e.LastName, e.FirstName, e.Salary, d.FullName, d.RelationShip FROM Company c INNER JOIN Employee e ON c.CompanyID = e.CompanyID INNER JOIN Dependant d ON e.SSN = d.SSN
که در بيشتر برنامه هاي Database Server درست عمل مي کند. اما در بانکهاي اطلاعاتي Microsoft Access پيغام خطايي با توضيح زير مي دهد :
Operator expected
من پس از يک کم جستجو در کتاب ها و پرسش از ديگران ، يک دوست آمريکايي من راه حل زير را پيشنهاد داد. در اکسس در برخي قسمت ها وجو د پارانتز الزامي است با اينکه در انواع ديگر بانک هاي اطلاعاتي نيازي به آن پارانتز ها نيست. يعني کد مورد نظر را بايد به صورت زير باز نويسي کنيم :
SELECT c.CompanyID, c.CompanyName, e.LastName, e.FirstName, e.Salary, d.FullName, d.RelationShip FROM (Company c INNER JOIN Employee e ON c.CompanyID = e.CompanyID) INNER JOIN Dependant d ON e.SSN = d.SSN
و يک نمونه ي ديگر در اتصال ۴ جدول :
SELECT cfarticle.id, cfarticle.title, cfarticle.description, cfarticle.dateadded, editorial.authorname as author, categories.name, levels.levelname FROM ((cfarticle INNER JOIN categories ON cfarticle.category=categories.id) INNER JOIN editorial ON cfarticle.author=editorial.id) INNER JOIN levels ON cfarticle.skllevel=levels.id
در بانك اطلاعاتي Access فيلدهاي نوع Date پاسخگوي نياز كاربران فارسي كه با تاريخ هجري شمسي كار مي كنند نيست . البته برنامه هايي مثل پارسا ۹۹ تقويم سيستم را به تقويم هجري شمسي تبديل مي كند و بعد از آن كاربران فارسي مي توانند از فيلدهاي نوع Date اكسس استفاده كنند .بدين ترتيب پارسا مشكل تاريخ هجري شمسي را حل ميكند ولي بعضا تاريخ شمسي سيستم بنا به دلايلي از بين ميرود . مثلا اگربعد از نصب پارسا، Officeنصب شود تاريخ هجري شمسي سيستم به هم مي خورد. براي رهايي از وابستگي برنامه هاي شما به پارسا و ... ، توابع زير مي تواند مشكل شما را بطور كامل حل كند . اين ماجول در چندين برنامه تست شده و جواب گرفته است شما هم مي توانيد از آن استفاده كنيد. (توجه داشته باشيد كه كدهاي نوشته شده ، در اينجا از چپ به راست نمايش داده شده اند ولي با كپي آن در اكسس ، نمايش آن از چپ به راست خواهد شد)
در صورت استفاده از اين ماجول ، فيلدهاي از نوع تاريخ را بايد از نوع Number تعريف كنيد. توضيحات بيشتر جهت استفاده از ماجول ، درون خود ماجول نوشته شده است. براي استفاده از اين ماجول ، از دو خط پايين تر تا انتهاي متن را در حافظه كپي كرده (Copy) و سپس در يك ماجول جديد در اكسس يا VB قرار دهيد (Paste):
' ************************************************************* ' برنامه نويس : حميد آزادي ' Email: azadi1355@yahoo.com ' Web Address: http://try.persianblog.com ' ويرايش سوم : زمستان 1381 ' *************************************************************
' 1- تعريف كنيد Number(Long) است را بصورت Date فيلدهايي كه نوع آنها ' 2- اين فيلدها را بصورت 00/00/00 تنظيم كنيد InputMask خاصيت ' بدليل 6 رقمي در نظر گرفتن فيلد تاريخ ، اين توابع تا سال 1399 كارايي دارد ' ... ' تاريخ جاري سيستم را به هجري شمسي تبديل مي كند Shamsi() تابع ' بكار ببريد Now() را مي توانيد در گزارشات بجاي تابع Dat() تابع ' :براي جلوگيري از ورود تاريخ غلط به درون يك فيلد بترتيب زير عمل ميكنيد ' :بشكل زير بكار ببريد ValidationRule را در خاصيت ValidDate() تابع ' ValidDate([نام فيلد])=True ' ...
'******************************************* Public FunctionRooz(F_Date As Long) As Byte 'اين تابع عدد مربوط به روز يك تاريخ را برمگرداند Rooz = F_Date Mod 100 EndFunction '******************************************* Function Mah(F_DateAs Long) As Byte 'اين تابع عدد مربوط به ماه يك تاريخ را برمگرداند Mah = Int((F_Date Mod 10000) / 100) EndFunction '******************************************* Public FunctionSal(F_Date As Long) As Byte 'اين تابع عدد مربوط به سال يك تاريخ را برمگرداند Sal = Int(F_Date / 10000) EndFunction '******************************************* Public FunctionKabiseh(ByVal OnlySal As Variant) As Byte 'ورودي تابع عدد دورقمي است 'اين تابع كبيسه بودن سال را برميگرداند 'اگر سال كبيسه باشد عدد يك و درغير اينصورت صفر را بر ميگرداند Kabiseh = 0 If OnlySal >= 75 Then If (OnlySal - 75) Mod 4 = 0 Then Kabiseh = 1 Exit Function End If ElseIf OnlySal <= 70 Then If (70 - OnlySal) Mod 4 = 0 Then Kabiseh = 1 ExitFunction End If End If
EndFunction '******************************************* FunctionValidDate(F_Date As Long) As Boolean Dim M, S, R As Byte ' اين تابع اعتبار يك عدد ورودي را از نظر تاريخ هجري شمسي بررسي مي كند ' را برمي گرداند False واگر نامعتبر باشد True اگر تاريخ معتبر باشد ValidDate = True S = Sal(F_Date) M = Mah(F_Date) R = Rooz(F_Date) '******** If F_Date < 100101 Then ValidDate = False Exit Function End If
If M > 12 Or M = 0 Or R = 0 Then ValidDate = False Exit Function EndIf
If R > MahDays(S, M) Then ValidDate = False ExitFunction End If EndFunction '******************************************* Public FunctionAddDay(ByVal F_Date As Long, ByVal add As Integer) As Long Dim K, M, S, R, Days As Byte R = Rooz(F_Date) M = Mah(F_Date) S = Sal(F_Date) K = Kabiseh(S)
'تبديل روز به عدد 1 جهت ادامه محاسبات و يا اتمام محاسبه Days = MahDays(S, M) If add > Days - R Then add = add - (Days - R + 1) R = 1 If M < 12 Then M = M + 1 Else M = 1 S = S + 1 End If Else R = R + add add = 0 End If
While add > 0 K = Kabiseh(S) 'كبيسه: 1 و غير كبيسه: 0 Days = MahDays(S, M) 'تعداد روزهاي ماه فعلي Select Case add Case Is < Days 'اگر تعداد روزهاي افزودني كمتر از يك ماه باشد R = R + add add = 0 Case Days To IIf(K = 0, 365, 366) - 1 'اگر تعداد روزهاي افزودني بيشتر از يك ماه و كمتر از يك سال باشد add = add - Days If M < 12 Then M = M + 1 Else S = S + 1 M = 1 End If Case Else 'اگر تعداد روزهاي افزودني بيشتر از يك سال باشد S = S + 1 add = add - IIf(K = 0, 365, 366) EndSelect Wend AddDay = (S * 10000) + (M * 100) + (R)
EndFunction
'*********************************************** PublicFunction Shamsi() As Long 'تاريخ جاري سيستم را به تاريخ هجري شمسي تبديل مي كند Dim Shamsi_Mabna As Long Dim Miladi_mabna As Date Dim Dif AsLong 'در اينجا 80/10/11 با 2002/01/01 معادل قرارداده شده Shamsi_Mabna = 791012 Miladi_mabna = #1/1/01# Dif = DateDiff("d", Miladi_mabna, Date) If Dif < 0 Then MsgBox "تاريخ جاري سيستم شما نادرست است , آنرا اصلاح كنيد." Else Shamsi = AddDay(Shamsi_Mabna, Dif) End If EndFunction '*********************************************** Public FunctionDayWeek(F_Date As Long) As String Dim a As String Dim N As Byte N = DayWeekNo(F_Date) Select Case N Case 0 a = "شنبه" Case 1 a = "يكشنبه" Case 2 a = "دوشنبه" Case 3 a = "سهشنبه" Case 4 a = "چهارشنبه" Case 5 a = "پنجشنبه" Case 6 a = "جمعه" EndSelect DayWeek = a EndFunction
'*********************************************** PublicFunction Dat() Dim D As Long D = Shamsi Dat = DayWeek(D) & " 13" & Sal(D) & "/" & Mah(D) & "/" & Rooz(D) EndFunction
'*********************************************** PublicFunction Diff(ByVal FromDate As Long, ByVal To_Date As Long) As Long 'اين تابع تعداد روزهاي بين دو تاريخ را ارائه مي كند Dim Tmp As Long Dim S1, M1, r1, S2, m2, r2 As Integer Dim Sumation As Single Dim Flag AsBoolean Flag = False If FromDate = 0 Or IsNull(FromDate) = True Or To_Date = 0 Or IsNull(To_Date) = True Then Diff = 0 Exit Function EndIf
If FromDate > To_Date Then 'اگر تاريخ شروع از تاريخ پايان بزرگتر باشد آنها موقتا جابجا مي شوند Flag = True Tmp = FromDate FromDate = To_Date To_Date = Tmp End If r1 = Rooz(FromDate) M1 = Mah(FromDate) S1 = Sal(FromDate) r2 = Rooz(To_Date) m2 = Mah(To_Date) S2 = Sal(To_Date) Sumation = 0
Do While S1 < S2 - 1Or (S1 = S2 - 1 And (M1 < m2 Or (M1 = m2 And r1 <= r2))) 'اگر يك سال يا بيشتر اختلاف بود If Kabiseh((S1)) = 1 Then If M1 = 12 And r1 = 30Then Sumation = Sumation + 365 r1 = 29 Else Sumation = Sumation + 366 End If Else Sumation = Sumation + 365 End If S1 = S1 + 1 Loop
Do While S1 < S2 Or M1 < m2 - 1 Or (M1 = m2 - 1 And r1 < r2) 'اگر يك ماه يا بيشتر اختلاف بود Select Case M1 Case 1 To 6 If M1 = 6 And r1 = 31 Then Sumation = Sumation + 30 r1 = 30 Else Sumation = Sumation + 31 End If M1 = M1 + 1 Case 7 To 11 If M1 = 11 And r1 = 30 And Kabiseh(S1) = 0 Then Sumation = Sumation + 29 r1 = 29 Else Sumation = Sumation + 30 End If M1 = M1 + 1 Case 12 If Kabiseh(S1) = 1 Then Sumation = Sumation + 30 Else Sumation = Sumation + 29 End If S1 = S1 + 1 M1 = 1 EndSelect Loop
If M1 = m2 Then Sumation = Sumation + (r2 - r1) Else Select Case M1 Case 1 To 6 Sumation = Sumation + (31 - r1) + r2 Case 7 To 11 Sumation = Sumation + (30 - r1) + r2 Case 12 IfKabiseh(S1) = 1 Then Sumation = Sumation + (30 - r1) + r2 Else Sumation = Sumation + (29 - r1) + r2 End If End Select End If
If Flag = True Then Sumation = -Sumation End If Diff = Sumation EndFunction
Public Function DayWeekNo(F_Date As Long) As String 'اين تابع يك تاريخ را دريافت كرده و مشخص مي كند چه روزي از هفته است 'اگر شنبه باشد عدد 0 'اگر 1شنبه باشد عدد 1 '...... 'اگر جمعه باشد عدد 6 Dim day AsString Dim Shmsi_Mabna As Long Dim Dif As Long 'مبنا 80/10/11 Shmsi_Mabna = 801011 Dif = Diff(Shmsi_Mabna, F_Date) IfShmsi_Mabna > F_Date Then Dif = -Dif End If 'با توجه به اينكه 80/10/11 3شنبه است محاسبه ميشود day متغير day = (Dif + 3) Mod 7 If day < 0 Then DayWeekNo = day + 7 Else DayWeekNo = day End If EndFunction
Function MahName(ByVal Mah_no As Byte) As String SelectCase Mah_no Case 1 MahName = "فروردين" Case 2 MahName = "ارديبهشت" Case 3 MahName = "خرداد" Case 4 MahName = "تير" Case 5 MahName = "مرداد" Case 6 MahName = "شهريور" Case 7 MahName = "مهر" Case 8 MahName = "آبان" Case 9 MahName = "آذر" Case 10 MahName = "دي" Case 11 MahName = "بهمن" Case 12 MahName = "اسفند" End Select End Function
Function SalMah(ByVal F_Date AsLong) As Integer 'چهار رقم اول تاريخ كه معرف سال و ماه است را برمي گرداند SalMah = Val(Left$(F_Date, 4)) End Function
FunctionMahDays(ByVal Sal As Byte, ByVal Mah As Byte) As Byte 'اين تابع تعداد روزهاي يك ماه را برمي گرداند Select Case Mah Case 1 To 6 MahDays = 31 Case 7 To 11 MahDays = 30 Case 12 If Kabiseh(Sal) = 1 Then MahDays = 30 Else MahDays = 29 End If End Select
EndFunction
Function Make_Date(ByVal F_Date As Long) As String 'يك تاريخ را بصورت يك رشته 10 رقمي با ذكر چهار رقم براي سال ارائه مي كند Dim D AsString D = Trim(Str(F_Date)) If IsNull(F_Date) = True Or F_Date = 0Then Make_Date = "" Else Make_Date = "13" & Mid(D, 1, 2) & "/" & Mid(D, 3, 2) & "/" & Mid(D, 5, 2) End If EndFunction
Function NextMah(ByVal Sal_Mah As Integer) As Integer If (Sal_Mah Mod 100) = 12 Then NextMah = (Int(Sal_Mah / 100) + 1) * 100 + 1 Else NextMah = Sal_Mah + 1 End If End Function
FunctionPreviousMah(ByVal Sal_Mah As Integer) As Integer If (Sal_Mah Mod 100) = 1Then PreviousMah = (Int(Sal_Mah / 100) - 1) * 100 + 12 Else PreviousMah = Sal_Mah - 1 End If End Function
Function SubtractDay(ByValF_Date As Long, ByVal Subtract As Long) As Long 'به تعداد روز معيني از يك تاريخ كم كرده و تاريخ حاصله را ارائه ميكند Dim K, M, S, R, Days AsByte
R = Rooz(F_Date) M = Mah(F_Date) S = Sal(F_Date) K = Kabiseh(S)
'تبديل روز به عدد 1 جهت ادامه محاسبات و يا اتمام محاسبه IfSubtract >= R - 1 Then Subtract = Subtract - (R - 1) R = 1 Else R = R - Subtract Subtract = 0 End If
While Subtract > 0 K = Kabiseh(S - 1) 'كبيسه: 1 و غير كبيسه: 0 Days = MahDays(IIf(M >= 2, S, S - 1), IIf(M >= 2, M - 1, 12)) 'تعداد روزهاي ماه قبلي Select CaseSubtract Case Is < Days 'اگر تعداد روزهاي كاهش كمتر از يك ماه باشد R = Days - Subtract + 1 Subtract = 0 If M >= 2 Then M = M - 1 Else S = S - 1 M = 12 End If Case Days To IIf(K = 0, 365, 366) - 1 'اگر تعداد روزهاي كاهش بيشتر از يك ماه و كمتر از يك سال باشد Subtract = Subtract - Days If M >= 2 Then M = M - 1 Else S = S - 1 M = 12 End If Case Else 'اگر تعداد روزهاي كاهش بيشتر از يك سال باشد S = S - 1 Subtract = Subtract - IIf(K = 0, 365, 366) EndSelect Wend SubtractDay = (S * 10000) + (M * 100) + (R)
يكي از دوستان وبلاگي من پرسيده بود چطوري پيغام Error مربوط به ورود ركورد تكراري را در اكسس فارسي كنيم . ترجيح دادم جواب كاملي براي سئوال ايشون بدم تا همه استفاده كنن. بنابراين ابتدا جواب ايشون رو ميدم و بعد از اون بطور كاملتر براي همه وبلاگي هاي عزيز روش كنترل خطا را تشريح مي كنم .
(توجه داشته باشيد كه در زير كدهاي نوشته شده از راست به چپ نمايش داده مي شوند)
جواب دوست ما: در رويداد OnError مربوط به فرم ورود اطلاعات اين كد را مي نويسيم:
If DataErr = 3022 Then MsgBox "اطلاعات وارده تكراري است" Response = acDataErrContinue End If
جواب كلي : اساسا ، هر خطا در اكسس يا VB يك كد توليد مي كند . برنامه نويسان بايد يك بانك اطلاعات از كد خطاهايي كه رخ مي دهد داشته باشند تا بتوانند با چك كردن شماره خطا پيغام فارسي مناسب آن خطا را صادر كنند .
بطور كلي دو روش كنترل خطا از اين قرارند:
1- اگر خطا مربوط به كل فرم باشد بايد از طريق رويداد OnError فرم كنترل شود . معمولا خطاهايي كه مربوط به كدنويسي ما نبوده و صرفا توسط اكسس و در واكنش به اشتباهات كاربر صادر مي شود در اين رويداد كنترل مي شود . در اين رويداد ، پارامتر DataErr حاوي كد خطاست. (بعبارت واضح تر اگر مي خواهيد كد مربوط به هر Error را شناسايي كنيد مي توانيد اين دستور در رويداد OnError فرم بنويسيد: MsgBox DataErr )
بطور كلي بعد از اينكه كد خطاها را شناسايي كرديد با نوشتن قالب برنامه زير در رويداد OnError فرم مي توانيد خطاها را كنترل كنيد :
Dim Str as String
Select CaseDataErr Case 3022 Str="اطلاعات وارده تكراري است" Case 2237 Str = "اطلاعات وارده در ليست وجود ندارد" 'خط فوق براي مواردي است كه يك مقداري كه در كمبو باكس وجود ندارد ، تايپ شده باشد Case ... Str=... .... EndSelect
Msgbox Str Response = acDataErrContinue
2- اگر خطا مربوط به كدهايي باشد كه خودمان در يك Sub نوشته ايم : در اين روش بايد در ابتداي Sub با دستور : <اسم زير روال كنترل خطا> On Error Goto ، كنترل خطا را به يك روال كنترل خطا ارجاع دهيم. ( تمام كدهايي كه ويزارد Command Button بطور خودكار در رويداد OnClick دكمه ها ايجاد مي كند نمونه خوبي براي اين روش هستند. ضمنا در اين روش بكمك Err.Number كد خطا شناسايي مي شود )
در اين يادداشت روش غيرفعال كردن دكمه Shift به هنگام باز شدن فايلهاي اكسس را توضيح خواهم داد . در ابتدا بايد مقدمه اي را عنوان كنم.
مقدمه مطلب زير در زمينه افزايش امنيت سيستم ها است. نكته اي كه در زمينه امنيت هر نوع سيستمي بايد به آن توجه داشت اينست كه بطور كلي امنيت يك امر نسبي است . بعبارت ديگر يك راه حل امنيتي ، قطعا جلوي بسياري از حملات عليه سيستم را خواهد گرفت ولي هيچگاه بطور كامل حملات را خنثي نخواهد كرد و هميشه حفره هاي امنيتي وجود خواهند داشت . در يادداشت قبل گفتيم كه به هنگام باز شدن فايلهاي اكسس، Startup اجراء مي شود . به كمك گزينه هاي Startup مي توانيم از دسترسي كاربران به محيط طراحي برنامه جلوگيري كنيم . ولي همانطور كه قبلا گفته شد ميكرو سافت با انگيزه ايجاد سيستم امنيتي چند مرحله اي يك روش ضد امنيتي براي آن ايجاد كرده است و كاربران برنامه ما مي توانند با پايين نگه داشتن دكمه Shift از اجراء Startup جلوگيري كنند و وارد محيط طراحي شوند . حال اگر بخواهيم دكمه شيفت را غير فعال كنيم تا كسي نتواند وارد محيط طراحي شود بايد به اين طريق عمل كرد :
استفاده از خاصيت AllowByPassKey خاصيت AllowByPassKey يكي از خواص شيء Database است كه: اگر مقدار آن True باشد دكمه شيفت فعال است . و اگر مقدار آن False باشد دكمه شيفت غير فعال است .
اين خاصيت عملا در ليست خواص يك Database نيست و بايد آنرا فقط براي اولين بار ايجاد (Create) كرد . بعد از ايجاد آن مي توان مقدار آنرا False يا True كرد .
تذكر : حتما يك كپي از فايل خودتان قبل از اجراء اين برنامه برداريد چون ممكن است ديگر نتوانيد وارد محيط برنامه خودتان شويد . من هم با عرض معذرت وقت پاسخگويي به ايميل هاي دوستان را ندارم و دچار مشكل خواهيد شد.
سه دكمه روي يك فرم مطابق شكل بالا ايجاد كنيد و كدهاي زير را در آن بنويسد. (نمايش كدهاي نوشته شده مناسب نيست ولي اگر آنرا در حافظه كپي كنيد و در ماجول فرمتان كپي كند بدرستي تمايش داده مي شود .)
'براي اولين دفعه : Private SubCreate_Click() On Error GoTo Er
Dim db As Database Dim prp AsProperty Set db = CurrentDb Set prp = db.CreateProperty("allowbypasskey", dbBoolean, False) db.Properties.Append prp db.Close
Ex: ExitSub Er: If Err.Number = 3367 Then MsgBox "اين خاصيت ايجاد شده و لازم نيست مجددا ايجاد شود" End If Resume Ex
End Sub
'جهت غير فعال كردن شيفت Private Sub ShiftNo_Click() Dim db As Database Set db = CurrentDb db.Properties("allowbypasskey") = False db.Close EndSub
'جهت فعال كردن شيفت Private Sub ShiftOk_Click() Dim db AsDatabase Set db = CurrentDb db.Properties("allowbypasskey") = True db.Close End Sub
مقدمه : در اين يادداشت تابع مربوط به تبديل عدد به معادل حروفي آن ارائه مي كنم . عمدتا در سيستم هاي مالي و حسابداري نياز است معادل حروفي اعداد هم نمايش داده شده يا چاپ شوند كه توابع زير اين نياز را پاسخ مي دهد. مثلا براي چاپ يك چك روي خود برگه چك ، علاوه بر نياز به چاپ مبلغ عددي چك لازمست تا مبلغ حروفي چك هم روي برگه چاپ شود.
نحوه استفاده از تابع : تابع Adad كه در زير ارائه شده است يك عدد را بعنوان ورودي گرفته و معادل حروفي آن عدد در زبان فارسي را بعنوان خروجي توليد مي كند. مثلا (Adad(1373 مقدار"يكهزار و سيصد و هفتاد و سه" را بعنوان خروجي توليد مي كند.براي استفاده از اين توابع بايد از چند خط پايين تر (Start of Module) تا انتهاي اين يادداشت را در حافظه كپي (Copy) كرده و در يك ماجول جديد در اكسس يا VB ، Paste كنيد . ( توجه داشته باشيد كه نمايش كدهاي نوشته شده در اينجا راست به چپ است كه پس از كپي كردن آن در ماجول اكسس بشكل صحيح نمايش داده خواهد شد)
' *********** Start of Module ***********
'توابع تبديل عدد به معادل حروفي آن در زبان فارسي 'برنامه نويس : حميد آزادي اردكاني 'ويرايش اول : ارديبهشت 1380 ' پست الكترونيك : azadi1355@yahoo.com ' آدرس وب : http://try.persianblog.com
Function Adad(ByVal Number As Double) As String If Number = 0 Then Adad = "صفر" End If Dim Flag As Boolean Dim S As String Dim I, L As Byte Dim K(1 To 5) As Double
S = Trim(Str(Number)) L = Len(S) If L > 15 Then Adad = "بسيار بزرگ" Exit Function End If For I = 1 To 15 - L S = "0" & S Next I For I = 1 To Int((L / 3) + 0.99) K(5 - I + 1) = Val(Mid(S, 3 * (5 - I) + 1, 3)) Next I Flag = False S = "" For I = 1 To 5 If K(I) <> 0 Then Select Case I Case 1 S = S & Three(K(I)) & " تريليون" Flag = True Case 2 S = S & IIf(Flag = True, " و ", "") & Three(K(I)) & " ميليارد" Flag = True Case 3 S = S & IIf(Flag = True, " و ", "") & Three(K(I)) & " ميليون" Flag = True Case 4 S = S & IIf(Flag = True, " و ", "") & Three(K(I)) & " هزار" Flag = True Case 5 S = S & IIf(Flag = True, " و ", "") & Three(K(I)) End Select End If Next I Adad = S End Function
Function Three(ByVal Number As Integer) As String Dim S As String Dim I, L As Long Dim h(1 To 3) As Byte Dim Flag As Boolean L = Len(Trim(Str(Number))) If Number = 0 Then Three = "" Exit Function End If If Number = 100 Then Three = "يكصد" Exit Function End If
If L = 2 Then h(1) = 0 If L = 1 Then h(1) = 0 h(2) = 0 End If
For I = 1 To L h(3 - I + 1) = Mid(Trim(Str(Number)), L - I + 1, 1) Next I
Select Case h(1) Case 1 S = "يكصد" Case 2 S = "دويست" Case 3 S = "سيصد" Case 4 S = "چهارصد" Case 5 S = "پانصد" Case 6 S = "ششصد" Case 7 S = "هفتصد" Case 8 S = "هشتصد" Case 9 S = "نهصد" End Select
Select Case h(2) Case 1 Select Case h(3) Case 0 S = S & " و " & "ده" Case 1 S = S & " و " & "يازده" Case 2 S = S & " و " & "دوازده" Case 3 S = S & " و " & "سيزده" Case 4 S = S & " و " & "چهارده" Case 5 S = S & " و " & "پانزده" Case 6 S = S & " و " & "شانزده" Case 7 S = S & " و " & "هفده" Case 8 S = S & " و " & "هجده" Case 9 S = S & " و " & "نوزده" End Select
Case 2 S = S & " و " & "بيست" Case 3 S = S & " و " & "سي" Case 4 S = S & " و " & "چهل" Case 5 S = S & " و " & "پنجاه" Case 6 S = S & " و " & "شصت" Case 7 S = S & " و " & "هفتاد" Case 8 S = S & " و " & "هشتاد" Case 9 S = S & " و " & "نود" End Select
If h(2) <> 1 Then Select Case h(3) Case 1 S = S & " و " & "يك" Case 2 S = S & " و " & "دو" Case 3 S = S & " و " & "سه" Case 4 S = S & " و " & "چهار" Case 5 S = S & " و " & "پنج" Case 6 S = S & " و " & "شش" Case 7 S = S & " و " & "هفت" Case 8 S = S & " و " & "هشت" Case 9 S = S & " و " & "نه" End Select End If S = IIf(L < 3, Right(S, Len(S) - 3), S) Three = S End Function
• Table :(جدول ) هر جدول براي نگهداري دادههاي خام بانك اطلاعاتي است.دادهها را شما در جدول وارد ميكنيد.جداول سپس اين دادهها را به شكل سطرها و ستونهايي سازماندهي ميكند.
• Query :هر پرس و جو براي استخراج اطلاعات مورد نظر از يك بانك اطلاعاتي مورد استفاده قرار ميگيردهر پرس و جو ميتواند گروهي از ركوردها را كه شرايط خاص دارا هستند انتخاب كند.پرس و جوها را ميتوان بر اساس جداول يا پرس و جوهاي ديگر اماده نمود. با استفاده از پزسوجوها ميتوان ركوردهاي بانك اطلاعاتي را انتخاب كرد، تغيير داد و يا حذف نمود.
• Form :متداولترين روش استفاده از فرمها،براي ورود و نمايش دادهها است.
• Report :گزارش ها ميتوانند بر اساس جدول ،پرسوجوها باشند ،قابليت گزارش چاپ دادهها ميباشدگزارشها را ميتوان بر اساس چند جدول و پرسوجو تهيه نمود تا رابطه بين دادهها را نشان داد.
• Macro :ماكروها به خودكار كردن كارهاي تكراري ،بدون نوشتن برنامههاي پيچيده يا فراگيري يك زبان برنامه نويسي ، ياري ميكند، در واقع ماكروها يكسري قابليتهايي هستند كه امكان سريع سازي را فراهم ميسازند.
• Modules : محيط بسيار قوي و با كيفيت براي برنامهنويسي محاسبات و عمليات پيچيده روي سيستم بانك اطلاعاتي.
-----------------------------------
الف - تعريف دادهData : هرگونه اطلاعات لازم و كاربردي درباره يك موجوديت را يك داده ميگويند.
ب- تعريف Fild : به هر ستون يك جدول كه در بر گيرنده كليه اطلاعات مربوط به آن ستون ميباشد و بخشي از يك موجوديت را تشگيل ميدهد فيلد گفته ميشود.
ت- تعريف Record : به هر سطر يك جدول كه اطلاعات مربوط به يك موجوديت را نشان ميدهد ، ركورد گويند.
ث- تعريف پايگاه دادهاي ارتباطي: پايگاه دادههاي ارتباطي، مجموعهاي از جدولهاي داده است كه يك فيلد مشترك در هر يك از جدولهاي موجود دارد و از طريق آن ميتوان دادهها را بهم ربط داد.به اين مدل از پايگاه دادهها ، پايگاه دادههاي ارتباطي RelationShip ميگويند.
نمیدونم از کجا باید شروع کرد . از کجا بگم . از بدبختیها یا از افتخارات . فقط میگم که ما یه نژاد اصیل هستیم .نباید بزاریم که هرکاری که دلشون میخواد به سر تاریخ ما بیارن مشکلات یکی یا دوتا نیست میخوای جلوی دزدیده شدن آثار تخت جمشید رو بگیری سد سیون رو میسازن میخوای جلوی آب گیری سد روبگیری میرن سراغ بیستون که اونو تخریب کنن . اول آثار با ارزش مون رو نابود میکنن بعد میرن سراغ خورده ها , همه این آثاربرای ما با ارزش هستن , یه عده هم که با دست های نازنینشون و یه تکه زغال , روی این آثار نقاشی میکشنتا میگی چرا این کار رو میکنی با کمال پررویی میگه به شما چه کسی پیشنهادی نداره که ما باید چه کار کنیم . برای بعضی ها هم بودن یا نبودن این آثار هیچ فرقی نداره بیا با هم یکی بشیم و ایران رو از نو بسازیم تا کی رنج و عزاب دیگه بسه
بيا لب واكنيم هم غصه ي من بيا بيدار كنيم خوابيده ها رو بيا آشتي بديم با قصه هامون تمام دستاي از هم جدا رو بيا گلخونه كن ويرونه ها رو كه قمري جاي زاغا رو بگيره نمي خوام گلدون مادربزرگم رو طاقچه از بوي غربت بميره قفلاي خوني صندوقچه ي ما هزارون ساله گم كرده كليده بيا با قلبامون رستم بسازيم كه اون كه دشمنه ، ديو سفيده بيا قفل و كليد رو مهربون كن كه سخته سوت و كور خونه هامون بيا با دستاي هم پل ببنديم كه رد شه قاصد از رودخونه هامون اگه شب مثل زندون تنگ و تاره كليد صبحمون تو دستاي ماست اگه امشب ، شب مرگ ستاره ست چراغ راهمون خورشيد فرداست
نخستين اشاره در تاريخ اساطير ايران به وجود پرچم به قيام کاوه آهنگر و پيش بند چرمی او بر سر چوبی بر عليه ضحاک بر ميگردد. پس از شکست ضحاک فريدون بر تخت شاهی نشست و او فرمان داد تا پرچم کاوه را با ديباهای زرد و سرخ و بنفش و گوهر زینت دهند و بدين سان "درفش کاويان" پديد آمد. درفش کاويان صرفاً افسانه نبوده و به استناد تاريخ تا پيش از حمله اعراب به ايران پرچم ملی و نظامی ايران را درفش کاويان می گفتند.
به روايت نوشتار تاريخی، درفش کاويان زمان ساسانيان از پوست شير يا پلنگ ساخته شده بود، بدون آنکه نقشی بر روی آن باشد. هر پادشاهی که به قدرت می رسيد تعدادی جواهر بر آن می افزود. به هنگام حمله اعراب به ايران، در جنگی در اطراف نهاوند درفش کاويان به دست آنان افتاد که آن را نزد عمر بردند و به نوشته فضل الله حسينی قزوينی در کتاب المعجم "امير المومنين سپس بفرمود تا آن گوهرها را برداشتند و آن پوست را سوزانيدند". با فتح ايران به دست اعراب از آنجائی که علمای اسلام تصوير پردازی و نگارگری را حرام ميدانستند ايرانيان تا دويست سال هيچ پرچمی نداشتند.
نخستين تصوير بر روی پرچم ايران در سال 355 خورشيدی (976 ميلادی) سلطان محمود غزنوی برای نخستين بار دستور داد نقش يک ماه را بر روی پرچم خود که رنگ زمينه آن يکسره سياه بود زردوزی کنند. سپس در سال 410 خورشيدي (1031 ميلادی) سلطان مسعود غزنوی به انگيزه دلبستگی به شکار شير دستور داد نقش و نگار يک شير جايگزين ماه شود.
در زمان خوارزمشاهيان يا سلجوقيان سکه هایی زده شد که بر روی آن نقش خورشيد بر پشت آمده بود، رسمی که در مورد پرچمها نيز رعايت گرديد. در مورد علت استفاده از خورشيد دو ديدگاه وجود دارد، يکی اينکه چون شير گذشته از نماد دلاوری و قدرت نشانه ماه مرداد (اسد) هم بوده و خورشيد در ماه مرداد در اوج بلندی و گرمای خود است، به اين ترتيب همبستگی ميان خانه شير (برج اسد) با ميانه تابستان نشان داده می شود. نظريه ديگر بر تاثير آئين مهرپرستي و ميترائيسم در ايران دلالت دارد و حکايت از آن دارد که به دليل تقدس خورشيد در میان ايرانيان کهن خورشيد بر روی سکه ها و پرچم بر پشت شير قرار گرفت.
پرچم در دوران صفويان در ميان شاهان سلسله صفويان تنها شاه اسماعيل اول و شاه طهماسب اول بر پرچم خود نقش شير و خورشيد نداشتند. پرچم شاه اسماعيل يکسره سبز رنگ بود و بر بالای آن تصوير ماه قرار داشت. شاه طهماسب نيز چون خود زاده ماه فروردين (برج حمل) بود دستور داد به جای شير و خورشيد تصوير گوسفند (نماد برج حمل) را بر روی پرچمها و سکه ها ترسيم کنند. پرچم ايران در بقيه دوران صفويان سبز رنگ بود و شير و خورشيد را بر روی آن زردوزی می کردند.
موقعيت و طرز قرارگرفتن شير در همه پرچمها يکسان نبوده، گاهی شير نشسته، گاهی نيمرخ و گاه رو به سوی بيننده بوده. در بعضی موارد هم خورشيد از شير جدا بوده و گاه چسبيده به آن. به استناد سياحت نامه ژان شاردن جهانگرد فرانسوی استفاده از بيرق های نوک تيز و باريک که بر روی آن آيه ای از قرآن و تصوير شمشير دوسر علی يا شير خورشيد بوده در دوران صفويان رسم بوده است. به نظر می آيد که پرچم ايران تا زمان قاجارها مانند پرچم اعراب سه گوشه بوده.
پرچم در عهد نادرشاه افشار درفش شاهی يا بيرق سلطنتی در دوران نادرشاه از ابريشم سرخ و زرد ساخته می شد و بر روی آن تصوير شير وخورشيد هم وجود داشت اما درفش ملی ايرانيان در اين زمان سه رنگ سبز و سفيد و سرخ با شيری در حالت نيمرخ و در حال راه رفتن داشته که خورشيدی نيمه بر آمده بر پشت آن بود و در درون دايره خورشيد "المک الله" نوشته شده بود.
سپاهيان نادر در تصويری که از جنگ وی با محمد گورکانی، پادشاه هند کشيده شده، بيرقي سه گوش با رنگ سفيد در دست دارند که در گوشه بالای آن نواری سبز رنگ و در قسمت پائین آن نوار سرخی دوخته شده است و شيری با دم برافراشته به صورت نيمرخ در حال راه رفتن و درون دايره خورشيد آن بازهم "المک الله" آمده است. بر اين اساس ميتوان گفت پرچم سه رنگ عهد نادر مادر پرچم سه رنگ کنونی ايران است هر چند در آن زمان پرچمها هنوز سه گوشه بودند.
قاجارها و پرچم چهار گوشه در دوران آغامحمدخان قاجار چند تغيير در شکل و رنگ پرچم داده شد، يکی اينکه شکل آن برای نخستين بار از سه گوشه به چهارگوشه تغيير يافت و دوم اينکه پرچم سه رنگ را به یک پرچم سرخ با دايره سفيد رنگ بزرگی در ميانش که در آن تصوير شير و خورشيد به رسم معمول وجود داشت تغییر یافت با اين تفاوت که برای نخستين بار شمشيری در دست شير قرار داشت.
در عهد فتحعلی شاه قاجار، ايران دارای پرچمی دوگانه شد. يکي پرچم زمان صلح که يکسره سرخ با شيری نشسته و خورشيد بر پشت که پرتوهای آن سراسر آن را پوشانده بود. نکته شگفتی آور اين که شير پرچم زمان صلح شمشير بدست داشت در حالی که در پرچم عهد جنگ چنين نبود. در زمان فتحعلی شاه استفاده از پرچم سفيد رنگ برای مقاصد ديپلماتيک و سياسی مرسوم شد. در تصويری که يک نقاش روس از ورود سفير ايران "ابوالحسن خان شيرازی" به دربار تزار روس کشيده پرچمی سفيد رنگ منقوش به شير و خورشيد و شمشير پيشاپيش سفير در حرکت است.
برای نخستين بار در زمان محمدشاه قاجار (جانشين فتحعلی شاه) تاجی بر بالای خورشيد قرار داده شد. در اين دوره هم دو پرچم به کار برده میشد که بر روی يکی شمشير دو سر حضرت علی و بر ديگری شير و خورشيد قرار داشت که پرچم اول درفش شاهی و دومی درفش ملی و نظامی بود.
اميرکبير و پرچم ايران اميرکبير به دلیل دلبستگی ويژه ای که به نادرشاه داشت رنگ های پرچم او را اما به شکل پرچم مستطيل به کار برد که سراسر زمينه پرچم سفيد بود با نوار سبز نازکی در گوشه بالائی و نواری سرخ رنگ به همان اندازه در قسمت پائين و نشان شير و خورشيد و شمشير در ميانه پرچم قرار گرفت، بدون آنکه تاجی بر بالای خورشيد گذاشته شود.
انقلاب مشروطيت و پرچم ايران با پيروزی جنبش مشروطه خواهی در ايران و تشکيل مجلس، نمايندگان مردم در مجلس های اول و دوم به کار تدوين قانون اساسی و متمم آن پرداختند. در اصل پنجم متمم قانون اساسس آمده بود: "الوان رسمی بيرق ايران، سبز و سفيد و سرخ و علامت شير و خورشيد است"، کاملا مشخص است که نمايندگان در تصويب اين اصل شتابزده بوده اند زيرا اشاره ای به ترتيب قرار گرفتن رنگها، افقی يا عمودی بودن آنها، و اين که شير و خورشيد بر کدام يک از رنگها قرار گيرد به ميان نيامده بود. همچنين درباره وجود يا عدم وجود شمشير يا جهت روی شير سخنی گفته نشده بود.
به نظر می رسد بخشی از عجله نمايندگان به دليل وجود شماری روحانی در مجلس بوده که استفاده از تصوير را حرام می دانستند زیرا که نمايندگان در توجيه رنگهای به کار رفته در پرچم به استدلالات دينی متوسل شدند، بدين ترتيب که گفتند رنگ سبز، رنگ دلخواه پيامبر اسلام و رنگ اين دين است، بنابراين رنگ سبز در بالای پرچم ملی ايران قرار گرفت. در مورد رنگ سفيد نيز به اين استناد شد که رنگ پاکی، صلح، آشتی و مورد علاقه زرتشتيان است و آن در زير رنگ سبز قرار گرفت. در مورد رنگ سرخ نيز با اشاره به ارزش خون شهيد در اسلام، بويژه امام حسين و جان باختگان انقلاب مشروطيت به ضرورت پاسداشت خون آنان رنگ سرخ را نیز افزودند.
اين استدلالات زمينه را در مجلس برای گفتگوی نشان شير و خورشید مساعد نمود و اين موضوع اين گونه توجيه شد که انقلاب مشروطيت در مرداد (سال 1285 هجري شمسي 1906 ميلادی) به پيروزی رسيد يعنی در برج اسد (شير). از سوي ديگر چون اکثر ايرانيان مسلمان شيعه و پيرو علی هستند و اسدالله از القاب حضرت علی است، بنابراين شير هم نشانه مرداد است و هم نشانه امام اول شيعيان در مورد خورشيد نيز چون انقلاب مشروطه در ميانه ماه مرداد به پيروزی رسيد و خورشيد در اين ايام در اوج نيرومندی و گرمای خود است خورشيد را نيز بر پشت شير سوار کردند که اين شير و خورشيد هم نشانه علي باشد هم نشانه ماه مرداد و هم نشانه چهاردهم مرداد يعني روز پيروزی مشروطه خواهان و البته شمشير ذوالفقار علی نيز بدست شیر اضافه شد.
بدين ترتيب برای اولين بار پرچم ملي ايران به طور رسمی در قانون اساسی به عنوان نماد استقلال و حاکميت ملی مطرح شد. در سال 1336 منوچهر اقبال، نخست وزير وقت به پيشنهاد هياتی از نمايندگان وزارت خانه های خارجه، آموزش و پرورش و جنگ طی بخش نامه ای ابعاد و جزئيات ديگر پرچم را مشخص کرد. بخش نامه ديگری در سال 1337 در مورد تناسب طول و عرض پرچم صادر شد و طی آن مقرر گرديد طول پرچم اندکی بيش از يک برابر و نيم عرض آن باشد.
پرچم بعد از انقلاب در اصل هجدهم قانون اساسی جمهوری اسلامی ايران مصوب سال 1358 (1979 ميلادی) در مورد پرچم گفته شده است که پرچم جمهوری اسلامی از سه رنگ سبز، سفيد و سرخ تشکيل می شود و نشانه جمهوری اسلامی (تشکيل شده با حروف الله)
اولین و جدید ترین نوع بازی های آنلاین بدون لودینگ و دانلود.
شما میتوانید در اینجا به صورت آنلاین بازی کنید . بدو ن دانلود به صورت آنلاین بازی کنید .در ضمن بازی ها لودینگ ندارد .
بهترین و جدید ترین بازی های فلش را در اینجا دریافت کنید....
جهت بازی به صورت آنلاین لطفا کمی صبر کنید
بازيهاي ساخته شده بوسيله فلش با آنكه از قابليت هاي سه بعدي و فانتزي بازيهاي معمول و متداول بهره اي نبرده اند اما سادگي موضوع و جذابيت آنها، موجب شده است تا طرفداران خاص خود را در بين كاربران پيدا كنند. تنها چيزي كه براي استفاده از هر بازي لازم مي باشد آن است كه برنامه Internet Explorerيا هر مرورگر اينترنتي كه از آن استفاده مي كنيد قابليت نمايش فلش را داشته باشد.
يك بازي جورچين كه به سرعت عمل و هوش خوبي نياز دارد. در اين بازي حق انتخاب 4 سطح مختلف بازي از آسان تا بسيار مشكل براي شما در نظر گرفته شده است.
يك گوي كوچك در بازي وجود دارد. گوي در زير يكي از سه ليوان پنهان مي شود و به سرعت جاي ليوانها عوض مي شود. شما بايد با حافظه قوي و دنبال كردن ليوان مورد نظر جاي گوي را حدس بزنيد.
شما تنها 60 ثانيه براي انهدام تمامي بشقاب پرنده هاي دشمن فرصت داريد. سرعت عمل و كنترل بالاي ماوس در اين بازي بسيار مهم است.
در اين بازي شما بايد با گذر كردن از راهرو هاي پرپيچ و بن بست از اين راهرو خارج شويد. مراحل بالاتر اين بازي واقعا به حوصله و ديد مناسب نياز دارد. اگر فكر مي كنيد بازي آساني است ، آنرا حتما امتحان كنيد!
بازي دارت در همه جاي دنيا شناخته شده است. اما اين بازي به شما امكان بازي با كامپيوتر يا شخص دومي را هم مي دهد. 5 سطح مختلف بازي از آسان تا مشكل براي آن در نظر گرفته شده است.
يك توپ و چيزي شبيه يك راكت در اختيار شماست. شما بايد تمام جعبه هاي موجود را در هم بشكنيد. نكته مهم در اين بازي آنست كه اين بازي به سادگي با سرعت رايانه شما هماهنگ مي شود.
یک بازی جالب که فقط بایدپشه بکشی .. تا بحال مست شده لپه لو بری...