Scorpion
مدیر بازنشسته
ارسالها: 882
موضوعها: 44
تاریخ عضویت: خرداد ۱۳۸۵
تشکرها : 958
( 1525 تشکر در 501 ارسال )
|
RE: تولید EXE
در این پروژه یاد خواهید گرفت چطور یک Client و یک Server بسازین
خوب این قسمت یکی از مهمترین قسمتهاست و شما باید اینو حتما یاد بگیرین
تا اینجا خیلی از چیزهارو یاد گرفتیم که همه مربوط به Server میشدن حالا چطور باید یک Client بسازیم
Client برنامه ای است که شما اطلاعاتی از قبیل ایمیل ، گزینه های مربوطه مثل فرستادن پسورد و ... رو بهش میدین و سپس یه فایل با اون میسازین که اون فایلی که ساخته میشه در واقع همون سرور شماست با این تفاوت که تو Client ما ایمیل و تنظیمات رو بهش میدیم
مثلا Magicps رو در نظر بگیرین در اون باید شما آیدی خودتون رو بدین همچنین یک سری گزینه مثل فرستادن پسورد آیدی ، فرستادن IP و ... خوب وقتی شما یه فایل با اون میسازین در واقع اطلاعاتی رو که به برنامه دادین رو تو سرور جایگزین کردین مثلا تو پروژه قبلی که فرستادن میل بود ما میتونیم کاری کنیم که بشه آدرس ایمیل رو تو Client تعریف کنیم نه تو سرور
خوب حالا برای اینکه بهتر بفهمین یه Client و Sever ساده درست میکنیم به این صورت که تو Client ما یه متن رو بنویسیم و یه فایل اجرایی میسازیم و وقتی او فایل اجرا شد متنی که ما نوشتیم به صورت یک پیغام ظاهر بشه
خوب در ابتدا سرور ما باید آماده باشه ، برای این منظور ما یک فایل سرور درست میکنیم و این دستورات رو بهش میدیم :
Dim msg As String * 255
appt = App.Path & "\" & App.EXEName & ".exe”
Open appt For Binary As #100
Seek #100, 20490
Get #100, , msg
Close #100
Text1.Text = msg
MsgBox Text1.Text
خوب در اینجا ما ابتدا با دستور Open appt For Binary As #100 فایل سرورمونو باز میکنیم و با دستور Seek #100, 20490 به یک نقطه خالی از فایل سرور پرش میکنیم و سپس با دستور Get #100, , msg محتوایی رو که در آدرس 2049 فایل سرور وجود داره رو میخونیم و در متغیر msg ذخیره میکنیم و سپس با دستور Text1.Text = msg اونو داخل یک TextBox میریزیم و با دستور MsgBox Text1.Text اونو به صوت یک پیغام نشون میدیم توجه کنین که این دستورات باید تو Form Load نوشته بشه
پس از اینکه سرور رو ساختیم باید یه فایل EXE از برنامه سرورتون درست کنین و یه جایی ذخیره کنین سپس برین تو برنامه Client وارد منوی Add Ins سپس گزینه Add-in Manager... رو انتخاب کنین از پنجره باز شده برروی گزینه Resource Editor کلیک مضاعف کنین تا جلوی اون عبارت Loaded ظاهر بشه خوب حالا OK رو بزنید و وارد منوی Tools شوید وگزینه Resource Editor رو انتخاب کنید تا یک پنجره ظاهر بشه سپس از آیکونهای موجود در بالای پنجره گزینه Add Custom Resource رو انتخاب کنید سپس فایل سروری رو که قبلا ساختید رو پیدا کنید و اونو انتخاب کنید تا وارد این برنامه بشه ، یک پوشه به نام CUSTOM با یک فایل با نام 101 ساخته میشه که این فایل همون سرور شماست و ما اونو به برنامه ربط دادیم حالا اونو Save کنید این فایل با پسوند RES ذخیره میشه ، حالا دستورات زیر رو تو برنامه Client وارد کنید :
Dim files() As Byte
files = LoadResData(101, "CUSTOM”)
Open App.Path & "\" & "server.exe" For Binary As #1
Put #1, , files()
Close #1
Open App.Path & "\" & "server.exe" For Binary As #2
Seek #2, 20490
Put #2, , Text1.Text
Close #2
خوب در اینجا من اول نوشتم files = LoadResData(101, "CUSTOM”) دستور LoadResData سورس فایل مورد نظر مارو میخونههمینطور که قبلا دیدین اسم فایل من 101 واحع در پوشه ای به نام CUSTOM بود و من در اینجا همون اسم رو به تابع میدم در این صورت محتوای متغیر Files مساوی با فایل سرور من میشه توجه کنید که این متغیر حتما باید از نوع Byte تعریف بشه و جلوی اون حتما علامت () باید باشه
با دستور Open App.Path & "\" & "server.exe" For Binary As #1 من یک فایل با نام Server.exe در مسیر جاری برنامه درست میکنم سپس با دستور Put #1, , files() من محتویات متغیر Files رو که همون فایل سرور هست رو در فایل Server.exe میریزم و درواقع یه جور از فایل سرورم یه کپی گرفتم حالا فایلمو میبندم و دوباره باز میکنم و با دستور Seek #2, 20490 به نقطه ای از فایل که خالیه (انتهای فایل) پرش میکنم و با دستور Put #2, , Text1.Text محتوای TextBox رو در انتهای فایل اضافه میکنم اگر دقت کرده باشید شماره فیلدی که من تو فایل سرور داده بودم عدد 20490 بود پس اینجا حتما باید همون عدد رو بدم وب حالا فایل رو با دستور Close #2 میبندم برنامه ما آمادست از برنامه Client یه فایل Exe بسازین و اونو اجرا کنین سپس تو TextBox یه متن بنویسین و سپس CreatServer رو بزنید یک فایل EXE به نام Server.exe ساخته میشه اونو اجرا کنید همون متنی رو که تو TextBox نوشتین به صورت یک پیغام ظاهر میشه
گر نیک و بد نزد خدا یکسان بدی در ابتلا --با جبرئیل ماه رو ابلیس هم سیماستی
|
|
۲۹-تير-۱۳۸۷, ۰۰:۳۵:۰۵ |
|
تشکر شده توسط : |
behzady |