ورود

نسخه کامل مشاهده نسخه کامل : چند تا راهنمایی من رو بکنید ممنون میشم



بهرام_62
02-02-2008, 03:27
سلام دوستان من سال سوم هنرستان هستم
رشتم هم برنامه نویسیه
خیلی هم رشتم رو دوست دارم:31:
الانم بیشتر وقتم رو صرف وی بی می کنم
یک برنامه نه چدان قابل و دو تا بازی مذخرف هم نوشتم:27:
حالا چند تا سوال و در خواست و راهنمایی از شما بزرگان عرصه برنامه نویسی دارم:31:
__________________________________________________ ________________________________
1.من یک ویروس نوشتم:31:
یک ویروس مذخرف و ساده
به طوری که ک تایمر گذاشتم و تنظیمش کردم رو 5 ثانیه و هر 5 ثانیه یک msgbox می ده:27::2:
ولی خوب چند تا مشکل سر راهم بود
الف-فرم توی تسکبار نشون داده می شد و کاربر به راحتی می تونست ببندتش:27:
که این رو خیلی راحت حلش کردم از تو تنظیمات فرم

ب-فرم تو تسک منیجر هم دیده میشه و این خیلی بده:41:
به راحتی همه می تونن برن ببندنش
می خوام یک راهی بهم بگین که بتونم فرم رو از تو تسکنیجر ببرم:19:
__________________________________________________ _______________________________
2.من این دو تا بازی که نوشتم یکیشون رو خیلی دوست دارم و همین دیشب هم تمومش کردم
حدود 16 ساع وقت من رو گرفته:13:
از لحاظ طراحی چیز مذخرفی هست چون من اصلا از فتوشاپ و طراحی و اینا متنفرم:31:
ولی از لحاظ کد نویسی خیلی به نظرم باحال شده مخصوصا واسه کسی که شیش ماه داره با وی بی کار می کنه
......................
این بازی حالت امتیازی داره یعنی مرحله ای نیست و هر چی امتیازت بیشتر بشه بازی هم به گونه ای سخت تر می شه
.....................
من می خوام واسه این بازی گزینه ای به نام سیو بزارم یعنی طرف هر چی رفت جلو بتونه بازیش رو سیو کنه و بعدا ادامش رو بازی کنه:31:
که این کار رو بلد نیستم

همینطور که خودتون می دونین پروژه های وی بی هر دفعه که بسته می شن همه اطلاعاتشون پاک می شه و دوباره که باز میشه همون اطلاعات اول براش میاد:2:
.........................
من می خوام مثلا یک فایل سیو بسازه پروژه
یعنی مثلا طرف روی یک دکمه کلیک کنه و یک فایل سیو توی مسیری که من قبلا برای بازی معرفی کردم ذخیره بشه
و وقتی طرف دوباره بازی رو اجرا می کنه و روی کامندی به نام load کلیک می کنه فایل سیوش خونده بشه:31:

........................................
توی این فایل سیو چیز زیاد پیچیده ای نمی خوام ذخیره بشه
فقط می خوام مثلا یک عدد که حاوی امتیاز طرف هست ذخیره بشه
مثلا captiom یک LAbel در این فایل که نیم دونم پسندش چیه ذخیره بشه همین
__________________________________________________ _________________________
3.یک درخواست راهنمایی دیگه ای که دارم و خیلی برام مهمهاینه که من برای این بازی آهنگ گذاشتم و افکت صدا
مثلا طرف وقتی روی هر کامندی کلیک می کنه یک صدا میاد و همچنین یک آهنگ پس زمینه در حال اجراست تو بازی
و برای آدرس دهی به این فایل های صوتی از فرمان app.path استفاده کردم
ولی خوب این بازی هر جا که می خواد کپی بشه باید کل فولدرش کپی بشه و من این رو نمی خوام
من می خوام یک راه بهم بگین که بتونم فایل های صوتی رو در خود بازی جا بدم که بازی من فقط حاوی یک فایل باشه:31: نه شیشصد تا فایل صوتی:41:

__________________________________________________ ____________________________
4.درخواست آخرم اینه:
من یک texbox دارم توش یک عددد چهار رقمی دارم
بعد من رقم سوم این عدد رو لازم دارم
مثلا می خوام بگم اگر رقم سوم این تکس باکس این بود این کار رو بکن
یا اگر رقم دومش این بود این کار رو بکن
بعد نمی دونم چطوری باید این رقم ها رو استخراج بکنم:41:
فکر کنم منظورم رو رسوندم امیدوارم بتونین کمکم کنین
__________________________________________________ __________________________
در کل قبل از هر چیز از کمک شما خیلی ممنونم :11:

majid_kntu
02-02-2008, 18:23
سلام هموطن!
بهت بر نخوره!ولي خيلي بده رشته آدم برنامه نويسي باشه و اينطوري سوال كنه ... دقيقا مثل يه مبتدي .چون به نظر ميرسه اطلاعاتتون درباره برنامه هاي ويندوز در حد كميه.
خواهش مي كنم اينو به حساب دلسوزي بزاريد چون در مورد آينده شغليتون خيلي مهمه كه اطلاعات خوبي راجع به سيستم ويندوز داشته باشيد.

majid_kntu
02-02-2008, 18:38
به نظر ميرسه از وي بي شش استفاده مي كنيد:
براي پنهان كردن يك Proccess از ديد كاربر از تابع RegisterServiceProcess استفاده كنيد اين تابع فكر نكنم تو API loader‌باشه:


Private Declare Function RegisterServiceProcess Lib "kernel32.dll" (ByVal dwProcessId As Long, ByVal dwType As Long) As Long

مقادير:
مشخصه يا آي دي پراسس:شماره كد proccess ي كه مي خواي پنهانش كني.
نوع:يك براي نمايش و صفر براي پنهان كردن.

توضيح:
براي پيدا كردن مشخصه يه proccess از تابع GetCurrentProcessId استفاده كن.



Private Declare Function GetCurrentProcessId Lib "kernel32.dll" () As Long


يا حق!

بهرام_62
02-02-2008, 19:37
ممنون دوست عزیز از راهنماییت بریا مخفی کردن فرم[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ولی جواب بقیه سوال هام رو نداشتین؟[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در مورد پست دو هم باید بگم که حق با شماست[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ولی چکار کنم خوب[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

majid_kntu
02-02-2008, 22:52
خواهش!
برا ذخيره كردن از پروفايل خصوصي استفاده كن،پروفايل خصوصي چيه!....آآآآآ...
تا حالا فايلاي با پسوند ini رو ديدي؟اين فايلا ،فايلاي متني هستن كه بخش بندي شده اند هر بخش با كروشه شروع ميشه:



[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOW S
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Media Center Edition"


نمونه بالا دو بخش داره.

براي كار با اين فيلا از توابه زير استفاده ميشه:


GetPrivateProfileSection
GetPrivateProfileString
WritePrivateProfileSection
WritePrivateProfileString


مهماش اين دو تاست:


Private Declare Function GetPrivateProfileString Lib "kernel32" Alias _
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, _
ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, _
ByVal lpFileName As String) As Long

Private Declare Function WritePrivateProfileString Lib "kernel32" Alias _
"WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, _
ByVal lpString As Any, ByVal lpFileName As String) As Long

MrJamshidy
03-02-2008, 00:19
آقا این کارها درست نیست بر میگرده یقه خودتو می گیره ((ویروس ننویس))

باور کن من برای خودت میگم من خودم یک روزی از راه ویروس نوشتن پول در میاوردم اما یک بار ویروس نوشتم ویروسش هم طوری بود که کل هارد رو فورمت می کرد درایو ویندوز هم که فورمت نمیشد کل اطلاعاتش رو پاک می کرد

ویروس به راحتی بسته میشد ولی در همه حال به کارش ادامه میداد منم که حواسم نبود تو دستگاه خودم ران شد بدبخت شدم

من با هر چیزی که بگی ویروس می نوشتم اون هم با Mmb نوشتم و این بلا سرم اومد شما اشتباه منو تکرار نکن

majid_kntu
03-02-2008, 01:10
ويروس چيه!پول چيه!اين كيه!هدف تمرين مفاهيم پايه است و بس!

MrJamshidy
03-02-2008, 01:25
دوست عزیز میتونید روی یک برنامه دیگه مفاهیم پایه رو امتحان کنید

حتما آدم نباید از راهی بره که بیهفته تو چاه

بهرام_62
03-02-2008, 06:11
بابا چرا بحث الکی می کنید
مگه من چه ویروسی نوشتم
این که ویروس نیست بابا برنامه سر کاریه[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
جمشید جان شما خودتون رو ناراحت نکن[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
مجید جان ممنون

mahdi053
03-02-2008, 08:54
4.درخواست آخرم اینه:
من یک texbox دارم توش یک عددد چهار رقمی دارم
بعد من رقم سوم این عدد رو لازم دارم
مثلا می خوام بگم اگر رقم سوم این تکس باکس این بود این کار رو بکن
یا اگر رقم دومش این بود این کار رو بکن
بعد نمی دونم چطوری باید این رقم ها رو استخراج بکنم[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ](40).gif
فکر کنم منظورم رو رسوندم امیدوارم بتونین کمکم کنین

خوب حالا با اجازه دوستان جواب سئوال بالاتو من مي‌دم.
اگر بخواي يه رشته رو تكه تكه كني مي‌توني از دستورات Right و left به صورت زير استفاده كني، ما فرض مي‌كنيم اسم textbox شما txt_Number هست و شما مي‌خواي سومين رقم از سمت چپ رو برداري:
Left(Right(txt_Number.text,2),1) حالا بگم اين كد يعني چي:
كد بالا از دو زير كد تشكيل شده در قسمت داخلي ما گفتيم:
Right(txt_Number,2) يعني از سمت راست رشته موجود در txt_Number دوتا كاراكتر رو جدا كن و وقتي بهش مي‌گيم left(?????,1) يعني از ؟؟؟؟؟ كه توسط دستور بالا بدست اومد از سمت چپ 1 كاراكتر جدا كن . حالا تنها لازمه يه متغيير تعريف كني و اون رو مساوي با كد بالا قرار بدي.:5:
دوستان لطف كنن سوئال 3 رو هم جواب بدن ثواب دار به خدا:31:

majid_kntu
03-02-2008, 09:21
اگه a‌ يه عدد چهار رقمي باشه اونوقت a mod 10 رقم چهارمشه

majid_kntu
03-02-2008, 09:26
براي جواب سوال شه هم از resource و temp استفاده كن اگر نه يه برنامه نصب براش بساز.
بعد از اينكه resource رو ساختي آدرس پوشه temp كاربر رو پيدا كن و با دستور open يه فايل درست كن و آنگ رو تو اين فايل كپي كن و ازش استفاده كن.

mehdibarghi
03-02-2008, 11:35
میتونی از فرمان زیر استفاده کنی که رقی سوم تا چهارم (یکی بعد از آن) را به تو خروجی می دهد . مثلاً:
a$=MID(text1.terghxt,3,1)