moho_bp نوشته شده:در جواب pc-sinoheh
برای اجرای یک فایل EXE از داخل VB .
shell(بصورت استرینگ آدرس کامل فایل را بده)
برای Hiden کردن فایل.
Getattr(ابتدا نام فایل بصورت استرینگ,سپس عدد 34 را وارد کنید)
سلام دوست بسيار عزيز و گرامي
ورودتون رو به سايت سنترال کلوپ خوشامد ميگم و آرزو ميکنم لحظات خوشي رو در کنار ساير دوستان اين جمع صميمي داشته باشيد
از مطلبتون سپاسگزارم و اميدوارم شاهدمطالب خوب و ارزشمند شما در انجمن باشيم و مطالب جديد از شما بياموزيم
فقط دو سه نکته کوچک به نظر من رسيد که ممنون ميشم نظر شما رو هم در موردش بدونم
يکي در مورد مخفي کردن فايل که فکر ميکنم منظور شما نيز SetAttr بوده چراکه عملکرد دو تابع SetAttr , GetAttr بر اساس اختلاف نام آنها مشخصه.
دوم در مورد مقدار ثابتي است که فرموديد عدد 34 به عنوان پارامتر دوم رد بشه . عدد 34 در واقع مقداري جادويي نيست . در واقع جدول مقادير ثابت در ويژوال بيسيک 34 معادل زير خواهد بود
vbArchive = 32 , vbSystem = 2 که vbArchive | vbSystem = 34 خواهد بود . اولا نيازي به دادن خصلت آرشيوي به فايل نيست . اين خصلت زماني مورد استفاده قرار ميگيره که ميخواهيد روي محتويات يک فولدر پروسه اي انجام بديد (مثلا بک آپ گيري) و ميخواهيد به نحوي فايلهايي که پروسه اي روي آنها صورت گرفته علامت بزنيد اين در بچ نويسي که آرايه و. .. نداريم خيلي کمک کننده و لازم هست . در واقع صرفا به شکل يک چک مارک بهش نگاه کنيد که ميخواهيد پشت اسم يک فايل به هر دليلي در يک ليست تيک بزنيد و استفاده ديگه اي نداره . به نظر من نوشته
SetAttr "filename", vbHidden خيلي مفهوم تر از نوشتن SetAttr "filename", 2 هست
نکته سوم در مورد وارد کردن مقدار ثابت بصورت عدد بجاي constant name هاي اون هست که چندين مشکل ايجاد ميکنه. يکي نامشخص بودن و عملا غير ممکن کردن ديباگ . فرض کنيد کد شما فايل رو مخفي نکنه در اينصورت کي ميتونه خط کد اشتباه رو پيدا کنه ؟ کد بسيار نامفهومه . ثانيا ميکروسافت ثبات نامها رو گارانتي کرده ولي ثبات مقادير رو خير . بعنوان مثال کد شما ممکنه در vb6sp1 که کمپايل بشه يک عملکرد داشته باشه و با sp2 عملکردش تغيير کنه . البته معمولا اين اتفاق نميفته اما به نظر من شايد بهتر باشه کدمون رو مستعد چنين خطاهايي نکنيم و از قواعد طراح زبان برنامه نويسي و توصيه هاي اون پيروي کنيم تا کد ما در آينده هم با عملکرد تضمين شده و مشابه قبل کمپايل بشه و هم تبديل اون به زبانهاي ديگه در صورت لزوم راحت تر صورت بگيره .
نظر شخصي من اينه که اصولا کد خوب کدي است که فرد دوم با اولين نگاه 1. متوجه ساختار 2. متوجه الگوريتم 3. متوجه عملکرد کلي هر تابع بشه و در ديباگ عملکرد هر خط کد مفهوم و قابل تست شدن باشه . چنين برنامه اي از لحاظ حرفه اي بعنوان يک نرم افزار قابل انتشار و پشتيباني از طرف تيم توليد يا پشتيباني در نظر گرفته ميشه و به نظرم بهتره هميشه سعي کنيم در برنامه نويسي به team work فکر کنيم .
همونطور که گفتم اينها نظرات من هستند و خيلي دوست دارم نظر شما رو هم بدونم . البته اينو هم بگم که خيلي از موارد در کد نويسي نيز سليقه اي و يا عادتي هستند
منتظر پست هاي خوب شما و نظرات ارزشمند شما هستم
ارادتمند
نعيمي