آموزش قدم به قدم برنامه نویسی سیمبین [بایگانی] - انجمن تخصصی موبايلستان\nانجمن تخصصی موبايلستان > سیستم عامل های قدیمی > Sony Ericsson > Symbian OS UIQ > مقالات آموزشی > آموزش قدم به قدم برنامه نویسی سیمبین\nتوجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش قدم به قدم برنامه نویسی سیمبین\nبا سلام به علاقه مندان به برنامه نویسی سیمبیان\nتو این تاپیک میخوام برنامه نویسی سیمبیان رو که خودم در حال یادگیری هستم بصورت قدم به قدم توضیح بدم\nالبته اگه با مثال بشه بهتره هم تو درک هم تو استبال شما!!!:mdr:\nاز دوستان خواهشمندم اگر در حال یادگیری هستند برای دلگرمی و ادامه کار بنده به یک تشکر بسنده کنند و از پست دادن برای تشکر و ادامه کار خود داری کنند.\nو دوستانی که تمایل به همکاری دارند با توجه به موضوع اگر مطلبی بیشتر و مفید دارند در اختیار قرار دهند تا تاپیک از بار علمی بیشتری برخوردار باشه.\nدر ضمن در این تاپیک فقط لینکهای سالم و مطمئن قرار میدهم در غیر این صورت سایت مرجع را معرفی میکنم\nتوصیه بعدی بنده این است که به علت بالا بودن حجم برنامه ها برنامه ها ار از بیرون خریداری کنید تا هم از اطلاف وقت گرفته شود و هم از صحت برنامه ها مطلع باشید:merci:\nاز مدیران محترم هم درخواست دارم که هوای مارو هم داشته باشند:loveit:\nامیدوارم دوستاران به برنامه نویسی منو با تشکراشون همراهی کنند تا من بتونم با دلگرمی به کار ادامه بدم:111:\nدر ضمن این تاپیک رو من فقط یک بار در روز اپ میکنم!:lol:\nخیلی خوب مثل اینکه زیاد حرف زدم بهتر کارو شروع کنم\nسلام ، سيمبيان چون يك سيستم عامل جديد و نوپايي هستش همه دوست دارند اونو ياد بگيرند .\nپس اگه ميتوني اين تاپيك را با جديت كامل انجام بده . :hello:\nبرای برنامه نویسی سیمبیان باید یک زبان برنامه نویسی مثل ++Visual C++ Or C\nرو یاد داشته باشین در اینجا برای سهولت در یادگیری از ++VC استفاده میکنیم.\nبرای کار شما باید یک SDK داشته باشید برا ی هر موبایل و سیستم عاملش فرق میکنه\nبعد از اون شما به Active Perl بهتره این نسخه باشه 5.8.7Build 813\nاگر مراحل نصب را درست طی نکنید SDK شما اجرا نخواهد شد!\nدر اینجا SDK ما Series60 است.\nدر این مسیر نصب شود C:\_Symbian\_7.0s\_Series60\nبعد از نصب برای اجرای امولیتور SDK به این مسیر بروید:\nStart -> Programs -> Symbian 6.1 SDKs -> Series 60 -> Emulator Debug or Release\nنصب Active Perl\nهنگام نصب مسیر اکتیو پرل را به C:\_perl تغییر دهید\nبرای پی بردن به درستی انجام کار یک DOS PROMPT\nباز کنید و دستور زیر رو بنویسد که این دستور help برنامه رو نشان میدهد Perl –h اگر اجرا نشد به مسیر زیر برید\nStart -> Settings -> Control Panel -> System -> Advanced -> Environment Variable\nو در تب بالا گزینه path رو انتخاب و به صورت زیر Edit کنید\n( البته به اخر اون اضافه کنید و اگر وجود نداشت اون رو بسازید - ویندوز من در درایو d: نصب شده شما درایو d: رو به درایو خودتون تغییر بدید)\nC:\_Symbian\_7.0s\_Series60\_epoc32\_tools;C:\_Symbian\_7 .0s\_Series60\_epoc32\_gcc\_bin;D:\_Program Files\_Common Files\_SYMBIAN\_Tools;C:\_Perl\_bin\_;%SystemRoot%\_syst em32;%SystemRoot%;%SystemRoot% \_System32\_Wbem;%EPOCPATH%;\nو دوباره دستور بالا رو اجرا کنید و نتیجه رو چک کنید و اگر دوباره کار نکرد برنامه Active perl رو\nپاک و دوباره نصب و کارهای بالا رو انجام بدید تا برنامه کاملا نصب بشود.\nشما برنامه های مورد نیاز برای شروع کار را نصب کرده اید فردا اولین جلسه رو شروع میکنیم تا\nفردا خودتون رو اماده کنید :loveit:\nوارد کردن برنامه به SDK\nبرای این کار شما به مسیر زیر برید\nدر مسیر C:\_Symbian\_7.0s\_Series60\_Series60Ex خود SDK مثال های آموزشی خوبی رو گذاشته که ما ساده ترین یعنی helloworldbasic رو انتخاب می کنیم\nاگر شما بر روی helloworldbasic کلیک کنید چهار فهرست مشاهده\n1) group : جایی که فایل پروژه وجود داره\n2) inc : هدر فایل در این فهرست قرار میگیره\n3) src: که در این فهرست cpp های فایل یا همون سورس فایل قرار داره\n4) sis : در این فهرست فایل pkg که ما sis رو از اون درست می کنیم\nاین چهار فهرست رو ما برای برنامه نویسی همیشه لازم داریم .\nیه dos prompt باز کنید و به مسیر group برنامه helloword basic برید حالا درستور bldmake bldfiles رو بنویسید\nو منتظر دیدن اعلان داس بشدید ( منظور اینکه دوباره به خط فرمان داس در خط زیر بر می گرید و چیزی چاپ نمی شه)\nما حالا فایلی به نام ABLD.BAT در همون مسیر داریم که می تونیم برای ساخت پروژه در ++VC یا کامپایل فایل ها استفاده می کنیم\nحالا ما از دستور abld build wins استفاده می کنیم\nبا اجرای این دستور می تونیم برنامه هارو کامپایل و تست در ویندوز ( امولیتور sdk ) استفاده کنیم\nاین درستور یک سری سویچ ها دراره که من این ها رو بعدن می گم فلا شما از abld build wins رو اجرا کنید\nبعد از اینکه برنامه کاراشو کرد ( البته به درستی ) دستور epoc رو اجرا کنید تا امولیتور اجرا بشه و شما در صفحه مو بایل برنامه helloword basic اخرین گزینه دارین .\nخوب برا امروز کافیه جلسه بعدی سویچ های abld و error های شما\nکه براتون ایجاد میشه رو توضیح می دیم .\n:exclaim: توضیحات امروز:\nما کامپایل کردن برانامه و اجرای اون در امولیتور رو یاد گرفتیم حالا در مورد ABLD بیشتر توضیح میدهم\nتوجه کنید که ما از کد مون می تونیم دو ورژن بسازیم (تست در ویندوز – فلاش کردن در گوشی) یکی از آن ها به نام Debug است که ما با دستور abld build wins udeb\nاون رو می سازیم و دیگری به نام Release است که ما برای ساختنش از دستور\nabld build wins urel استفاده می کنیم.\nدیباگ برای تست کردن( تست نهایی) استفاده می شه که ما می تونیم خط به خط کد رو دنبال کنیم. و ریلیز رو زمانی که کد اماده برای Run رو موبایل استفاده می کنیم.\nبرای پیشرفت کار 2-3 بار مراحل را تکرار کنید تا کاملا یاد بگیرید.\nامید وارم مطالب مفید باشه:loveit:\nاین دو دستوری رو که در بالا گفتم زمانی که ما بخوایم کد رو در کامپیوتر و روی ویندوز امتحان و از صحت کار و یا پیدا کردن ایراد اجرا می کنیم\nو وقتی که کد ما از هر لحاظ آماده شد یعنی زمان ایجاد SiS ( که مانند سوزاندن برنام بر روی CD هست) از دستور abld build thumb استفاده می کنیم که فایل باینری ایجاد و ما می تونیم برنامه رو در موبایل اجرا کنیم.\n:exclaim: مشکل 1: اگر شما دستورات بالا رو اجرا کردید و برنامه مشکل از پیدا کردن فایل های مختلف مثل Header و.... می گیره عملیات زیر رو انجام بدید\nهنگام نصب دیدم که در فهرست نصب symbian یه فهرست به نام eopc32 وجود داره برای اینکه مشکل پیدا کردن فایل ایجاد نشه ما epoc32 را root دایرکتوری میکنیم.\nبرای این منظور دستور زیر رو در dos Prompt اجرا کنید\nSubst drivename: c:\_Symbian\_...\_ Series60\nDrivename: یه اسم برا درایوتون بزارید مثلا n:\nمسیر رو شما کامل تا Series60 بنویسید شما می تونید این دستور رو در یه فایل BAT بذارید و اون فایل رو در startup ویندوز قرار بدید که با بالا اومدن سیستم دستور اجرا و eopc32 root دایرکتوری بشه\nاز این به بعد از درایو جدی (n: ) که درست کردیم برای کامپایل- ساختن و یا باز کردن پروژه ++VCخودمون استفاده می کنیم و دیگه کاری با درایو c: نداریم!\nحالا به درایو n: می ریم و دستورات زیر رو برای کامپایل فایل های مختلف پروژه انجام می دیم .\nیادتون نره که اول abldmake bldfiles رو Run کنید که ABLD فایل درست ساخته بشه\nAbld build wins\n:exclaim: مشکل 2: بار اول که من می خواستم abld.bat رو بسازم یه error به صورت زیر می داد error :EPOC ROOT must not include a drive latter… مشکل رو به صورت زیر باید حل کنیم.\nما باید EPOCROOT خودمون رو عوض کنیم به مسیر زیر برین\nSettings / Control Panel / System /click on Environment Variables\nدر قسمت System variable گزینه Epocroot رو کلیک و مقدار اون رو به \_ (بک اسلش) تغییر بدید . این دفعه اگه بخوایم فایل abld.bat رو درست کنیم مشکل حل می شه تموم شد !!!\nاز جلسه بعد ما باز کردن برنامه در vc++ رو یاد می گیری دیگه داره به جاهای خوب خوب میرسه:loveit:\nخیلی جالبه اینهمه عضو هیچکی از این تاپیک استقبال نکرد خوب پس مدیر جان با این وضع درشو تخته کن!!!:realmad:\nمیگی بیا اموزش بزار بعد هیچ نظری نه تشکری اخه با چه امیدی اموزش بدم !!!!:coonfused:\nاخه برای کی!!!:arrow:\nما تا اینجا نحوه اجرا کامپایل تست و sis کردن کد رو یاد گرفیتم حالا اگر بخوایم کد رو عوض ( برنامه نویسی ) کنیم چکار باید انجام بدیم\nخو ب برای یه پروژه مراحل زیر رو انجام بدید.\nدستور های زیر رو در DOS prompt بنویسید و به درایو C: نرید همون درایوی که قبلا ساختیم برید n:))\nبا اجرای دستور abld makefile vc6 پروژه ویژوال سی پلاس پلاس درست می شه\nبرنامه vc++ خودتون رو راه بندازید و قسمت File/ Open workspacرو انتخاب کنید\nو به درایو ساخته شده (n: ) برید و مسیر epoc32/BUILD رو انتخاب کنید پروژه hello world رو که برای ویندوز ساخته شده از مسیر زیر انتخاب کنید\nپروژه ساخته شده رو انتخاب و باز کنید\nاگر روي FileView كليك كنيد ليست تمام سي پي پي فايل ها و هدر فايل ها را مي بينيد\nحالاما مس تونیم با پروژه هر جوری که عادت داریم تو vc++ کار کنیم.\nمثلا با F7 می تونیم فایل ها رو کامپایا کنیم ( که ما قبلا این کارو تو dosprompt انجام می دادیم)\nبا f5 می تونید برنامه رو خط به خط چک دیباگ کنید و اگر روی منوی build کلیک کنید امکانات دیگه رو هم دارید.\nحالا شما دکمه f7 رو فشار بدید که پروژه ساخته بشه و شما 0 Error ( البته اگه کارهای قبلی رو درست انجام داده باشید) خواهید دید .\nاگر در هنگام کامپایل ایراد گرفت که فایلی پیدا نمیشه شما در PATH مشکل دارب\nحالا بعد ار کامپایل که ایراد نگرفت می تونید دیباگ رو به راه بندازید برای این منظور\nتو یه قسمت از کد کلید F9 رو بزنید و امولیتور رو در حالت دیباگ به راه بیندازید که تمام اطلاعات راه اندازی رو در output vc++ خواهید دید .\nاولین باری که شما برنامه رو اجرا می کنید از شما فایل مسیر epoc.exe رو می پرسه که شما مسیر epoc رو در حالت UDEB بهش بدید Epoc32\_Release\_wins\_udeb\_epoc.exe\nبعد از راه افتادن امولیتور شما ایکون helloworld رو در امولیتور خواهید دیدحالا اگر مثلا شما منوی option برنامه رو کلیک کنید و تو برنامه همون قسمت رو f9 یا break point کرده باشید برنامه همون جا وا میسه حالا می تونید کد رو خط به خط به رونید با کلید f10\nخوب دوستای عزیز فکر کنم چیزهایی که نیاز داشتیم فعلا یاد گرفیتم و از این به بعد رو واقعا دیگه باید برنامه نویسی بلد باشید :loveit:\nجلسه بعدی زمانی میشه که حداقل سه چهار نفر تونسته باشن یه برنامه از exsample های SDK رو کامپایل و تو تایپیک گذاشته باشند (البته فکر نمیکنم چون کسی به برنامه نویسی سیمبیان که علاقه ندارن دوست ندارن برای خودشون برنامه بنویسن باید بزودی درشو تخته کنم!):coonfused:\nدر این جلسه به رفتار های احتمالی که برنامه انجام میدهد را اموزش میدهیم (البته اگر برنامه هارا اجرا کرده باشید)\nخوب کار رو شروع میکنیم\nممکن است برنامه شما در شبیه ساز هنگ کند می توان کاری کرد که به جای هنگ گردن یک پیغام اخطار مناسبی نمایش دهد برای فعال کردن این ویژگی یک فایل خروجی بانام\nErrd در پوشه c:\_Symbian\_6.1\_series60\_Epoc32\_wins\_c\_system\_bootd ata ایجاد کنید.\nهنگامی که برای اولین بار c++ BuilderX را اجرا می کنید برنامه نیاز به رجیستر شدن دارد.\nمورد activation file را انتخاب و مسیرفایلی را که بورلند هنگام دانلود نرم افزار برای شما فرستاده\nبود را مشخص کنید\nانتخاب یک IDE (محیط برنامه نویسی)\nابزارهای ساخت سیمبین در حقیقت دستوری هستند و بدون هیچ گونه محیط برنامه نویسی کار می کنند .\nولی به هر حال اگر شما یک ide داشته باشید برنامه نویسی خیلی راحت تر خواهد شد\nانتخاب های زیادی وجود دارد که هر کدام مزیت ها و نقص هایی دارند:\nMicrosoft visual c++ 6: سریع کامپایلر و دیباگر کارامد. بعضی ابزارها برای سیستم عامل قابل دسترسی قدیمی و پشتیبانی حقیقی از سیستم عامل سیمبین ندارد\n:Microsoft Visual Studio .netسریع مدرن خوب وپرکاربرد به طور مستقیم از sdk های سیمبین پشتیبانی نمی کند برنامه نویسی برای سیستم عامل سیمبین توسط آن پیچیده است و گران می باشد\nMetrowerks CodeWarrior:حداقل از سیستم عامل سیمبین پشتیبانی می کند این محیط برای مبتدیان سخت وپیچیده است\nBorland C++ BuilderX Mobile Edition: طراحی تصویری منوها و پنجره های محاوره را پشتیبانی می کنئ و رایگان می باشد یک محیط کند و بدترکیب است پشتیبانی از سیستم عامل سیمبین می توانست بیشتر از این باشد\nهمان طور که می بینید هیچ محیطی بهترین برای برنامه نویسی سیستم عامل سیمبین نمی باشد برای این خود آموز Borland c++ BuilderX انتخاب شده است زیرا رایگان است و دارای پیچیدگی زیادی برای مبتدیان نیست.\nمن خودم چون دوستدارم کامل برنامه نویسی رو یاد بگیرم به همین علت بصورت خیلی ساده مطالب رو بیان میکنم تا همه بفهمند به توصیه یکی از دوستان هنوز به کار ادامه میدم:loveit:\nاگه میشه برای uiq 3.0 توضیح بدید\nهمچنین اگه میشه آدرسی برای دانلود این ide ها معرفی کنید\nزمانی که شما برنامه نویسی سیمبیان به صورت جامع رو یاد بگیرید میتوانید به راحتی برای UIQ3 برنامه نویسی کنید\nدر مورد لینک دانلود برای برنامه ها IDE در پست اول توضیح دادم بعلت بالا بودن حجم برنامه ها بهتر این برنامه ها رو از بیرون تهیه کنید که هم از سلامت برنامه ها مطمئن باشید هم صرفه اقتصادی بیشتری دارد.:loveit:\nخيلي خوبه ادامه بديد\nدوست داران برنامه نویسی امیدوارم که جلسات قبل رو بدون هیچ مشکلی انجام داده باشید از این به بعد یکمی باید حواستون رو جمع کنید چون بحث رو بیشتر باز میکنم:flower:\nانتخاب sdk سری 60\nsdk سری 60 برای سیستم عامل سیمبین اکنون در ویرایش های بالاتر گوشی های سری 60 جدیدتر را هدف گرفته اند نیز قابل دسترسی است.\nتاکنون تمام دستگاها مدل های قبلی را پشتیبانی می کنند بنابراین برنامه ای که سیستم عامل سیمبین 6.x نوشته شده است (توسط sdk v1.2) در سیمبین های جدید 7.0 و 8.0 نیز کار می کند.\nدرست است که برنامه های کامپایل شده توسط sdk v2.0 (که در حقیقت گوشی nokia 6600 با سیمبین v7.0 را هدف گرفته است) در مدل های قدیمی کار می کنند\nولی این مسئله می تواند مقداری مشکل ساز باشد اگر سورس کد توسط sdk های جدید کامپایل شود فایل های به حالت باینری به هیچ وجه در مدل های قدیمی کار نخواهد کرد!!\nاین که از کدام sdk استفاده کنید به انتخاب خودتان است اگر شما می خواهید که فقط برای گوشی های جدید برنامه بنویسید ویا اگر می خواهید کار جدید انجام دهید که قبلا ممکن نبود از sdk 2.0 استفاده کنید لود کردن تصاویر وصداها دراین ویرایش بهبود یافته است کار اینترنتی خیلی راحت شده است\nاگر می خواهید برنامه تجاری بنویسید که برای گروه زیادی از مردم قابل استفاده باشد نباید گوشی های سری 60 را نادیده بگیرید شما با انتخاب سری 60 پتانسیل بازار خود را\nمحدود می کنید حال اگر برنامه شما فقط گوشی های جدید را پشتیبانی کند شما بازارتان بسیار محدودتر خواهد بود.\nحال موقع آن است که کار را شروع کنیم\nc++builderX را اجرا کنید به مسیر tools \_ symbian Sdk configuration بروید یک پیکر بندی جدید توسط الگوی Sdk یی که نصب کرده اید\nایجاد کنید در این مورد :\n(Symbian series 60 1.x Microsoft version ) . برای sdk 1.2 از ویرایش Borland sdk استفاده نکنید. وگرنه برنامه کامپایل نخواهد شد مسیر را C:\_Symbian\_6.1\_Series60 تنظیم\nو یک نام مناسب مانند series 60 1.2 انتخاب کنید\nگام 2: ایجاد یک پروژه جدید\nیک پروژه جدید از مسیر file  new…  series 60 GUI Application ایجاد نمایید.\nنام پروژه را Mopoid قرار دهید ( از نام دیگری برای این پروژه استفاده نکنید زیرا بعضی از فایل های از قبل نوشته شده که بعدا ضمیمه خواهیم کرد کار نمی کنند)\nآن را در مسیر c:\_ symbian \_ dev قرار دهید و به c++ builderX اجازه دهید یک زیر پوشه برای این پروژه بسازد که در این صورت پروژه های شما جدا از هم نگه داری می شوند\nبه مر حله بعدی رفته و همان نام را برای پروژه وارد کنید (Mopoid) به علت این که ما می خواهیم یک بازی بنویسیم گزینه fullscreen را به عنوان view type انتخاب می کنیم\nUID3 که به طور پیش فرض توسط c++ BuilderX پیشنهاد می شود ، نباید استفاده شود UID را به چیزی بین 0x01000000 و 0x0fffffff (id های رزرو شده برای تست کردن\nپروژه ها تغییر دهید )\nتوضیح : هر برنامه نصب شده در گوشی باید یک UID منحصر به فرد داشته باشد بنابراین اگر می خواهید که بازی خود را عمومی کنید یک email به آدرس uid@symbiandevnet.com\nبفرستتید که باید حاوی نام شما و تعداد UID های مورد نیازتان باشد( برای شروع 5 تا uid کافی است) آنها UID ها را در اولین زمان ممکن برای شما می فرستند.\nروش فوق که گفته شد قبلا استفاده می شده اکنون برای انجام این کار باید در سایت http://www.symbiansigned.com ثبت نام کنید و بعد از وارد شدن به سایت در سمت\nچپ گزینه request UiDs انتخاب و تعداد UID های مورد نیاز را بنویسید به شما یک بازه داده می شود که تما اعداد داخل بازه مخصوص شما است.\nو همچنین می توانید اطلاعات مختلفی در باره UID ها و انواع آن کسب کنید.\nاول از همه از دوستانی که با تشکراشون منو دلگرم نگه میدارم ممنونم:loveit:\nو مطمئن باشن که همینطور به کار ادامه میدم :flower:\nخوب توی اینجلسه اول از همه میریم برای تست پروژه\nاکنون وقت آن است که پروژه را امتحان کنید تا ببینید که آیا همه تنظیمات درست وارد شده اند یا خیر.\nدکه run Project را فشار دهید.\nاگر همه چیز به درستی کار کند شبیه ساز بعد از مدت کوتاهی نشان داده خواهد شد. اگر مایلید که سرعت مقداری بیشتر شود. جستجوگر ویروس مقیم حافظه را غیر فعال کنید.\nبرنامه شخصی شما در پایین Menu قرار داده خواهد شد.پس برای انتخاب کردن آن توسط کلیدهای جابجایی به پایین حرکت کنید.\nاگر نمی خواهید که همیشه هنگام تست کردن به پایین menu بروید، آن را انتخاب کنید، کلید سمت چپ(options)را بزنید، Move را انتخاب کنید و آن را به بالای menu انتقال دهید\nاگر شما شبیه ساز را ببندید و دوباره باز کنید با هم در موقعیت تنظیم شده باقی خواهد ماند.\nهنگامی که شما برنامه mopoid را اجرا می کنید ، شما فقط یک صفحه سفید خواهید دید.\nبه این علت که ما انتخاب کردیم که یک برنامه تمام صفحه ایجاد کنیم، که هنوز هیچ\nوضعیت مرئی در نوار منو ندارد.\nهنگامی که کلید چپ شبیه ساز را می زنید، یک منوی پیش فرض نشان داده خواهد شد..\nدر مرحله بعدی این منو را طبق نیاز خودمان تنظیم خواهیم کرد.\nخوب امروز یکم کار دارم برای همین زود تموم کردم ولی خوب فردا بیشتر مینویسم:111:\nدر جلسه بعد روی شناسایی Error ها کار میکنیم :loveit:\nآقا حمید رضا با قدرت به کارت ادامه بده.\nاول از همه از اقا فرید به خاطر اینکه همیشه هوای منو داشتن تشکر میکنم :flower:\nخوب میریم سر مطالب جلسه هفتم.:loveit:\nشناسایی خطا ها و رفع انها:\nاگرVisual Studio .net یا Microsoft Toolkit در رایانه شما نصب شده است و C++BuilderX از آن\nکامپایلرها برای SDK v1.2 سری 60 استفاده می کند ممکن است خطای زیر رادریافت\nLNK2019 : unresolved external symbol____ftol2\nبرای حل این مشکل ، فایل c:\_symbian\_6.1\_shared\_EPOC32\_Tools\_cl_win.pm را در یک ویرایشگر متن مثلا Notepad باز کنید\nو به دنبال خطی بگردید که حاوی /W4 است و سپس آن را به\nCLFLAGs = / nologo /Zp4 /W4\n/QIfist (دقیقا متن نوشته شده) تغییر دهید.\n(شماپارامتر /QIfist را به گزینه ها افزودید.)\nاگر C++Builderx، هنگام ساخت خطایی شبیه زیر ایجاد کند:\nCan't locate E32env.pm in @INC […]\nیک راه حل ممکن این است که دو مسیر زیر را در ابتدای مسیر متغییر محیط قرار دهید.\nاگر این روش کار نکرد مطمئن شوید که Perl نصب شده است و SDK سیستم عامل سیمبین را نصب تعمیری (repair install) کنید.\nمطمئن شوید که SDK بعد از Perl بر روی سیستم نصب شده است.\nحتما بعد از پایان تست کردن پروژتان پنجره شبیه ساز را ببنید.\nاگر شما بخواهید پروژه را کامل کنید در حالی که شبیه ساز هنوز در پس زمینه در حال اجرا است، خطاهای مختلفی دریافت خواهید کرد.\nتعریف کردن رشته ها ( String)\nبه طور پیش فرض فایل MopoidContainer.akn باید فعال باشد. اگر نیست آن را از طریق پنجره پروژه در سمت چپ اجرا کنید.\nMopoid.cbx  symbian project (bld.inf)  Mopoid.mmp  Designs  MopoidContainer.akn\n( از طریقدابل کلیک).\nبرای طراحی منو های خودمان ، اول باید متنی که می خواهیم استفاده کنیم را تعریف نماییم.\nدر سیستم عامل سیمبین متن ها معمولا در فایل های منبع (resource) تعریف میشوند\nاین جمع و جور کردن برنامه ها را آسانتر می کند ، به علت اینکه برنامه های موبایل جهانی هستند شاید بخواهید بازی شما در بیش از یک زبان قابل دسترسی باشد.\nاگر از فایل های منبع استفاده نکنید، در میان انبوه متون چند زبانه و گوناگون سردرگم خواهید شد.\nبه طرح String Table بروید:\nدر این بازی ما می خواهیم یک منوی ساده داشته باشیم که به ما اجازه دهید که یک بازی جدید را شروع کنیم، یک پنجره محاوره (درباره برنامه) را نشان می دهیم و از بازی خارج می شویم.\nبنابر این چهار رشته زیر را تعریف می کنید:\nبرای پیغام در پنجره محاوره (r_aboutmessage) شما ابتدا مجبورید که max Length را به حدود 60 تعییر دهید( برای این بازی) بنابراین شما فضای کافی برای پیغام خود خواهید داشت.\nبرای ایجاد سطر جدید. می توانید از عبارت \_n استفاده کنید.\nهمیشه بعد از اتمام نوشتن متن در سلول کلید enter را فشار دهید تا مطمئن شوید که C++BuilderX متن جدید شما را نگهداری کی کند.\nتوجه: در این آموزش اسامی را دقیقا همانطور که نوشته شده وارد کنید در یکی از مراحل بعدی شما چند سورس کد از قبل نوشته شده را به پروژه خود اضافه خواهید کرد که تعاریف\nنام مختلفی خواهند داشت.\nدوستانی که مطالب را دنبال میکنند اگر در جایی مطالب با هم همخوانی ندارد به خوبی خودشون ببخشند:merci:\nچون من این اموزش را مبتنی بر تجربیات خودم و استفاده از اموزشهای دیگر که به درک مطالب کمک میکنند تهیه میکنم\nتا جلسه بعد کاملا مطالب را انجام دهید :loveit:\nبخشید من تازه این تاپیک رو دیدم و میخواستم بدونم sdk رو از کجا میشه گیر آورد\nدوست عزیز در پست اول اگه میخوندی میفهمیدی\nبه هر حال شما بهتره که این SKD ها رو از بیرون تهیه کنی چون حجم بسیار زیادی دارن و به صرفه نیست که دانلود کنی در ضمن در پکهای اموزش برنامه نویسی برای موبایل در بازار موجود هست:loveit:\nداریم به جاهای شیرین میرسیم:lol:\nتو این جلسه نحوه تعریف منو رو یاد میگیریم\nتعریف کردن منوها\nاکنون وقت آن است که از رشته هایی که تعریف کرده ایم در بازی استفاده کنیم.\nبه Menu Desigenr بروید می بینید که C++ BuilderX از قبل دو منو برای شما ایجاد کرده استو ما یک منوی دیگر هم نیاز داریم، پس از panel سمت چپ ابزار Menu Item را انتخاب کنید و روی منو به منظور اضافه کردن یک آیتم جدید کلیک نمایید.\nحالا منوی های جدید را طوری تنظیم خواهیم کرد که از متنی که ما تعریف کردیم استفاده کنند.\nروی iMenuItem1 کلیک کنید تا انتخاب شود. در panel سمت راست نام آن را بهiMenuItemNewGame تغییر دهید.\nبرای متن آن نیز فقط عبارت r_stargame را به عنوان ID انتخاب کنید. Command را با مقدار پیش فرض (1001) رها کنید.\nتوجه: زدن Enter پس از تغییر یک مقدار ضروری است . اگر شما فقط توسط ماوس یا کلیدهای مکان نما به جای دیگری بروید ممکن است ورودی شما ذخیره نشود.\nسپس نام iMenuItem2 را به iMenuItemAbout تغییر دهید.\nکلمه r_about را به عنوان ID انتخاب کنید. مقدار 1002 برای command مناسب است.\nهمچنین flag دوم یعنی EeikMenuItemSeparatorAfter را نیز علامت بزنید.\nاین flag یک خط کوچک در زیر منو ایجاد خواهد کرد که به صورت تصویری دستور سوم exit را از بقیه جدا خواهد کرد.\nآخرین مورد منویی است که برای خروج از برنامه بکار می رود.\nنام آن را از iMenuItem3 به iMenuItemExit تغییر دهید و از عبارت r_exit به عنوان Text_ID استفاده کنید.\nاکنون command ID را پیش فرض نگه نخواهیم داشت،\nاز EAknCmdExit به عنوان Command استفاده می کنیم. این دستور همچنین هنگامی که سیستم عامل بخواهد برنامه را ببندد ارسال می شود، برای مثال هنگامی که گوشی حافظه باقیمانده کافی نداشته باشد.\nبنابراین ضروری است که هر برنامه ای همیشه به این رویداد پاسخ دهد و برنامه را ببندد.\nحالا اگر بازی را تست کنید، خواهید دید که منوی Exit به درستی کار خواهد کرد.\nهنگامی که در آینده بازی را تست می کنید، همیشه توسط Exit از برنامه خارج شوید و فقط شبیه ساز را نبندید به این علت که محیط شبیه ساز همیشه به طور اتوماتیک حافظه را بررسی می کند و در صورت وجود رخنه به شما اطلاع می دهد.\nاگر شما فقط شبیه ساز را ببندید، هنگام باز کردن مدت زیادی طول خواهد کشید که باعث میشود پیدا کردن علت خیلی سخت تر گردد.\nیواش یواش داره شبیه برنامه میشه ها:loveit:\nتا جلسه بعد:na:\nدوباره سلام :loveit:\nتوی جلسه قبل نحوه ساختن منو رو یاد گرفتیم حالا میخوایم یک پنجره توضیحی درست کنیم\nپس همراه باشید تا یاد بگیرین اینم مثل منو خیلی ساده هست:lol:\nتا الان ما یک برنامه کوچک با منوی اختصاصی اش بدون نوشتن هیچ کدی ایجاد کرده ایم\nبرای نشان دادن پنجرده محاوره About اولین کد را خواهیم نوشت به نمای طراحی Non-Visual بروید\nاز panel سمت چپ CAknInformationNote را انتخاب کنید.\nاین مورد یک پنجره ساده کوچک است که متن شما و یک آیکن از پیش تعریف شده را در برمیگیرد. سپس ، در یک جایی از منطقه سفید وسطی کلیک کنید تاNote ایجاد شود.\nدر پنجره ویژگی ها (properties) درسمت راست، نام آن را به iAknAboutNote تغییر دهید و r_aboutmessege را به عنوان Text-ID انتخاب کنید.\nاکنون ما پنجره About را تعریف کرده ایم، برای نمایش دادن آن ما فقط باید آن را به منوی about متصل کنیم. به Menu Designer بروید و منوی About را انتخاب کنید\nدر بخش Proprties در سمت راست، به قسمت Events بروید.\nدر جعبه متن خالی که پس از عبارت OnViewCommand قراردارد دوبار کلیک کنید\n++BuilderX به طور اتوماتیک یک تابع برای شما ایجاد می کند که هنگامی که کاربر منوی About را انتخاب کرد، صدا زده شود.\nولی قبل از نوشتن هرگونه کد به MopoidContainer.akn بروید ونام تابعی را که IDE جدیدا ایجاد کرده است را به OniMenuItemAboutViewCommandL\n(با اضافه کردن یک L به انتهای آن) تغییر دهید.\nEnter را فشاد داده و سپس C++BuilderX شما را دوباره به تابع می برد، اکنون تابع نام تصحصح شده را دارد.\nاکنون، این کد را در یک تابع جدید در فایل MopoidContainer.cpp بنویسید.\nاین خط اجرای تابعی است که C++BuilderX قبلا برای ما ایجاد کرده است.\nاگر برنامه را تست کنید، پنجره About به درستی کار خواهد کرد.\nولی مطمئن هستم که این سوال برای شما پیش آمده که چرا L را به انتهای نام تابع اضافه کرده ایم ، پس بیایید بررسی کنیم که چرا L را به انتهای نام Function اضافه کردیم.\nتوجه داشته باشید که تابع ExecuteiAknAboutNoteL() خودش یک L در انتهای نامش دارد .چرا اینگونه است؟\nبه این علت که حافظه در این تابع تخصیص یافته است( برای ایجاد ونمایش پنجره های محاوره) و به همین خاطر این پروسته امکان دارد به طور کامل انجام نشود.\nدر حال حاضر، گوشی های موبایل منابع محدودی دارند بنابراین خیلی مهم است که همیشه احتیاط کنید که اگر سیستم عامل نتواند منابع مورد نیاز برنامه شما را تدارک ببیند چه اتفاقی می افتد ( این اصل پایه و اساسی در هنگام طراحی سیستم عامل سیمبین بوده است).\nاین رویدادها، همانند error های دیگر (مثل File not Found ) توسط سیستمی کنترل می شوند که شبیه به catch جاوا وC++ جدید است.\nیک error منتظر می ماند تا زمانی که کسی آن را مدیریت کند. افزودن L به انتهای تابع یک قرار داد عمومی است که از طریق آن به برنامه نویس می گوییم که اگر در سیستم حافظه کافی وجود نداشته باشد، اجرای این تابع ضروری نیست.\nتابع که پیام ما را نمایش می دهد، در صورت عدم وجود حافظه کافی اجرا نمی شود.\nطبیعتا شما نمی توانید این مشکل را رفع کنید و باید به سیستم اجازه دهید که error مناسب را نشان دهد. اگر خودتان تمام error ها را مدیریت کنید، برنامه شما بسیار بزرگ خواهد شد.\nOniMenuItemAboutViewCommandL() نیز می تواند به طور کامل اجرا نشود. بنابراین، ما L را به انتهای آن اضافه کرده ایم.\nتا حالا C++BuilderX یک تابع با نام DispatchViewCommandEvents() نوشته است که دنبال آن توضیح (( این روتین توسط C++BuilderX ایجاد شده است آن را تغییر ندهید)) است، آمده است.\nتوجه کنید که حرف L در انتهای آن نیامده است. اگر ما خودمان آن را اضافه کنیم، C++Builderx این تابع رادیگر نخواهد شناخت. اگر به فایل MopoidView.cpp بروید HandleCommandL() را خواهید دید. این تابعی است که هرگاه کاربر منویAbout را انتخاب کرد توسط سیستم عامل صدا زده می شود.\nبنا براین، به خاطر انعصاف پذیری های کم IDE ، ما از قبل مقدار کمی کد داریم که با استاندارد های کد نویسی سیستم عامل سیمبین همخوانی ندارد. در این مود نادیده می گیریم، همانطور که L برای سیستم نیست و فقط یک چیز کمکی برا ما برنامه نویس ها است.\nولی یک بهانه خوب برای شرح دادن نکات اساسی سیستم و نشان دادن محدودیت کدهای ایجاد شده توسط C++BuilderX برای ما می باشد.:loveit:\nدوستان تا اینجا اموزش روی یک برنامه معمولی است ولی در جلسات بعدی در مورد برنامه بازی ها صحبت خواهیم کرد که انها چگونه کار میکنن و موتور انها چگونه نوشته میشود:flower:\nاگه اموزشها رو خوب دنبال کنید قول میدم برای خودتون Doom4 و Call Of Duty 5 رو بنویسید:lol::lol::lol:\nدوستان اگه مطالب بدردشون میخوره و اموزنده هست یک تشکر بکنن باعث دلگرمی بنده میشود\nجای دوری نمیره:loveit:\nتو اینجلسه میخوایم برنامه رو تست واقعی کنیم:loveit:\nفرستادن برنامه به گوشی موبایل\nطبیعتا شبیه ساز به خوبی کار می کند، ولی بهتر است از مواقعی که فایل در شبیه ساز ویندوز درست کار می کند ولی در گوشی کار نمی کند آگاهی یابید.\nبرای مثال متغییرهای استاتیک که در شبیه ساز به خوبی کار می کنند ولی در گوشی موبایل کار نمی کنند. به علت اینکه اشکالزدایی مستقیم در موبایل سخت است و بعضی مواقع کار نمی کند و سیستم فقط پیغام system error می دهد،\nیافتن علت کار نکردن برنامه در موبایل سخت است، ولی اگر به طور منظم برنامه را در موبایل امتحان کنید، پیدا کردن اشکالات راحت تر خواهد شد.\nبرای اینکه به IDE بگویید که می خواهید برای دستگاه موبایل برنامه بسازید ، باید پلت فرم مقصد برای برنامه کامپایل را به ARMI تغییر دهید.\n(پردازنده گوشی سری 60 شما یک پردازنده ARM است) و نوع آن را به UREL(ویرایش انتشاری) تغییر دهید.\nبرای ساخت پروژتان به مسیرProject  Make project 'Mopoid.cbx" بروید.(میتوایند Ctrl+F9 را هم بزنید)\nبعد از اینکه این پروسه تمام شد، یک فایل با نام Mopoid_ARMI_UREL_sis در پوشه C:\_Symbian\_dev\_Mopoid\_group مستقر خواهد شد.\nاین فایل را به گوشی خود انتقال دهید و آن را نصب کنید.\nحتما راه های انتقال فایل به گوشی رو که می تونه از طریق بلوتوث یا کابل یا اینفرارد و یا رم ریدر باشه رو بلد هستید.\nاگر همه چیز به درستی کار کند، فراموش نکنید که برای ادامه برنامه نویسی تنظیمات ساخت را به WINS / UDEB برگردانید در غیر اینصورت با مشکل مواجه میشوید\nاین جلسه هم تموم شد از اول تا اینجا رو یک مورور بکنین تا جلسه بعد میخوایم یک موتور پردازشی برای بازیمون تو برنامه بزاریم\nاز اینجا دیگه باید دست به اچار بشیم:loveit:\nتصمیم گرفتم برای چند وقتی تاپیک رو ببندم تا هر وقت علاقه مندان به برنامه نویسی زیاد شدن بعد کارو شروع میکنم :flower:\nخیلی خسته شدم یکم استراحت لازمه:loveit:\nCONS†AN†INE جان بهتره يه مسافرت بري تا از اين حال و هوا بيرون بياي:wink2: :merci: :merci:\nاتفاقا چند روز دیگه میخوام برم بابلسر یک حالی عوض کنم :coool:\nدوست عزیز... ممنون از این تاپیک جامع و کاملت ....خیلی عالی بود... بازم ادامه بده ما هواتو داریم ...\nضمنا" از اینکه مثل خودم با فیلم کنستانتین حال میکنی خیلی خوشحالم ...آخرشه ...\nتاپیک دوباره راه اندازی میشه.\nخوب دوباره برگشتم با بقیه اموزش :loveit:\nامیدوارم دوستان منو همراهی کنن تا نا امید نشم:flower:\nقبل از ادامه اموزش توصیه میکنم کلیه مراحا اموزش رو علاقه مندان با صرف وقت دوباره طی کنند تا در ادامه مطالب رو راحت تر درک کنند:loveit:\nاموزش لود کردن تصاویر در برنامه\n++C سیستم عامل سیمبین دارای پشتیبانی داخلی از فایل های .mbm است. این فایل ها مجموعه ای از فایل های تصویری فشرده شده RLE هستند.\nمزیت های آنها عبارتند از:\nلود کردن آنها سریع و کارکردن با آنها راحت تر است ولی آنها فضای زیادی از حافظه موبایل را اشغال می کنند.\nبازی که از تصاویر زیادی به این سیستم استفاده می کند بسیار بزرگ خواهدشد. بنابراین بهتر است که از فایل های .png و یا .jpg استفاده کنیم.\nمتاسفانه روتین ها و متغییر های از پیش تعریف شده ای برای لود کردن این گونه تصاویر وجود ندارد و انجام دادن دستی آنها نیز نسبتا پیچیده است. همچنین باز کردن آنها از حالت فشرده شده مقداری زمان می برد، بنابراین آنها به طور غیر همزمان کار خواهند کرد.\nدر سیستم عامل سیمبین ویرایش 7.0 یک روش انتخابی دیگر نیز برای لود کردن تصاویر ممکن است ، ولی اگر می خواهید بازی شکا توسط گروه زیادی از مردم استفاده شود، مجبورید که از توابع قدیمی استفاده کنید، برنامه نویسی و شرح کامل پروسه لود کردن تصاویر خودش می توان به اندازه یک کتابچه باشد بنابر این یک کلاس کامل از قبل تهیه شده است\n(PngLoader.cpp) ویک فایل دیگر هم توسط نوکیا تهیه شده است (bitmapmethods.cpp) که در بعضی از وظایف عمومی کمک می کند. بعضی توابع دیگر نیز به آن اضافه شده است که بسیار پر کاربرد هستند. شما مس توانید به راحتی دوفایل را به پروژهای شخصی خودتان اضافه کنید !\nدر پروژه Mopoid یک کلاس، مسئول لود کردن و ذخیره کردن تمام تصاویر است. اگر یک تصویر در جای دیگری مورد نیاز باشد می تواند آن تصویر را با فرستادن ID تصویر به تابع کلاس CSpritHandler دریافت کند.\nکلاس های C و T\nبه نظر شما معنی C در اول نام کلاس چیست ؟\nبه طور مختصر به این معنی است که این کلاس همیشه به حالت گروه ایجاد می شود و اکثر مواقع آبجکت های شخصی خودش را دارد.\nهنگامی که مخرب (Desstructor) کلاس c ما صدا زده شد، آن آبجکت ها (اشیا) نابود خواهند شد. دومین نوع مهم دیگر کلاس ها T هستند. این کلاس ها در حقیقت شبیه به یک نوع\nداده (Data type) ساده هستند یک کلاس از این نوع نمی تواند مخربی داشته باشد. برای مثال بنیادی ترین نوع داده های سیمبین دارای یک پیشوند T هستند مانند Tint, TReal,…\nفایل SpritHandler.cpp را به منظور دیدن کدهای کلاس مدیر تصویر (bitmap manager class) باز کنید. توجه خواهید داشت که سازنده (Constructor) خالی است و شما کدتان را در تابعی به نام ConstructL() می نویسیدکه توسط NewL() صدا زده می شود.\nعلت این کار در وضعیت حافظه های موبایل است. اگر شما یک برنامه برای PC بنویسید(در بیشتر موارد) نگران حافظه آزاد نیستید. در اینجا وضعیت به گونه دیگری است. ممکن است که حافظه موبایل تماما اشغال شود و ایجاد یک شی از یک کلاس انجام نشود.\nبه هر حال هنگامی که شما حافظه را در سازنده اختصاص می دهید، واین پروسه به طور کامل انجام نمی شود، حافظه اختصاص داده شده بی صاحب باقی می ماند واین بد است. بنابراین کد اجرا شده در یک سازنده C++ هرگز نباید ناتمام رها شود!\nراه حل ساده است( یک سازنده دو مرحله ای) فقط تمام کدهای اختصاص دادن حافظه را به متد ConstructL() انتقال دهید.\nحالا شما می توانید آبجکت یا شی را به طور عادی ایجاد کنید و سپس در خط بعدی این تابع را صدا بزنید. این کار به شما فرصت کنترل کردن عملیات رها شده را به طور صحیح می دهد.\nبه ویژه اگر شما نیاز دارید که بیش از یک شی از کلاستان ایجاد کنید، باید آن کدها( اختصاص دادن و صدا زدن ConstructL()) را به تعداد متعدد بنویسید. برای جلوگیری از این کار سازنده دوبخشی معمولا توسط یک NewL() استاتیک یا تابع NewL() مدیریت می شود.\nبه عنوان یک قاعده کلی هنگامی که شما می خواهید یک آبجکت را به یک متغیر نسبت دهید NewL() باید اجرا شودNewL() آبجکت را در پشته Cleanup می گذارد و برای متغییرهای اتوماتیک مفید است. در مورد این موضوع بیشتر بحث خواهیم کرد. :rules:\nتا اینجا یک توضیح از اصول و قواعد گفته شد در جلسه بعد نگاهی به کد های مربوط به لود تصاویر مکنیم.:loveit:\nاین جلسه نحوه لود کردن تصاویر:\nابتدا باید نام فایل تصویری را که می خواهیم لود کنیم تعریف کنیم .این کار به صورت زیر انجام می شود:\nاین خط یک آبجکت با نام KBmpPanel می سازید که رشته panel.png را به طور مستقیم و به صورت باینری در برنامه ذخیره می کند.\nرشته ها در C++ سیستم عامل سیمبین متفاوت با C++ استاندارد کنترل و مدیریت می شوند.\nباز هم علت این کار محدودیت حافظه موبایل است. در C++ سیستم عامل سیمبین رشته واصف) Descriptor) نامید می شود. عادت کردن به آنها واقعا سخت است. ولی از طرف دیگر کمتر از رشته های C++ استاندارد حافظه اشغال می کنند.\nهنگامی که ما یک تصویر را لود کردیم نیاز داریم که آن را در جایی ذخیره کنیم.\nبرای دیدن آن شما باید یک نگاه به فایل سرآیند کلاس Sprit Handler بیندازید. به دلایل نامعلوم C++BuilderX آن فایل ها را درساختار پروژ نشان نمی دهد.\nبه جای آن شما باید سورس فایل را باز کنید، بخش ضمینه های آن را در پانل Structure در سمت چپ باز کنید و از آنجا به فایل ضمینه بروید\nدر اعلان کلاس(class declaration) شما اعلان های زیر را که مربوط به یک متغییر خصوصی (private) است خواهید دید.\nچرا متغیر به جای m_sprites یا sprites، iSprites نامیده شده است؟ این مورد نیز یک رهنمون دیگر کد نویسی C++ سیستم عامل سیمبین است.\nتمام متغیر های عضو باید دارای یک پسوند i باشند. به این ترتیب تمام متغیرهای پارامتری نیز باید یک a در ابتدایشان باشند.\nبه فایل SpriteHandler.cpp برگردید. بیایید آرایه مان را با تصاویر پر کنیم. ما این کار را با صدا زدن یک متد استاتیک از کلاس CPngLoader انجام می دهید\nتوجه داشته باشید که ما به کلاس می گوییم که تصویر را به عنوان EColor4k لود کند.\nبه این معنی که تصویر4096 رنگ است که این مقدار برابر عمق رنگ دستگاه های سری 60 قبلی مانند Nokia N-Gage و Nokia 7650 است.\nاکنون دستگاه های جدید EColor64k (یا بالاتر) را هم پشتیبانی می کنند. اگر چه برای گرافیک های یک بازی ساده مانند Mopoid رنگهای زیادی نیاز نداریم.\nESpritePanel یک ارائه متنی یک ID است که enumeration نامیده می شود و در MopoidSharedData.h تعریف شده است.\nما می خواهیم که پانل ما گوشه های گرد داشته باشد، پس ما یک ماسک نیاز خواهیم داشت. یک روش برای انجام این کار این است که یک فایل تصویر دومی داشته باشیم که حاوی تصویر ماسک سیاه و سفید است.\nبه هر حال همانطور که قبلا گفته شد لود کردن فایل های .png مدتی طول می کشد پس بهتر است که ماسک را خودمان ایجاد کنیم . از کد زیر استفاده کنید:\nاین تابع یک تصویر ماسک بر پایه رنگ پیکسل بالا وسمت چپ تصویر منبع ایجاد می کند. اگر شما نمی خواهید که تمام پیکسل هایی که رنگ مشخص شده دارند شفاف شوند، می توانید از دومین و سومین پارامتر جهت مشخص کردن رنگ مورد نظرتان استفاده کنید.\nحالا،تصویر توپ(مثال) را به همان روش به عنوان تصویر پانل لود کنید. نام فایل ball.png است، اسامی enumeration برای ID ها عبارتند از:\nESpriteBall و ESpriteBallM .\nآجرها مقداری متفاوت هستندو آنها شکل مستطیلی دارند و به ماسک نیاز ندارند.\nالبته ما رنگ های متفاوتی رابه آنها نسبت می دهیم. به جای لود کردن یک به یک تصاویر بهتر است که تمام گرافیک ها را در یک فایل جمع کنیم و بعد از لود کردن آنها را جدا کنیم.\nبا این روش فایل های تصویری فضای کمتری اشغال می کنند و اگر چه برنامه حافظه موقت (Temporarily memory) بیشتری نیاز خواهد داشت ولی سرعتش به مقدار زیادی افزایش پیدا خواهد یافت .\nدر جلسه بعدی خطا هایی که در لود کردن تصاویر پیش میاد رو یاد میگیریم:loveit:\nدوست گرامی خسته نباشی !\nحقیقتش اینه که من این تاپیک رو تازه پیدا کردم و خیلی ازش خوشم اومده ولی یه مشکلی که هست اینه که من واقعن متوجه نشدم شما دقیقن از چه نرم افزار یا نرم افزار هایی استفاده می کنی . اگر میشه اسم کامل و دقیق این نرم افزار ها رو بگید که من با تهیه اونا تو مکانم مشکلی نداشته باشم .\nبسیار متشکر خواهم شد .\nسلام عباس جان من تمام نرم افزارهایی که دارم باهاش کار میکنم و برای اموزش نیاز هست رو با ورژن دقیق در صفحه اول همراه با اموزش نصبشون گفتم\nاون نرم افزارها رو تهیه کن و از طریق اموزش جلو برو در ضمن توصیه میکنم اصلا از اینترنت این نرم افزار ها رو نگیرید و از بازار از فروشگاه های معتبر خرید کنید تا از صحت برنامه ها مطمئن شوید و در هنگام کار با مشکلی برخورد نکنید\nاین جلسه هم در ادامه جلسه قبل در رابطه با لود کردن تصاویر و خطا های پیش اومده و خود کدهای اصلی:loveit:\nحذف تصاویر هنگامی که شما سعی می کنید که برنامه را اجرا کنید،\nبرنامه باید تصاویر را لود کند که شما آن را نخواهید دید .\nما کد مورد نیاز برای نمایش آنها را هنوز ننوشته ایم.\nحالا سعی کنید که از برنامه خارج شوید .\nشما یک اخطار میبینید!!\nاین خطا به شما از وجود یک رخنه در حافظه قسمتی از برنامه شما اطلاع می دهد. پیدا کردن عامل صدمه زننده واقعا کار سختی است به همین دلیل همیشه به یاد داشته باشید که به جای فقط بستن پنجره شبیه ساز از خود برنامه خارج شوید.\nدر اینجا ما حافظه اختصاص یافته به فایل های گرافیکی را هنگامی که آبجکت CSpriteHandler نابود شد آزاد نکردیم خوشبختانه یک راه حل ساده وجود دارد.\nکلاس TFixedArray از iSprites این کار را به راحتی انجام می دهد. نوشتن کد زیر در مخرب کلاس تمام کار را نجام خواهد داد:\nخوب تا اینجا ما لود کردن تصویر رو یاد گرفتیم حالا میریم برای نمایش عکس:lol:\nتنها لود کردن تصویر به ما کمک زیادی نمی کند( ما باید آنها را به صفحه نمایش نیز بیاوریم.)\nدر برنامه ما ، کلاس موتور گرافیکی بازی مواظب آماده سازی بافر پشتی تصویر است.\nبه این معنی که تمام گرافیک ها در یک تصویر خارج از اندازه صفحه کشیده می شوند.\nهنگامی که این پروسه تمام شد تصویر کلی به صفحه نمایش کپی می شود.\nاین روش از خاموش و روشن شدن تصویر جلوگیری می کند، که در صورت عدم استفاده از روش مذکور ممکن بود اتفاق بیفتد.\nابتدا به متد ConstructL() از کلاس CGameEngine بروید. کدی که چند محاسبات اندازه ای روی فایل های گرافیکی که اخیرا لود کردیم انجام می دهد را از حالت کامنت خارج کنید.\nاگر مایل هستید می توانید نگاهی به کد بیندازید ولی این کد الان برای ما مهم نیست.\nخوب frame در متد DrawFrame() کشیده می شود، که در پایین سورس کد در همان کلاس است. توجه داشته باشید که تابع از نوع const تعریف شده است به این معنی که تغییر اطلاعات عضو کلاس بازی امکان پذیر نیست.\nکنترل و مدیریت شفافیت\nبیایید نگاهی به خط زیر داشته باشیم:\nهنگام کشیدن یک تصویر سیستم عامل سیمبین یک قلم و یک قلم مو به خاطر زمینه گرافیکی ایجاد می کند، که عملیات کشیدن ونقاشی کردن را مدیریت می کنند .\nهنگامی که شما یک مستطیل می کشید خطوط مستطیل توسط تنظیماتی که شما به قلم اعمال کرده اید کشیده می شوند و توسط قلم مو مستطیل رنگ می شود.\nما از آن توابع کشیدن استفاده نمی کنیم ولی باید کاملا واظب این رفتار باشیم! اگر یک قلم موی سخت انتخاب کنیم و بخواهیم یک تصویر دارای قسمت های شفاف بکشیم آن قسمت ها با رنگ کنونی قلم مو و مشخصات دیگر آن پر خواهند شد!\nبه همین خاطر است که ما قلم مو را قلم موی تهی تنظیم کردیم که به پس زمینه یک تصویر اجازه می دهد که در قسمت های شفاف آن دیده شود.\nابتدا توپ را خواهیم کشید. اولین خط از قبل وجود دارد این خط موقعیت توپ را محاسبه می کند و آن را در یک متغیر TPoint قرار می دهد. این نوع متغیر به طور اتوماتیک حاوی یک X و یک Y مختصاتی است و بسیار هم پر کاربرد است.\nاین خط تابع BitBltMasked() محتوای گرافیک بافر پشتی را صدا می زند که در حقیقت یک تصویر منبع ماسک زده را به تصویر مقصد کپی می کند اولین پارامتر موقعیت را مشخص می کند.\nدومی تصویر مبدا است ، سومی اندازه تصویری است که ما می خواهیم کپی کنیم، چهارمی ماسکی است که می خواهیم استفاده کنیم و پنجمی مشخص می کند که ماسک معکوس شود یا خیر.\nبرای جستجوی پارامتر های توابع تهیه شده توسط API های سیستم عامل سیمبین می توانید نگاهی به HELP سیمبین داشته باشید.\nبه SDK Help در مسیر\nstartMenu -> Symbian 6.1 SDKs -> Series60 -> Documentation بروید و در آنها جستجو کنید.\nحالا مقداری به پایین بیایید و همان کار را که برای پانل انجام دهید.\nبرای موقعیت آن از مقدار ذخیره شده در iPanel.iPos استفاده کنید.\nID های enumeration برای Sprite ها عبارتند از ESpritePanel و ESpritePanelM اندازه، iPanel.iSize است.\nهمانطور که قبلا دانستیم ، آجر ها به شفافیت نیازی ندارند. در ضمن شما باید مواظب باشید که منطقه های شفاف بزرگی نکشید زیرا که سرعت برنامه را کمتر می کند.\nتابع کشیدن یک تصویر بدون ماسک BitBtl() به ابع قبلی شبیه است و کاربرد آن مقدار راحت تر است.\nشما فقط دو پارامتر دارید،موقعیت و تصویر منبع. کد زیر را در قسمت علامتگذاری شده در حلقه for که برای کشیدن تمام آجر های مرئی تکرار میشود قرار دهید.\nالبته هنوز هیچ گونه واکنش و فعالیتی ندارد. برای فعال کردن این بخش کلید های زده شده را کنترل و مدیریت کنید.\nکار با تصاویر در اینجا به پایان میرسه توی جلسه بعد روی تنظیم کلید های زده شده بحث میشه\nتا جلسه بعد:flower:\nمرسي آقا ... بعضي وقتا دكمه تشكر فايده نداره ...\nدوست عزیز از لطف شما بسیار متشکرم ولی بهتره همیشه از دکمه تشکر استفاده کنید:loveit:\nدوست عزیز نوشتن یک برنامه که در ساختار سیستم برنامه (فیرمور) گوشی بشه خیلی مشکله در ابتدا باید یکسری کد رو برای نوشتن برنامه خریداری کرد که هزینه هنگفتی داره!!!:sad:\nشما برای بهره بردن از زبان فارسی توی گوشیتون به این تاپیک سر بزنید مشکلتون حل میشه:loveit:\nدوستان و علاقه مندان به برنامه نویسی سیمبیان که تا الان منو همراهی میکردن و دلگرم به ادامه کار از همه تشکر میکنم :merci:\nبه علت شروع کلاسها و مشغله کاری این تاپیک ماهی یکبار اپ میشه باید از همتون عذر خواهی کنم ولی واقعا نمیتونم یعنی وقت نمیکنم :wink:\nدیگه باید به خوبیه خودتون ببخشید :loveit:\nبرنامه را از كجا بگيرم\nسلام من امروز این تاپیکو دیدم خیلی ممنون از زحمتات من برای شروع باید چکار کنم برنامه های لازم چی هست؟\nدوستان عزیز برای شروع تمامی برنامه ها و بقیه چیزها رو توی پست اول توضیح دادم\nحتما مطالعه کنید:wub:\nبا سلام به دوستان و گلهای موبایلستان:trolll:\nتصمیم گرفتم که هر قسمت از اموزش رو بصورت فایل PDF در بیارم تا دوستانی که وقت نمیکنن بعدا توی خونه بخونن :119:\nمن خودم نمیدونم چجوری فایل PDF درست کنم دوستانی که این کار رو کردن منو راهنمایی کنن یا نرم افزار ی رو بگن یا با همکاری هم این ها رو بصورت فصل فصل درست کنیم:present:\nدر ضمن بعد از امتحانات با سری جدید اموزش سیمبیان بصورت ساده تر از این در خدمتون خواهم بود البته اگه عمری بود:wub:\nمتشکرم از تمام دوستان:flower:\nحمید رضا جان میتونی توی ورد این کار رو بکنی و بعد کانورتر مخصوص pdf رو نصب کنی تا تبدیل کنه\nیا این که آکروبات حرفه ای رو پیدا کن فکر کنم حجمش 600 یا 700 مگه که فایل میسازه\nممنون از اموزش خیلی خوبت\nاگه هر وقت اموزش هاتو تبدیل به PDF کردی لطفا به ایمیل منم بفرست\nضمنن کانورتوری که می خوای، توی سی دی های کینگ پیدا میشه...\nاز كار آموزشي تون متشكرم بازم ادامه بديد\nمرسی دوست عزیز. کار جالب و مفیدی رو شروع کردی. ادامه بده لطفآ. برات آرزوی موفقیت دارم.\nدوستان چرا اینهمه 700الی800مگ\nدوست عزیز یه Pdffactory به حجم 4مگ دانلود کن کارت درست میشه اگه نتونستی پیدا کنی بگو همینجا تو سایت آپ کنم××××\nدر ضمن من خودم درباره این سیستم عامل یه توضیحات کاربردی دادم که بدوستان پیشنهاد می کنم اونم بخونن\nمن كابر جديد سايت هستم\nاولين مطلبي كه نظر من رو جلب كرد همين موضوع بود.\nقصد دارم مواردي رو كه بهش اشاره كرديد اجرا كنم\nاز تلاش شما بسيار تشكر مي كنم.\nاين براي اينكه مطمئن باشيد پيگير مطالب شما هستيم\nپس با دلگرمي بيشتر ادامه بدهيد.\nشما لطف دارین هر کجا مشکلی داشتید مطرح کنید:trolll:\nدر ضمن بعلت کنکور یکم کم کار شدم:present:\nآقا دست شما درد نکند دمد گرم خیلی باحالی من عضو جدیدم و خیلی از آموزش شما سپاسگزارم\nمن امروز این تاپیک رو دیدم وخیلی خوشحال شدم که یک نفر همه ملزومات کار رو به زبان ساده وکاربردی معرفی کرده\nامیدوارم برای جاوا هم یه همچین تاپیکی پیدا بشه ممنون\nراستی چند تا سورس برنامه های نسبتا معروف رو هم اگه ... آوردی بزار برا آشنایی بچه ها وهم دیدن تکنیک های برنامه نویسای حرفه ای مثل خودت\nاینم تشکر من به خاطر استمرار در این آموزش. بی نهایت از شما ممنونم جناب کنستانتین. البته ببخشید که اینقدر دیر دارم تشکر میکنم. آخه تازه تاپیکو دیدم!\nباتشکر از شما که اینقدر برای یادگیری ما زحمت می کشین!واقعا ممنون\nمن برنامه زیر را گرفتم S60_3rd_Ed_SDK_FP2_API_Plug-In_Pack_v1_2 از سایت نوکیا\nحالا چطور به ویژوال استدیو اضافش کنم چون داخلش اصلا ستاپ نداره و همش فایل زیپه\nشما اگه اب ریدر پروفشنال رو نصب کنید کنار صفحه ی wordیه آیکون اضافه میشه که متنه درست شده تو word رو pdf کنه\nمن تازه این تاپیکو دیدم امیدوارم به updateادامه بدید\nسلام کنستانتین دمت گرم من میخوام یادبگیرم این تاپیکو تازه دیدم اگه لطف کنی و آموزش هاتو pdf کنی خیلی بهتره اگه زحمتت نیست بفرست به ایمیلم black_heart_68@yahoo.com فقط هر وقت فرستادی یه پیغام برام بزار مرسی\nبهتر نبود لینک مربوط به SDK و Active Perl رو میذاشتید؟


معرفی انواع لپ تاپ لنوو سری ideapad | انجمنهای پرشین تولز\nلنوو سال های زیادی است که به طراحی و تولید محصولات سخت افزاری مانند کامپیوتر، تبلت و حتی گوشی موبایل نیز می پردازد.\nمحصولات این شرکت در حدود بیشتر از 160 کشور به فروش می رسد.\nدر سال های اخیر همانطور که گفته شد به تولید گوشی های هوشمند پرداخته است. و فعالیت خود را در این زمینه از سال 2012 شروع کرد و در سال 2014 به موفقیت بزرگی یعنی بزرگترین فروشنده موبایل در چین دست پیدا کرد.\nلنوو در زمینه لپتاپ نیز بسیار موفق عمل کرد است و نوت بوک هایی اساسا مقاوم و با استقامت و با کفیت سخت افزاری بالا ارائه می کند.\nاو مانند هر شرکت دیگری شاخه تولید لپ تاپ خود را به سری های متفاوتی تقسیم کرده است. یکی از این موارد خانواده Ideapadاست که معولا قیمتی بسیار مقرون به صرفه دارند.\nسری ideapad لپ تاپ لنوو مجموعه گسترده ای را تشکیل می دهد، مثلا سری 100 که حدود 250 دلار قیمت دارد در دو سایز 14 و 15 اینچی با رزولوشن 1366 در 768 پیکسل طراحی شد. پردازنده آن ساخت شرکت اینتل و همچنین با دو حجم حافظه 500 و 128 می باشد. باتری لیتیوم یونی با یکبار شارژ می تواند تا 4 ساعت فعال باشد.\nخانواده بعدی، Ideapad 300 است.این سری به لحاظ ساختار و ویژگی هایی که دارند جزو میان رده ها محسوب می شوددرنتیجه برای انجام کارهای روزمره بسیار مناسب است.\nظاهر دستگاه با داشتن بدنه ی مشکی مات، جذاب به نظر می رسد وهمچنین اثر انگشت را کمتر جذب می کند. صفحه کلید آن از نوع Accu Type است با این کیبورد تایپی سریعی را تجربه خواهید کرد. پردازنده اینتل و 4 گیگابایت رم و500 گیگابایت حافظه داخلی اجزای اصلی داخلی آن را تشکیل می دهد. باتری نیز تا 4 ساعت شارژ را نگه می دارد. از گرافیک پیشرفته خبری نیست و پردازنده اختصاصی گرافیکی وجود ندارد. این محصول به عنوان محصولی خوش قیمت مشهور است و همانطور که مناسب استفاده روزمره به عنوان لپتاپ سبک و همیشه همراه نیز گفته می شود.\nIdeaPad 500 سری بعدی این خانواده در اواخر سال 2015 ارائه شد که مجهز به پردازنده جدید Intel Skylake هستند.\nکیفیت ساخت و وزن مناسب این کالا از ویژگی های ظاهری و خوب آن محسوب می شود. یکی از ویژگی های برجسته آن بلندگوهای ساخته شده شده شرکت جی بی ال است. و صفحه کلیدی مانند سری قبل یعنی Ideapad 300 دارد البته به نور پس زمینه یعنی backlite نیز مجهز شده است.\nوجود گرافیک مجزا و اختصاصی،ساخت AMD تصمیم خرید این محصول را جدی تر می کند. رم 16 گیگابایتی و 2 ترابایت نشان از پیشرفت سخت افزاری این محصول است. در عین حال که از ویژگی های سخت افزاری خوبی برخوردار است،\nقیمت چندان بالایی ندارد. سری Y700 خانواده پیشرفته ی آیدیاپد های لنوو محسوب می شود که از پردازنده نسل ششم اینتل بهره برده است و در مدلها 14، 15 و 17.3 اینچی عرضه شدند.\nبنده ی آلومینیومی مات طرح دار با مقاومت بالا و اسپیکرهای قرمز رنگ ساخته ی JBL، زیبایی ظاهری خاصی را به این لپتاپ بخشیده است.\nهمچنین لنوو از پردازشگر گرافیکی حرفه ای Geforce با حافظه اختصاصی گرافیکی در حدود 4 گیگابایت و 8 گیگابایت رم استفاده کرده است.\nبا توجه به ویژگی های گفته شده این لپتاپ برای کارهای مالتی مدیا و بازی کردن نیز بسیار مناسب است.\nاصولا لپ تاپ های لنوو می تواند انتخابی مناسب برای افرادی باشد که می خواهند با بهترین و در واقع حداقل هزینه، بهترین و مناسب ترین لپتاپ موجود را خریداری کنند. زیرا لنوو با توجه به تولیدات خود این مهم را به اثبات رسانده است.\nاگرچه لنوو مانند دیگر کمپانی ها و برندهای مطرح بازار، لپتاپ های گران قیمت با اجزای سخت افزاری فوق پیشرفته را نیز تولید کرده است که این موضوع باعث دربرگرفتن تمام سلایق از قشرهای مختلف مردم می شود.


پاسخ: اینکه برخی به وجود آمدن سلول نخستین را از ماجرای فرگشت جدا می دانند به نوعی جر زنی علمی شبیه است. کسانی که فرگشت را درست کرده اند خواسته اند ایجاد این طیف وسیع حیوانات و جاندارن را توجیه کنند و بزرگان آن از قبیل داوکینز خواسته اند خدا را انکار کنند پس معنی ندارد که شما موضوع آبیو‍نز را از فرگشت جدا کنید.\nمن اصل حرفم اینه و میخواستم جوابی درست در این زمینه بشنوم.شما به من گفتید بین فرگشت و علم شکافهایی وجود داره.آیا بین علم و دین دره هایی یا شکافهای بسیار بزرگی وجود نداره؟\nپاسخ: یادم نمی آید گفته باشم بین فرگشت و علم شکاف وجود دارد زیرا فرگشت یکی از موضوعات مطرح در علم تجربی است ولی بارها شنیده و خوانده ام که بزرگان شما مثل داوکینز ، دین را از علم جدا کرده اند . پس شما باید دلایل خودتان را بگویید؟ چرا فکر می کنید بین علم و دین جدایی وجود دارد؟ کجا یک پیغمبر خدا علم آموزی را منع کرده است؟ در کدام کتاب آسمانی ، توصیه شده که به دنبال علم و دانش نروید؟\nخواهش میکنم به این سوالم جواب بدید: میشه شما که جویای کوچکترین مسائل علمی فرگشت هستید و البته منتقد،وجود حضرت آدم و حوا ، طوفان نوح با تمام شبهاتش رو از لحاظ علمی برای من باز کنید. البته من چون شما را انسان کاملا عالمی میدونم و به همین خاطر از شما جواب میخوام.وگرنه تا به حال با روحانیون زیادی بحث کردم.و مفاهیم فلسفی هم برای من قانع کننده نیست\nپاسخ: داستان آدم و حوا و نوح علیهم السلام برای نخستین بار در کتاب تورات ذکر شد. بعدها در کتاب انجیل و قرآن نیز به شکلی تقریبا مشابه این داستان ذکر شد و لذا این دو از اتفاقات و رویدادهای دورانهای بسیار دور تلقی می شود. اطلاعات ما از حوادث و دورانهای گذشته ، عمدتا بر اساس کتب قدیمی یا بر پایه اثار بازمانده از تمدنهای قدیمی است. ما بر اساس مطالعه اهرام مصر می فهیم که انها از دانش بسیار زیادی در معماری و علم نجوم برخوردار بوده اند و این دانش را هیچ صاحب عقلی نقض نمی کند. داستان انبیا را نیز ما رد نمی کنیم. شما اگر به خدای بزرگ ایمان داشته باشید، در قدم بعد به روز معاد ایمان خواهید آورد و در قدم بعد به سخنان انبیاء و کتب آسمانی ایمان خواهی آورد. اگر کسی حضرت موسی را قبول داشته باشد و به او ایمان بیاورد داستان نوح و آدم را نیز می پذیرد و کسی که ایمان نداشته باشد به هیچ سخنی ایمان نمی آورد. اگر می خواهی این داستانها را باور کنی و به وجود این مردان بزرگ و تاریخی ایمان بیاوری اول به خدا ایمان بیاور و سپس خودبخود بقیه مسایل حل می شود.\nشواهد ما برای حضرت آدم و نوح شواهد نقلی است و نه شواهد تجربی و ما الان نمی توانیم دو نفر را جلوی شما آشکار کنیم که شما آنها را دستتان لمس کنید و با آنها سخن بگویید تا قبول کنید آنها واقعا وجود داشته اند. به علاوه کسی که ایمان ندارد حتی اگر با چجشمان خود ببیند، با گوشهای خود بشنود و با دستهای خود نیز لمس کند نیز ایمان نمی آورد بلکه می گو.ید من سحر زده شده ام، تو جادوگری، اینها همگی سحر و شعبده است و ...\nو اگه بهتون بر نخوره شما تا حدودی با این قضیه با تعصب مسلمان بودنتون برخورد میکنید.بله دنیای ما دارایه نظمه ،خارق العاده هم هست ولی دلیل بر وجود خدا نمیشه.شما قبلا گفتید با تمام سلولهای بدنتون خدا رو احساس میکنید.ولی احساس تجربه خودآگاه ذهنی هیجان تعریف شده .پس نمیتونه واقعی باشه.از شما خواهشمندم جواب سوالمو که تاکید کردم بدید.\nجواب: هدف ما در این وبلاگ این است که اثبات کنیم ماجرای فرگشت به شکلی که ادعا می شود نیست و این پدیده از قدرت محدودی برخوردار است و هرگزقادر به ایجاد این تحول و تطور عظیم در موجدات جهان نبوده و نخواهد بود. اگر این را شما قبول کنید حال این سوال مطرح می شود که اگر دنیا زاییده فرگشت نیست پس چه چیزی جهان را به وجود آورده، چه عقلی در پشت پرده این تحولات فوق العاده قرار دارد و سوالات دیگر. ما این را خدا می دانیم و به آن ایمان داریم. ایمان ما به خدا ایمانی از سر هیجان و شور و جذبه و خلسه کاذب نیست بلکه با استدلال و دقت زیاد به او رسیده ایم و او را انتخاب کرده ایم . به علاوه در این جهان خیلی ها ادعا می کنند به خدا اعتقاد دارند ولی ما باز هم به سیر خود ادامه داده و خدایان مختلفی را آزموده ایم تا به خدایی رسیده ایم که در فهم ما نیز نمی گنجد . او آنقدر بزرگ است که هنوز بشر نمی تواند مخلوقات او را اندازه گیری کند و همین خدا همیشه و حتی در زمان خواب آنقدر به ما نزدیک است که هم نشین ما می شود ، ما را حفظ می کند ، در گوش ما زمزمه می کند ، گناهان ما را می بخشد ، امیدهای ما را برآورده می سازد ، ظن و شک ما را به یقین تبدیل می کند ، ترس و اندوه ما را به امن و آسایش تبدیل می کند، فقر ما را با غنایش محو می کند و جهلمان را به علمش بر طرف می کند. او را نه خواب در بر می گیرد و نه خسته می شود، در بخشش عجول است و در عقاب صبور و حلیم، او همیشه در همین نزدیکیهاست و و هزار صفت پاک دیگر ...ما او را از میان هزاران خدا انتخاب کرده و با همه بیست هزار میلیارد سلول بدنمان به او ایمان آورده ایم و به او یقین داریم و امورمان را به او تفویض کرده ایم و بر او توکل کرده ایم و در آغوشش آرامش یافته ایم. اشکال این کار چیست؟آیا از این حس واقعی تر و از این خدا بزرگتر سراغ دارد؟ بفرمایید\n#خدا #فرگشت_evolution #نسبت_علم_و_دین\nسلام آقای میر افضلی شما بجای اینکه در این وبلاگ و برای عوام ثابت کنید که فرگشت نمیتونه چنین گوناگونی ای در جانداران به وجود بیاره و موضوع چیز دیگه ای هست ،مدارک و شواهدتون رو در قالب مقاله جمع آوری کنید و برای ژورنال های معتبر بین المللی ارسال کنید تا دانشمندان جهان رو متقاعد کنید و جایزه نوبل زیست شناسی رو ازآن خودتون کنید ،اگر میگید خارجیا کافر هستن و اظهارات منو قبول نمیکنن و من در جبهه حق تنها میمونم بیاید یه جلسه با زیست شناس ها و پزشک های برجسته داخلی که مسلمون هم هستن بذارید و موضوع رو بهشون اعلام کنید و متقاعدشون کنید ،همون طور که میدونیم مبحث فرگشت در منابع علمی ایران کاملا تایید شده هست شما بیاید این اشتباه ننگین رو اصلاح کنید ،ساختن این جور وبلاگ ها و تبادل با عوام هیچ سودی از لحاظ عملیاتی نداره ،نهایتا میتونید هزار نفرو هم فکر کنید در حالی که اگه در کتاب ها حرف شما هک بشه شما میلیون ها نفرو نجات دادید ،پس کاملا صحبت های من عقلانیه ، ولی اگه بگید هیچ کس تو جهان حرف منو نمیفهمه با عرض معذرت لطف کنید بفرمایید تیمارستان اونجا قطعا روان پزشکا شما رو میفهمن\n"بله دنیای ما دارایه نظمه ،خارق العاده هم هست ولی دلیل بر وجود خدا نمیشه"!!!!!!!!!پس دلیل بر چی میشه اونوقت؟؟؟؟؟؟؟؟مفاهیم فلسفی برات قانع کننده نیست؟؟؟پس دیگه دنبال چی میگردی وقتی منطق ارضائت نمیکنه؟؟؟؟؟ جهان را بلندی و پستی تویی ندانم چه ای هر چه هستی تویی (حکیم ابوالقاسم فردوسی)\nبا سلام جناب دکتر بنده هم خواستم اینجا وبلاگی رو و معرفی کنیم که در این زمینه فعالیت خوبی دارند وبلاگ خدا و علم نویسنده آقای فخاری Www.theism.persianblog.ir همچنین فعالیتهای سایت و صفحه (رد شبهات ملحدین) بخصوص در (google plus) و سایت فیلم آپارات و همچنین دیگر بزرگواران واقعا قابل ستایش و تقدیر هست\nسلام اقای دکتر و خسته نباشید ممنون میشم این جمله خودتون را کمی بازتر کنید چون تازه فهمیدم منبع ادعای بعضی دوستان در صفحات مجازی مبنی بر اعتقاد به قسمتی از نظریه فرگشت و محدود بودن آن از اعتقاد شما اومده و تبریک میگم بابت این همه تاثیرتون: و این پدیده از قدرت محدودی برخوردار است و هرگزقادر به ایجاد این تحول و تطور عظیم در موجدات جهان نبوده و نخواهد بود. این پدیده که منظورتون فرگشت هست و به نظرتون محدود هست به نظرتون چقدر میتونه تاثیر بزاره و تا چه حد میتونه پیش بره؟ سوال دومم هم درباره سوال دوستمون مبنی بر اینکه نظریه فرگشت درباره شروع حیات صحبتی نمیکنه و جواب شماست که این را به جرزنی متهم کرده اید. واقعا متوجه نمیشم وقتی در کتاب داروین نیز چنین ادعایی نشده و حتی شاید در اینده نزدیک هم نشه جواب علمی براش در نظر گرفت چرا اینقدر اصرار دارید اون را وصل کنید به شاکله کلی داروین و یه جورایی بخواهید کل اون نظریه را خطا جلوه بدید متشکر\nدوست گرامی اقای میر افضلی گرامی از نظر مبانی معفت شناسی برای هرگونه قضااوت در مورد محتوای اگاهی بشر اعم از دینی یا غیر دینی ، الحاد و... بایستی ابتدا اعتبار و مناشا ای اگاهی را مورد تدقیق قرار داد. و بدون توصل به تفسیر به رای و افتادن در دام رجعت به گذشته و به جای انسان های 2000 سال پیش اندیشیدن بایستی به ادعا های خود مذاهب هم توجه کرد مثلا جهن شناسی قران را را دقت کنید کل این جهان شناسی بر مبنای هیات بطلمیوسی است که در ان جهان یک صفحه مسطح است و در مرکز عالم قرار ارد. که این ایده الان بطلانش اظهر من الشمس است. هرگونه تحلیل بدن توجه بر تطور تاریخی ان راه به حقیقت نمی برد\nدکترجان یه بحث تاریخی و علمی نیاز دارید نه اینکه مرتب از احساستان صحبت کنید! بین علم و دین شکاف پرنشدنی است که برخی از روشنفکران ساده لوح مثل مهدی بازرگان و یدالله سحابی و... خواستند این شکاف را پر کنند و سرشان به سنگ خورد.. خواهش دارم کمی به بحث اندیشه از زاویه تاریخی توجه کنید و علم و روش علمی را با عواطف و ایمان خلط نفرمایید. شمار ارجاع می دهم به مقاله ای از گاستون باشلاد فیلسوف علم اهل فرانسه با عنوان روانکاوی خرد عینی که در کتابی با ترجمه جلال ستار نشر دفتر پژوهش های فرهنگی" که در ان به موانع معرفت شناختی که از جمله شناخت های اوله و شهودهای گول زننده و... اشاره دارد و در اینجا فرصت پرداختن به ان نیست.


تحریم های آمریکا اینبار کاسترو را هدف قرار داد | صدای مردم\nدولت آمریکا رائول کاسترو رییس جمهوری سابق کوبا و فرزندانش را با ادعای نقض حقوق بشر و حمایت از دولت ونزوئلا تحریم کرد.\nتارنمای روزنامه واشنگتن اگزمینر با اعلام این خبر افزود که دونالد ترامپ رییس جمهوری آمریکا مانع ورود کاسترو رهبر کوبا و فرزندانش به آمریکا شده است.\nمایک پمپئو وزیر امور خارجه آمریکا دیشب در بیانیه ای گفت، کاسترو در تضعیف دموکراسی در ونزوئلا مشارکت دارد و موجب فرار ۱۵ درصد جمعیت ونزوئلا از این کشور شده است.\nوی همچنین مدعی شد که حمایت کاسترو کمبود غذا و بحران بهداشت را به میزان بی سابقه ای در این منطقه تسریع بخشیده است.\nادعای وزیر امور خارجه آمریکا در حالی مطرح می شود که مشکلات اقتصادی ونزوئلا به دنبال تشدید تحریم های آمریکا چند ماه است این کشور را به سوی بحران سیاسی کشانده است. بحران اقتصادی در این کشور باعث کمبود مواد غذایی و دارو، قطعی برق و سیل عظیمی از مهاجرت شده است.\nرائول کاسترو رهبر فعلی حزب کمونیست کوبا روابط نزدیکی با کشور ونزوئلا دارد و از نیکلاس مادورو رییس جمهوری قانونی این کشور حمایت می کند. ونزوئلا و کوبا دو دولت چپ گرا و انقلابی در آمریکای لاتین بر تحکیم اتحاد دو جانبه در برابر فشارهای آمریکا تاکید دارند.\nدولت دونالد ترامپ رییس جمهوری آمریکا از آغاز دوران کاری شدیدترین فشارها و تدابیر سختگیرانه را علیه این دو کشور چپ گرای آمریکای لاتین اعمال کرده و این در حالیست که مقامات کاراکاس و هاوانا بارها بر بی نتیجه بودن این سیاست های خصمانه واشنگتن تاکید کردند.\nهمچنین وزارت خزانه داری آمریکا در ادامه سیاست تحریمی و اعمال فشار روز سه شنبه با صدور بیانیه ای از تصویب تحریم های جدید علیه ونزوئلا خبر داد.\nسازمان ملل: ۲۰ هزار مزدور خارجی در لیبی حضور دارد\nبه مناسبت ۹۰سالگی فیدل کاسترو


اتحادیه مرکزی شرکت های تعاونی تولید روستایی کشور - محمدرضا رزاقی مدیرعامل اتحادیه مرکزی شرکتهای تعاونی تولید روستایی ایران: این اتحادیه با بیش از ۱۵۰۰ شرکت تعاونی عضو، ۵۰۰هزار بهره بردارو ۱۰ هزار شاغل مستقیم در بخش متولی تولید یک سوم محصولات کشاورزی در سطح کشور می باشد.\nتاریخ انتشار: 26 شهریور 1399 - 12:35\nمحمدرضا رزاقی مدیرعامل اتحادیه مرکزی شرکتهای تعاونی تولید روستایی ایران: این اتحادیه با بیش از ۱۵۰۰ شرکت تعاونی عضو، ۵۰۰هزار بهره بردارو ۱۰ هزار شاغل مستقیم در بخش متولی تولید یک سوم محصولات کشاورزی در سطح کشور می باشد.\nمدیرعامل اتحادیه مرکزی شرکتهای تعاونی تولید روستایی ایران در نشست مطبوعاتی اعلام داشت: این اتحادیه در سال ۴۹ تاسیس شده و در ۵۰ سال گذشته تا کنون در سطح کشور بیش از ۱۵۰۰ تعاونی عضو دارد و هم اکنون ۳۳۰ تعاونی آبهای مرزی هم قرار است به زیر مجموعه این اتحادیه افزوده شوند.\nوی گفت: هم اکنون ۱۰ هزار نفر در این شبکه تعاونی ها شاغل هستند که به بیش از ۵۰۰ هزار بهره بردار عضو اتحادیه خدمات ارائه می دهند، در سطح کشور پروژه هایی را بصورت مشترک با بخش های مختلف اجرامی کنیم.\nرزاقی افزود: در حوزه اتحادیه سراسری برنامه ها در قالب ۴ محور فنی – مهندسی، پایداری و توسعه، مالی و بازرگانی اجرایی می شوند. در بخش فنی و مهندسی به منظور احیای تعادل بخشی آب اقدام به تاسیس شرکت آب و خاک نموده ایم که پروژه های در این زمینه را با همکاری معاونت آب و خاک وزارت جهاد کشاورزی پیگیری و اجرایی می کنند.\nوی یکی دیگر از قدامات بخش فنی و مهندسی را تولید بذر سیب زمینی عنوان داشت و گفت: این اتحادیه اقدام به تولید بیش از هزار تن بذر سیب زمینی و توزیع آن در استانهای فارس، اصفهان و اردبیل نموده که در یک برنامه ۴ ساله توسعه ای این میزان رشد خواهد نمود.\nاین فعال بخش تصریح کرد: در این راستا ما اقداماتی را با شرکت های فرآوری و صادراتی منعقد می کنیم و بعد از آن با تعاونی های تحت پوشش خود وارد مذاکره می شویم تا محصولات مورد نیاز را تولید کنند.\nوی تصریح کرد: در چند استان طرح سیماب اجرایی شده است که بعنوان مثال استان کرمان از شاخص های اجرای این طرح است. یکی از اهدافی که در شهرستانها به دنبال آن هستیم بجای یکپارچه سازی اراضی، مدیریت یکپارچه روی مزارع انجام دهیم که با این کار راندمان زمین های کشاورزی را افزایش می دهیم.\nمدیرعامل اتحادیه سراسری تعاونی های تولیدی گفت: به دنبال اجرایی کردن زنجیره ها در بخش کشاورزی هستیم و هم اکنون طرح زینجیره سیب زمینی را آماده کرده ایم که بای به مراجع و سازمانهای ذیربط ارائه دهیم.\nوی با اشاره به اینکه هوشمند سازی بخش کشاورزی اتفاق خوبی است ، گفت: یکی از پیش زمینه های اصلی اجرای طرح الگوی کشت نیز بحث هوشمند سازی است که فکر می کنم بطور رسمی از ابتدای سال آینده اجرای این طرح هوشمند سازی نهایی شود.