به نام خدا
يكي از نقصهاي سيستم عامل ويندوز براي كاربران فارسي زبان و ايراني، عدم پشتيباني آن از تقويم هجري شمسي و عدم توانايي محاسبات بر مبناي تاريخ شمسي ميباشد. آخرين نسخههايي اين سيستم عامل داراي ابزارهايي براي پشتيباني از كاراكترهاي فارسي و امكان تايپ فارسي ميباشند، اما گويا شركت ميكروسافت به اين نياز مهم (يعني يك تقويم شمسي براي ويندوز) توجهي نكرده است.
رفع اين مشكل به خصوص براي برنامه نويساني كه به نوعي در برنامه هاي خود بايد از تاريخ هجري شمسي و يا محاسباتي بر مبناي اين قالب تاريخ انجام دهند، بسيار حياتي است. به همين دليل گروه نرم افزاري اوكسين اقدام به طراحي و عرضه ي تعدادي از توابع كتابخانه اي (DLL) نموده است كه مشكل برنامه نويسان ايراني را تا حد زيادي در اين زمينه حل ميكند. به عنوان مثال نرم افزار حسابدار Xp نگارش سوم از اين توابع استفاده ميكند.
اين توابع به صورت كاملا دقيق، تاريخ ميلادي سيستم را به تاريخ هجري شمسي تبديل مينمايند و همچنين توابع ديگري را براي انجام محاسبات روي اين تاريخ در دسترس قرار ميدهند. يكي از ويژگيهاي جالب توجه اين كلاس (كه بسياري از كلاسهاي مشابه نوشته شده در اين زمينه فاقد ان هستند) عملكرد دقيق آنها روي سالهاي كبيسه است. همانطور كه ميدانيد در سيستم تاريخ شمسي بعضي از سالها كبيسه هستند و در آنها ماه اسفند سي روز ميباشد. اين سالها به صورت متناوب هر چهار سال يكبار تكرار ميشوند و چون اين سالها از سالهاي عادي يكروز بيشتر هستند، لذا بايد در محاسبات تاريخ اين نكته را مدنظر قرار داد، كه اين توابع به خوبي از آن پشتيباني ميكنند.
كلاسهاي اين توابع به صورت استاندارد تهيه و كامپايل شده است تا تمام برنامه نويسان بتوانند از آنها در زبانهاي برنامه نويسي گوناگون مانند دلفي، ويژوال بيسيك، سي شارپ و همه ي زبانهاي ديگري كه از استاندارد COM پشتيباني ميكنند، استفاده كنند.
اين توابع در كلاسي به نام ClassShamsi در فايل Shamsi.dll قرار دارند. در ادامه ابتدا به معرفي اين توابع ميپردازيم و سپس با مثالهايي، چگونگي فراخواني و استفاده از اين توابع را در زبان برنامه نويسي ويژوال بيسيك بررسي ميكنيم. فراخواني و كاربرد توابع در زبانهاي ديگر نيز تقريبا مشابه با ويژوال بيسيك است.
در یافت فایل:
[External Link Removed for Guests]
توضیحات:
در نگارش دوم اين كتابخانه، چهار تابع جديد به نامهاي Shamsi2Miladi, Miladi2Shamsi, ShamsiIncrease و ShamsiDecrease اضافه شده كه در زير توضيحات كامل
در مورد اين توابع جديد را ميبينيد.
توضيح نام تابع
تاريخ جاري سيستم را به تاريخ شمسي تبديل ميكند و به صورت yyyy/mm/dd برمي گرداند. Shamsi () as string
يك تاريخ را دريافت كرده و در صورتي كه تاريخ شمسي معتبر باشد مقدار True و در غير اين صورت مقار False برمي گرداند. IsShamsi (date) as boolean
يك تاريخ شمسي را دريافت مي كند و در صورتي كه سال آن كبيسه باشد مقدار True و در غير اين صورت مقدار False برمي گرداند. IsKabiseh (date) as boolean
يك تاريخ شمسي دريافت ميكند و عدد مربوط به سال آن را برميگرداند. ShamsiYear (date) as integer
يك تاريخ شمسي دريافت ميكند و عدد مربوط به ماه آن را برميگرداند. ShamsiMonth (date) as integer
يك تاريخ شمسي دريافت ميكند و عدد مربوط به روز آن را برميگرداند. ShamsiDay (date) as integer
عدد مربوط به سال تاريخ جاري را بر مي گرداند. ShamsiCurrentYear () as integer
عدد مربوط به ماه تاريخ جاري را بر مي گرداند. ShamsiCurrentMonth () as integer
عدد مربوط به روز تاريخ جاري را بر مي گرداند. ShamsiCurrentDay () as integer
يك تاريخ شمسي دريافت مي كند و نام ماه آن را برميگرداند. ShamsiMonthName (date) as string
نام ماه تاريخ جاري را برمي گرداند. ShamsiCurrentMonthName () as string
شمارهي روز هفتهي تاريخ جاري را برميگرداند. ShamsiWeekDay () as integer
نام روز هفتهي تاريخ جاري را برميگرداند. ShamsiWeekDayName () as string
يك تاريخ شمسي دريافت مي كند و تعداد روزهاي آنرا از 29/12/1330 به بعد محاسبه مي كند. Shamsi2Day (date) as long
دو تاريخ شمسي دريافت ميكند و تفاضل تاريخ اول از تاريخ دوم را بر حسب روز برمي گرداند. ShamsiDiff (date1, date2) as long
يك تاريخ ميلادي دريافت مي كند و آن را به تاريخ شمسي معادل آن تبديل مي كند. Miladi2Shamsi (date) as String
يك تاريخ شمسي دريافت مي كند و آن را به تاريخ ميلادي معادل آن تبديل مي كند. Shamsi2Miladi (date) as String
يك تاريخ شمسي و يك مقدار عددي دريافت مي كند و به تاريخ وارد شده آن مقدار عددي را ميافزايد. ShamsiIncrease (date, amount) as String
يك تاريخ شمسي و يك مقدار عددي دريافت مي كند و از تاريخ وارد شده آن مقدار عددي را كسر ميكند. ShamsiDecrease (date, amount) as String
براي فراخواني اين توابع در ويژوال بيسيك ابتدا بايد فايل shamsi.dll را به پروژه اضافه كنيم. براي اين منظور در محيط ويژوال يسيك از منوي Project گزينه ي Refernces را انتخاب كنيد. در كادر باز شده روي كليد Browse كليك كنيد و مسير فايل را معرفي كنيد. (دقت كنيد كه اگر كلاسهاي فايل shamsi.dll با استفاده از regserver ثبت شده باشند، فقط كافيست در ليست موجود در اين پنجره به دنبال Oxinsoft hijri shamsi calender functions بگرديد و آن را علامت بزنيد) حالا توابع شمسي به پروژه شما اضافه شده است. براي فراخواني اين توابع مي توانيد يك Module به پروژه اضافه كنيد و كدهاي زير را براي فراخواني توابع به آن اضافه كنيد:
d
تابع Shamsi
اين تابع تاريخ ميلادي سيستم را به تاريخ شمسي تبديل مي كند و آن را به صورت يك رشته برمي گرداند. براي فراخواني آن كدهاي زير را وارد كنيد:
Public Function Shamsi() as string
dim shms as New ClassShamsi
Shamsi = shms.Shamsi
End Function
حالا شما تابع Shamsi را با خروجي رشته اي انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام shamsi استفاده كنيد.
تابع IsShamsi
اين تابع يك تاريخ شمسي دريافت كرده و چك مي كند كه آيا اين تاريخ يك تاريخ معتبر هست يا خير. خروجي اين تابع به صورت يك مقدار صحيح يا غلط است.
تاريخهاي معتبر شمسي بايد به صورت روز/ماه/ سال باشند. به اين معني كه در سمت چپ عبارت يك عدد چهار رقمي بزرگتر از 1330 به عنوان شماره ي سال، سپس يك علامت اسلش / به عنوان جداكننده، يك عدد دورقمي بين 1 و 12 به عنوان ماه سال، مجددا علامت اسلش و در نهايت يك عدد دورقمي بين 1 و 31 به عنوان روز ماه قرار دارند. دقت كنيد كه به دليل اينكه تاريخهاي قديمي عملا بلاستفاده هستند، براي محاسبات تاريخ در كلاسهاي شمسي تاريخهاي بعد از29/12/1330 معتبر هستند.
نكته مهم ديگري كه بايد در رابطه با تاريخهاي شمسي مدنظر داشت اين است كه براي نوشتن شماره ي ماه و يا روز در صورتي كه اين شماره ها يك عدد تك رقمي باشند، بايد حتما رقم صفر قبل از آنها قرار بگيرد. به عنوان مثال تاريخ 4/8/1383 نادرست و صحيح آن 04/08/1383 مي باشد.
براي فراخواني تابع IsShamsi از كدهاي زير استفاده كنيد:
Public Function IsShamsi(shdate as string) as boolean
dim shms as New ClassShamsi
IsShamsi = shms.isshamsi(shdate)i
End Function
حالا شما تابع IsShamsi را با خروجي بولين انتخاب كرده ايد و براي استفاده از آن در هر قسمت برنامه مي توانيد از همين نام IsShamsi استفاده كنيد. در صورتي كه تاريخ ورودي تابع معتبر باشد، اين تابع مقدار True و در غير اين صورت مقدار False را برمي گرداند.
تابع IsKabiseh
اين تابع يك تاريخ شمسي دريافت كرده و چك مي كند كه آيا اين سال اين تاريخ كبيسه است يا خير. خروجي اين تابع به صورت يك مقدار صحيح يا غلط است.
براي فراخواني تابع IsKabiseh از كدهاي زير استفاده كنيد:
Public Function IsKabiseh(shdate as string) as boolean
dim shms as New ClassShamsi
IsKabiseh = shms.iskabiseh(shdate)i
End Function
حالا شما تابع IsKabiseh را با خروجي بولين انتخاب كرده ايد و براي استفاده از آن در هر قسمت برنامه مي توانيد از همين نام IsKabiseh استفاده كنيد. در صورتي كه تاريخ ورودي كبيسه باشد، اين تابع مقدار True و در غير اين صورت مقدار False را برمي گرداند.
تابع ShamsiYear
اين تابع يك تاريخ شمسي را به صورت رشته دريافت كرده و عدد مربوط به سال آن را برمي گرداند. خروجي اين تابع به صورت يك عدد صحيح است. به عنوان مثال اين تابع با دريافت تاريخ 12/08/1383 مقدار 1383 را برمي گرداند.
براي فراخواني تابع ShamsiYear از كدهاي زير استفاده كنيد:
Public Function ShamsiYear(shdate as string) as integer
dim shms as New ClassShamsi
ShamsiYear = shms.ShamsiYear(shdate)i
End Function
حالا شما تابع ShamsiYear را با خروجي عدد صحيح انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام shamsiYear استفاده كنيد.
تابع ShamsiMonth
اين تابع يك تاريخ شمسي را به صورت رشته دريافت كرده و عدد مربوط به ماه آن را برمي گرداند. خروجي اين تابع به صورت يك عدد صحيح است. به عنوان مثال اين تابع با دريافت تاريخ 12/08/1383 مقدار 8 را برمي گرداند.
براي فراخواني تابع ShamsiMonth از كدهاي زير استفاده كنيد:
Public Function ShamsiMonth(shdate as string) as integer
dim shms as New ClassShamsi
ShamsiMonth = shms.ShamsiMonth(shdate)i
End Function
حالا شما تابع ShamsiMonth را با خروجي عدد صحيح انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام shamsiMonth استفاده كنيد.
تابع ShamsiDay
اين تابع يك تاريخ شمسي را به صورت رشته دريافت كرده و عدد مربوط به روز آن را برمي گرداند. خروجي اين تابع به صورت يك عدد صحيح است. به عنوان مثال اين تابع با دريافت تاريخ 12/08/1383 مقدار 12 را برمي گرداند.
براي فراخواني تابع ShamsiDay از كدهاي زير استفاده كنيد:
Public Function ShamsiDay(shdate as string) as integer
dim shms as New ClassShamsi
ShamsiDay = shms.ShamsiDay(shdate)i
End Function
حالا شما تابع ShamsiDay را با خروجي عدد صحيح انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام shamsiDay استفاده كنيد.
تابع ShamsiCurrentYear
ااين تابع عدد مربوط به سال تاريخ جاري را برمي گرداند. خروجي اين تابع به صورت يك عدد صحيح است.
براي فراخواني تابع ShamsiCurrentYear از كدهاي زير استفاده كنيد:
Public Function ShamsiCurrentYear() as integer
dim shms as New ClassShamsi
ShamsiCurrentYear = shms.ShamsiCurrentYear()i
End Function
حالا شما تابع ShamsiCurrentYear را با خروجي عدد صحيح انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام ShamsiCurrentYear استفاده كنيد.
تابع ShamsiCurrentMonth
اين تابع عدد مربوط به ماه تاريخ جاري را برمي گرداند. خروجي اين تابع به صورت يك عدد صحيح است.
براي فراخواني تابع ShamsiCurrentMonth از كدهاي زير استفاده كنيد:
Public Function ShamsiCurrentMonth() as integer
dim shms as New ClassShamsi
ShamsiCurrentMonth = shms.ShamsiCurrentMonth()i
End Function
حالا شما تابع ShamsiCurrentMonth را با خروجي عدد صحيح انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام ShamsiCurrentMonth استفاده كنيد.
تابع ShamsiCurrentDay
اين تابع عدد مربوط به روز تاريخ جاري را برمي گرداند. خروجي اين تابع به صورت يك عدد صحيح است.
براي فراخواني تابع ShamsiCurrentDay از كدهاي زير استفاده كنيد:
Public Function ShamsiCurrentDay() as integer
dim shms as New ClassShamsi
ShamsiCurrentDay = shms.ShamsiCurrentDay()i
End Function
حالا شما تابع ShamsiCurrentDay را با خروجي عدد صحيح انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام ShamsiCurrentDay استفاده كنيد.
تابع ShamsiMonthName
اين تابع يك تاريخ شمسي را دريافت ميكند و نام ماه آن را برمي گرداند. خروجي اين تابع به صورت رشته است. به عنوان مثال اگر ورودي تابع 12/06/1383 باشد تابع مقدار «شهريور» را برمي گرداند.
براي فراخواني تابع ShamsiMonthName از كدهاي زير استفاده كنيد:
Public Function ShamsiMonthName(shdate as string) as string
dim shms as New ClassShamsi
ShamsiMonthName = shms.ShamsiMonthName(shdate)i
End Function
حالا شما تابع ShamsiMonthName را با خروجي رشته اي انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام ShamsiMonthName استفاده كنيد.
تابع ShamsiCurrentMonthName
اين تابع نام ماه تاريخ جاري را برمي گرداند. خروجي اين تابع به صورت رشته است.
براي فراخواني تابع ShamsiCurrentMonthName از كدهاي زير استفاده كنيد:
Public Function ShamsiCurrentMonthName() as string
dim shms as New ClassShamsi
ShamsiCurrentMonthName = shms.ShamsiCurrentMonthName()i
End Function
حالا شما تابع ShamsiCurrentMonthName را با خروجي رشته اي انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام ShamsiCurrentMonthName استفاده كنيد.
تابع ShamsiWeekDay
اين تابع كد روز هفته ي تارخ جاري را برمي گرداند. خروجي اين تابع يك عدد صحيح است. خروجي اين تابع براي روز شبه عدد 1، براي يكشنبه عدد2 و به همين ترتيب تا جمعه عدد 7 است.
براي فراخواني تابع ShamsiWeekDay از كدهاي زير استفاده كنيد:
Public Function ShamsiWeekDay() as integer
dim shms as New ClassShamsi
ShamsiWeekDay = shms.ShamsiWeekDay()i
End Function
حالا شما تابع ShamsiWeekDay را با خروجي عدد صحيح انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام ShamsiWeekDay استفاده كنيد.
تابع ShamsiWeekDayName
ين تابع نام روز هفته ي (شنبه، يكشنبه،...) تارخ جاري را برمي گرداند. خروجي اين تابع يك رشته است.
براي فراخواني تابع ShamsiWeekDayName از كدهاي زير استفاده كنيد:
Public Function ShamsiWeekDayName() as string
dim shms as New ClassShamsi
ShamsiWeekDayName = shms.ShamsiWeekDayName()i
End Function
حالا شما تابع ShamsiWeekDayName را با خروجي رشته اي انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام ShamsiWeekDayName استفاده كنيد.
تابع Shamsi2Day
اين تابع يك تاريخ شمسي را دريافت ميكند و تعداد روزهاي سپري شده از تاريخ 29/12/1330 را تا تاريخ دريافت شده به صورت يك عدد برمي گرداند. به عنوان مثال اگر تاريخ ورودي 01/01/1331 باشد، خروجي تابع عدد 1 مي باشد و يا به ازاي ورودي 27/08/1383 خروجي تابع 19236 است. اين تابع با درنظر گرفتن يك روز اضافه در سالهاي كبيسه، بسيار دقيق عمل مي كند.
براي فراخواني تابع Shamsi2Day از كدهاي زير استفاده كنيد:
Public Function Shamsi2Day(shdate as string) as Long
dim shms as New ClassShamsi
Shamsi2Day = shms.Shamsi2Day(shdate)i
End Function
حالا شما تابع Shamsi2Day را با خروجي Long ايانتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام Shamsi2Day استفاده كنيد.
تابع ShamsiDiff
اين تابع دو تاريخ شمسي را دريافت نموده و اختلاف تاريخ اول از تاريخ دوم را بر حسب روز برمي گرداند. به عنوان مثال اگر وردي هاي تابع به ترتيب 12/08/1383 و 05/06/1383 باشد، تابع مقدار 68 را برمي گرداند. يعني بين اين دو تاريخ 68 روز اختلاف هست. خروجيا اين تابع يك عدد است.
براي فراخواني تابع ShamsiDiff از كدهاي زير استفاده كنيد:
Public Function ShamsiDiff(shdate1 as string, shdate2 as string) as Long
dim shms as New ClassShamsi
ShamsiDiff = shms.ShamsiDiff(shdate1, shdate2)i
End Function
حالا شما تابع ShamsiDiff را با خروجي Long ايانتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام ShamsiDiff استفاده كنيد.
تابع Miladi2Shamsi
اين تابع يك تاريخ ميلادي را دريافت نموده و تاريخ دقيق شمسي معادل آن را برمي گرداند. به عنوان مثال اگر ورودي تابع 14/03/2005 باشد، تابع مقدار 24/12/1383 را برمي گرداند. خروجي اين تابع يك رشته است.
براي فراخواني تابع Miladi2Shamsi از كد زير استفاده كنيد:
Public Function Miladi2Shamsi(mdate as string) as String
dim shms as New ClassShamsi
Miladi2Shamsi= shms.Miladi2Shamsi(mdate)i
End Function
حالا شما تابع Miladi2Shamsi را با خروجي String انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام Miladi2Shamsi استفاده كنيد.
تابع Shamsi2Miladi
اين تابع يك تاريخ شمسي را دريافت نموده و تاريخ دقيق ميلادي معادل آن را برمي گرداند. به عنوان مثال اگر ورودي تابع 24/12/1383 باشد، تابع مقدار 14/03/2005 را برمي گرداند. خروجي اين تابع يك رشته است.
براي فراخواني تابع Shamsi2Miladi از كد زير استفاده كنيد:
Public Function Shamsi2Miladi(shdate as string) as String
dim shms as New ClassShamsi
Shamsi2Miladi= shms.Shamsi2Miladi(shdate)i
End Function
حالا شما تابع Shamsi2Miladi را با خروجي String انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام Shamsi2Miladi استفاده كنيد.
تابع ShamsiIncrease
اين تابع يك تاريخ شمسي و يك عدد صحيح را دريافت نموده و و به تاريخ دريافت شده، عدد ورودي را (به عنوان تعداد روز) اضافه نموده و تاريخ جديد را برمي گرداند. به عنوان مثال اگر ورودي تابع 02/12/1383 و عدد 8 باشد، تابع مقدار 10/12/1383 را برمي گرداند. خروجي اين تابع يك رشته است.
براي فراخواني تابع ShamsiIncrease از كد زير استفاده كنيد:
Public Function ShamsiIncrease(shdate as string, amount as long) as String
dim shms as New ClassShamsi
ShamsiIncrease= shms.ShamsiIncrease(shdate, amount)i
End Function
حالا شما تابع ShamsiIncrease را با خروجي String انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام ShamsiIncrease استفاده كنيد.
تابع ShamsiDecrease
اين تابع يك تاريخ شمسي و يك عدد صحيح را دريافت نموده و و از تاريخ دريافت شده، عدد ورودي را (به عنوان تعداد روز) كم نموده و تاريخ جديد را برمي گرداند. به عنوان مثال اگر ورودي تابع 02/12/1383 و عدد 8 باشد، تابع مقدار 24/11/1383 را برمي گرداند. خروجي اين تابع يك رشته است.
براي فراخواني تابع ShamsiDecrease از كد زير استفاده كنيد:
Public Function ShamsiDecrease(shdate as string, amount as long) as String
dim shms as New ClassShamsi
ShamsiDecrease= shms.ShamsiDecrease(shdate, amount)i
End Function
حالا شما تابع ShamsiDecrease را با خروجي String انتخاب كرده ايد و براي استفاده از آن در هركجاي برنامه مي توانيد از همين نام ShamsiDecrease استفاده كنيد.
توجه:
استفاده از فايل shamsi.dll توسط برنامه نويسان ايراني در برنامه ها و پروژهاي مختلف مجاز مي باشد. اين برنامه به صورت رايگان است و كاربر براي استفاده از ان مجبور به پرداخت هيچ حق استفاده اي نمي باشد. اما براي پشتيباني از سازنده ي اين برنامه، لطفا افرادي كه از آن در برنامه ها يا پروژه هاي خود استفاده مي كنند، با ارسال يك ايميل به طراح برنامه پشتيباني خود را اعلام كنند.
به علاوه طراح برنامه از نظرات و پيشنهادات شما در ارائه ي نگارشهاي بعدي استقبال خواهد كرد. لطفا هرگونه نظر يا پيشنهادي در مورد برنامه داريد و يا گزارش خود را در مورد باگهاي برنامه براي بنده ارسال كنيد. danesh@oxinsoft.com با تشكر
محمد رضا دانش
اسفند 1383
توابع محاسباتي تاريخ هجري شمسي
در اين بخش ميتوانيد به مباحث مربوط به انواع زبان هاي برنامه نويسي بپردازيد
مدیران انجمن: athlon64x2, abbas.m.k, شوراي نظارت
- پست: 57
- تاریخ عضویت: شنبه ۲۰ اسفند ۱۳۸۴, ۱۲:۲۳ ب.ظ
- سپاسهای ارسالی: 3 بار
- سپاسهای دریافتی: 12 بار
- تماس:
توابع محاسباتي تاريخ هجري شمسي
کسي را دوست داشته باش که قلب بزرگي داشته باشد
تا مجبور نباشي براي اينکه در قلب او جاي بگيري خودت را کوچک کني.
تا مجبور نباشي براي اينکه در قلب او جاي بگيري خودت را کوچک کني.
پرش به
- بخشهاي داخلي
- ↲ اخبار و قوانين سايت
- ↲ سوالات، پيشنهادات و انتقادات
- ↲ مرکز جوامع مجازي - CentralClubs Network
- ↲ سرويس ميزباني وب - CentralClubs Hosting
- ↲ مجله الکترونيکي مرکز انجمنهاي تخصصي
- بخش تلفن همراه
- ↲ نرم افزار تلفن همراه
- ↲ Symbian App
- ↲ Android App
- ↲ Windown Phone App
- ↲ iOS App
- ↲ JAVA Mobile App
- ↲ بازيهاي تلفن همراه
- ↲ Symbian Games
- ↲ Android Games
- ↲ iOS Games
- ↲ Windows Phone Games
- ↲ JAVA Mobile Games
- ↲ گوشيهاي تلفن همراه
- ↲ Sony
- ↲ Samsung
- ↲ GLX
- ↲ Dimo
- ↲ Huawei
- ↲ Motorola
- ↲ Nokia
- ↲ گوشيهاي متفرقه
- ↲ سرگرميهاي تلفن همراه
- ↲ خدمات و سرويسهاي مخابراتي
- ↲ تازه ها و اخبار تلفن همراه
- ↲ مطالب كاربردي تلفن همراه
- ↲ متفرقه در مورد تلفن همراه
- ↲ سوالات و اشکالات تلفن همراه
- بخش كامپيوتر
- ↲ نرم افزار كامپيوتر
- ↲ گرافيک و طراحي کامپيوتري
- ↲ طراحي صفحات اينترنتي
- ↲ سوالات و اشکالات نرم افزاري
- ↲ برنامه نويسي
- ↲ C Base Programming
- ↲ Dot Net Programming
- ↲ Web Programming
- ↲ Other Programming
- ↲ Software Engineering
- ↲ Java Programming
- ↲ Database Programming
- ↲ سخت افزار كامپيوتر
- ↲ امنيت و شبكه
- ↲ امنيت
- ↲ شبکه
- ↲ تازه ها و اخبار دنياي کامپيوتر
- ↲ مطالب كاربردي كامپيوتر
- ↲ متفرقه در مورد کامپيوتر
- بخش هوا فضا
- ↲ نيروي هوايي ايران
- ↲ متفرقه درباره نیروی هوایی
- ↲ نیروی هوایی و سازندگی
- ↲ حماسه و حماسه آفرینان نيروي هوايي
- ↲ تیزپروازان در بند
- ↲ شهدا و جانباختگان نیروی هوایی
- ↲ عملیاتهاي نيروي هوايي
- ↲ دستاوردها و اخبار نيروي هوايي
- ↲ تاریخچه نیروی هوایی در ایران
- ↲ هوانيروز ايران
- ↲ حماسه و حماسه آفرينان هوانيروز
- ↲ شهدا و جانباختگان هوانيروز
- ↲ دستاوردها و اخبار هوانيروز
- ↲ هواپيماها
- ↲ هواپيماهاي نظامي
- ↲ هواپيماهاي غير نظامي
- ↲ هواپيماهاي بدون سرنشين
- ↲ بالگردها
- ↲ بالگردهاي نظامي
- ↲ بالگردهاي غير نظامي
- ↲ بالگردهاي بدون سرنشين
- ↲ اخبار بالگردها
- ↲ تسليحات هوايي
- ↲ موشكهاي هوا به هوا
- ↲ موشكهاي هوا به زمين
- ↲ موشکهاي دريايي
- ↲ موشکهاي زمين به هوا
- ↲ موشکهاي زمين به زمين
- ↲ ديگر مباحث هوانوردي
- ↲ الکترونيک هواپيمايي
- ↲ موتورهاي هوايي
- ↲ شبيه سازهاي پرواز
- ↲ گالري تصاوير هوافضا
- ↲ تصاوير هواپيماهاي جنگنده
- ↲ کليپهاي هوايي
- ↲ تصاوير هواپيماهاي بمب افکن
- ↲ تصاوير هواپيماهاي ترابري
- ↲ تصاوير هواپيماهاي مسافربري
- ↲ تصاوير هواپيماهاي شناسايي
- ↲ تصاوير بالگردهاي نظامي
- ↲ تصاوير بالگردهاي غير نظامي
- ↲ تصاوير نمايشگاههاي هوايي
- ↲ تصاوير متفرقه هوايي
- ↲ انجمن نجوم
- ↲ منظومه شمسي
- ↲ كيهانشناسي
- ↲ گالري تصاوير نجوم
- ↲ اخبار نجوم
- ↲ اخبار هوافضا و هوانوردي
- ↲ مدرسه هوانوردي
- ↲ كتابخانهي هوا فضا
- ↲ متفرقه در مورد هوا فضا
- بخش جنگ افزار
- ↲ ادوات زميني
- ↲ ادوات زرهي
- ↲ تجهيزات انفرادي
- ↲ تسليحات سنگين و توپخانهاي
- ↲ خودروهاي نظامي
- ↲ تسليحات ضد زره
- ↲ ادوات دريايي
- ↲ ناوهاي هواپيمابر
- ↲ ناوشکنها
- ↲ رزم ناوها
- ↲ ناوچهها
- ↲ زيردرياييها
- ↲ تجهيزات و تسليحات دريايي
- ↲ ساير ادوات دريايي
- ↲ گالري تجهيزات و ادوات دريايي
- ↲ اخبار ادوات دريايي
- ↲ اخبار نظامي
- ↲ گالري نظامي
- ↲ متفرقه در مورد جنگ افزار
- بخش دفاع مقدس
- ↲ حماسه دفاع مقدس
- ↲ تخريب و خنثي سازي
- بخش خودرو و وسايل نقليه
- ↲ مباحث فنی و تخصصی خودرو
- ↲ معرفي خودرو
- ↲ تازهها و اخبار خودرويي
- ↲ گالري خودرو
- ↲ متفرقه وسايل نقليه
- بخش پزشکي
- ↲ پزشكي و درمان
- ↲ پزشکي
- ↲ سوال پزشکي
- ↲ بهداشت
- ↲ بهداشت عمومي
- ↲ بهداشت مواد غذايي
- ↲ لوازم آرايشي و بهداشتي
- ↲ متفرقه در مورد پزشکي
- ↲ روانشناسي و روان پزشكي
- بخش فرهنگ، تمدن و هنر
- ↲ فرهنگي هنري
- ↲ شعر و ادبيات
- ↲ فيلم و سينما
- ↲ هنرهاي نمايشي
- ↲ فرهنگ هنرهاي نمايشي
- ↲ موسيقي
- ↲ عكس و نقاشي
- ↲ تاريخ، فرهنگ و تمدن
- ↲ تاريخ ايران
- ↲ تاريخ جهان
- ↲ فلسفه
- ↲ زبانهاي خارجي
- ↲ زبان انگليسي
- ↲ زبان اسپانيايي
- ↲ هنر آشپزي
- بخش علم، فناوري و آموزش
- ↲ انجمن علم و فناوري
- ↲ انجمن آموزش
- ↲ کتاب و فرهنگ مطالعه
- ↲ دانش عمومی
- ↲ کنکور و دانشگاه
- ↲ جامعه شناسي
- ↲ خانواده
- ↲ متفرقه جامعه شناسي
- ↲ حقوق و قضا
- ↲ علوم
- ↲ فيزيک
- ↲ شيمي
- ↲ رياضي
- ↲ متالورژي
- ↲ پليمر
- ↲ علوم کشاورزي
- ↲ گياهان زراعي و باغي
- ↲ گياهان دارويي
- ↲ طبیعت و محیط زیست
- ↲ زيست شناسي
- ↲ عمران
- ↲ بتن و سازههاي بتني
- ↲ معماري و شهرسازي
- ↲ سبکها و مشاهير معماري
- ↲ شهرسازي
- ↲ معماري داخلي
- ↲ معماري منظر
- بخش الکترونيک و رباتیک
- ↲ مفاهیم اولیه و پایه در الکترونیک
- ↲ نرم افزارهای کمکی الکترونیک
- ↲ مدارهای مجتمع
- ↲ سوالات و پرسشهای مفاهیم پایه
- ↲ مدارات ساده و آسان
- ↲ مدارهای آنالوگ و دیجیتال
- ↲ شبیه ساز و طراحی مدار
- ↲ مدارات صوتی
- ↲ مدارات، منابع تغذیه سویچینگ و اینورتوری
- ↲ مدارات مخابراتی
- ↲ میکروکنترلرهای AVR
- ↲ آموزش و مثالها AVR
- ↲ طرح آماده و کامل شده AVR
- ↲ میکروکنترلرهای ARM
- ↲ سایر میکروکنترولرها و پردازندهها
- ↲ سایر میکروکنترلرها
- ↲ مدار مجتمع برنامه پذیر FPGA
- ↲ رباتیک
- ↲ اخبار و مصاحبه ها در رباتیک
- ↲ آموزش و مقالات رباتیک
- ↲ پروژهها تکمیل شده رباتیک
- ↲ مدارها و مکانیک در رباتیک
- ↲ رباتهای پرنده
- ↲ برق و الکترونیک عمومی
- ↲ تعمیر لوازم برقی
- ↲ اخبار برق و الکترونیک
- بخش بازيهاي رايانهاي
- ↲ بازيهاي رايانهاي
- ↲ كنسولهاي بازي
- ↲ PSP
- ↲ اخبار بازيها
- بخش تجاري اقتصادي
- ↲ بخش اقتصادی و مالی
- ↲ تجارت آنلاين
- ↲ بورس
- ↲ تحلیل و سیگنال روز
- ↲ کار آفرینی
- بخشهاي متفرقه
- ↲ بخش ويژه
- ↲ ساير گفتگوها
- ↲ صندلي داغ
- ↲ اخبار و حوادث
- ↲ انجمن ورزش
- ↲ آکواريوم و ماهيهاي زينتي
- ↲ معرفي سايتها و وبلاگها