PDA

View Full Version : حرفه ای: ذخیره یک مقدار در فایل برنامه



AbbasVB
شنبه 19 اسفند 1391, 20:43 عصر
سلام دوستان
من یه برنامه دارم که می خوام یه مقدار رشته ای رو به صورت باینری داخل خودش ذخیره کنه و بعد بخونه
ولی نمی دونم چه جوری باید این کار رو بکنم
کسی می تونه کمک کنه؟

سپهر-111
شنبه 19 اسفند 1391, 21:18 عصر
سلام دوستان
من یه برنامه دارم که می خوام یه مقدار رشته ای رو به صورت باینری داخل خودش ذخیره کنه و بعد بخونه
ولی نمی دونم چه جوری باید این کار رو بکنم
کسی می تونه کمک کنه؟


درود بر شما


Open App.path & "\ETC.bin" For Random Access Write As #1 Len = 300
Put #1, 1, str
Close #1


Open App.path & "\ETC. bin " For Random Access Read As #1 Len = 300
Get #1, 1 + str
Close #1

سپهر-111
شنبه 19 اسفند 1391, 21:28 عصر
اینجا (http://barnamenevis.org/showthread.php?384191-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%A7%D8%B1%D8%A7%DB%8C%D9%87-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D9%86-%D8%AF%D8%B1-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D8%A8%D8%B9%D8%AF%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&highlight=%D8%B0%D8%AE%DB%8C%D8%B1%D9%87+%DB%8C%DA %A9+%D8%B1%D8%B4%D8%AA%D9%87)رو هم نگاه کن!

AbbasVB
شنبه 19 اسفند 1391, 21:40 عصر
ممنون
ولی مثل این که شما منظور من رو درست متوجه نشدید
من می خوام برنامه خودش داخل فایل خودش بنویسه
این کار به صورت عادی امکان پذیر نیست
باید یه روش دیگه براش به کاربرد

سپهر-111
شنبه 19 اسفند 1391, 21:56 عصر
ممنون
ولی مثل این که شما منظور من رو درست متوجه نشدید
من می خوام برنامه خودش داخل فایل خودش بنویسه
این کار به صورت عادی امکان پذیر نیست
باید یه روش دیگه براش به کاربرد

همون طور که خودتون گفتید همچین چیزی امکان نداره ، اگر بشه (فکر کنم باید توی ریسورس انجامش بدی)به دردسرش نمیارزه

m2011kh
شنبه 19 اسفند 1391, 22:27 عصر
نه آقا سپهر الان حضور ذهن ندارم ولی با ریسورس همچین سخت نیست.

MMD

AbbasVB
شنبه 19 اسفند 1391, 22:33 عصر
اگر بشه (فکر کنم باید توی ریسورس انجامش بدی)به دردسرش نمیارزه
منظورتون چیه؟

m2011kh
شنبه 19 اسفند 1391, 22:37 عصر
عباس آقا برید تو گوگل و ریسورس در ویبی 6 رو سرچ کنید به نتایج خوبی میرسید

AbbasVB
شنبه 19 اسفند 1391, 22:43 عصر
این روش مناسب نیست
چون اگه ریسورس رو توسط یه برنامه ای پاک کنند اون مقدار هم از بین میره من می خوام یه جایی داخل خود برنامه باشه

m2011kh
شنبه 19 اسفند 1391, 22:50 عصر
عباس وقتی پروژه رو کامپایل کنی دیگه به فایل ریسورس نیازی نیست همراه با EXE کامپایل میشه

SlowCode
شنبه 19 اسفند 1391, 23:29 عصر
سلام
یه روشی الان به ذهنم رسید، تست کردم جواب داد.
برنامت رو به صورت باینری باز کن، بعد به تعداد کاراکترهای جمله ات خانه هایی رو به آرایت اضافه کن.
حالا کد اسکی هر کاراکتر رو تو یه خانه از آرایه بریز، وقتی هم هر وقت هم خواستی جمله رو بخونی دوباره فایل رو باینری باز میکنی به اندازه متنت از آخر آرایه میخونی و کد اسکی رو به کاراکتر تبدیل میکنی و نشون میدی.

عباس جان وقتی پروژه رو کامپایل کنی دیگه به فایل ریسورس نیازی نیست همراه با EXE کامپایل میشه
فکر کنم منظور ایشون برنامه هایی مثل ResHack هست و میخوان اطلاعات رو ازش مخفی کنن یا غیرقابل ویرایش کنن.

m2011kh
یک شنبه 20 اسفند 1391, 00:07 صبح
سلام.
روش جالبی به نظر میرسه.

امتحان میکنم

شبتون خوش

MMD

AbbasVB
یک شنبه 20 اسفند 1391, 08:47 صبح
سلام
یه روشی الان به ذهنم رسید، تست کردم جواب داد.
برنامت رو به صورت باینری باز کن، بعد به تعداد کاراکترهای جمله ات خانه هایی رو به آرایت اضافه کن.
حالا کد اسکی هر کاراکتر رو تو یه خانه از آرایه بریز، وقتی هم هر وقت هم خواستی جمله رو بخونی دوباره فایل رو باینری باز میکنی به اندازه متنت از آخر آرایه میخونی و کد اسکی رو به کاراکتر تبدیل میکنی و نشون میدی.
سلام
ممنون اگه میشه بیشتر توضیج بدید


برنامت رو به صورت باینری باز کن، بعد به تعداد کاراکترهای جمله ات خانه هایی رو به آرایت اضافه کن.
مشکل این جاست که برنامه باز میشه ولی نمیشه داخل یزی نوشت یا تغییرش داد

program2vb
یک شنبه 20 اسفند 1391, 10:11 صبح
سلام به همگی دوستان گلم ....

ببینید آیا منظورتون این هست ؟

موفق و پیروز باشید در پناه خدا یا علی ...............

mehran901
یک شنبه 20 اسفند 1391, 23:21 عصر
سلام دوستان
من یه برنامه دارم که می خوام یه مقدار رشته ای رو به صورت باینری داخل خودش ذخیره کنه و بعد بخونه
ولی نمی دونم چه جوری باید این کار رو بکنم
کسی می تونه کمک کنه؟

توی خودش تا وفتی در حال اجراست که نمیشه ریخت ... شما می تونید با استفاده از ی اگزه واسط اطلاعاتی که قصد دارین داخل خود برنامه ثبت بشه ، رو بگیرین و بعد از بسته شدن برنامه اصلی اگزه واسط روش بنویسه! این میشه ... بعد که برنامه لود شد اطلاعات رو از آخرش بخونه و بهت نشون بده

مثل تروجان میکر ها .... اینجوری سادست

SlowCode
دوشنبه 21 اسفند 1391, 08:21 صبح
در تکمیل حرف آقا مهران عرض کنم.
یه برنامه کوچیک بنویس کهبا tskill برنامه اصلی رو ببنده بعد تغییرات رو روش برنامه اصلی که کنارش اعمال کنه بعد هم اگه خواستی اجراش کن.
حالا واسه اینکه بتونی چندبار متن بنویسی دو تا راه حل به ذهنم میرسه. چون الان اگه یه متن 10 کاراکتری بنویسی بعد دوباره یه متن 5 کاراکتری بنویسی موقع خوندن متن 5 کاراکتر باقی مانده از رشته قبلی هم خونده میشه!
1- اگه فایلی که میخوای متن رو روش بنویسی ثابته، آخرین بایتشو پیدا کن ببین چندمه؟ مثلا 25000 شد، حالا میای تو برنامت از بایت 25000 تا آخر رو میخونی و نشون میدی. هنگام نوشتن هم از 25000 شروع کن به نوشتن و بایت های اضافی رو پاک کن.
2- اگه فایلت ثابت نیست، بیا یه نشانه بزار تو فایل، مثلا 3 تا بایت آخر رو 1و2و3 مقدار دهی کن، حالا هنگام خوندن میای این نشانه رو پیدا میکنی و بعد از اون هرچی بود رو نشون میدی. اگر هم خواستی دوباره بنویسی باز نشانه رو پیدا کن و بعد بنویس اگه اضافه موند پاکشون کن.

AbbasVB
چهارشنبه 23 اسفند 1391, 12:55 عصر
با سلام
هیج راه دیگه ای نیست که برنامه خودش داخل بنویسه؟
من می خوام از یک یرنامه تک برای این برنامه استفاده کنم


در تکمیل حرف آقا مهران عرض کنم.
یه برنامه کوچیک بنویس که با tskill برنامه اصلی رو ببنده بعد تغییرات رو روش برنامه اصلی که کنارش اعمال کنه بعد هم اگه خواستی اجراش کن.
حالا واسه اینکه بتونی چند بار متن بنویسی دو تا راه حل به ذهنم میرسه. چون الان اگه یه متن 10 کاراکتری بنویسی بعد دوباره یه متن 5 کاراکتری بنویسی موقع خوندن متن 5 کاراکتر باقی مانده از رشته قبلی هم خونده میشه!
1- اگه فایلی که میخوای متن رو روش بنویسی ثابته، آخرین بایتشو پیدا کن ببین چندمه؟ مثلا 25000 شد، حالا میای تو برنامت از بایت 25000 تا آخر رو میخونی و نشون میدی. هنگام نوشتن هم از 25000 شروع کن به نوشتن و بایت های اضافی رو پاک کن.
2- اگه فایلت ثابت نیست، بیا یه نشانه بزار تو فایل، مثلا 3 تا بایت آخر رو 1و2و3 مقدار دهی کن، حالا هنگام خوندن میای این نشانه رو پیدا میکنی و بعد از اون هرچی بود رو نشون میدی. اگر هم خواستی دوباره بنویسی باز نشانه رو پیدا کن و بعد بنویس اگه اضافه موند پاکشون کن.
اگه لطف کنید یه نمونه بذارید ممنون می شم
خودم یه کد در این رابطه دارم ولی کار نمی کنه

SlowCode
چهارشنبه 23 اسفند 1391, 13:28 عصر
سلام

هیج راه دیگه ای نیست که برنامه خودش داخل بنویسه؟
من می خوام از یک یرنامه تک برای این برنامه استفاده کنم
چرا نمیشه؟
معلومه به عمق بحث باینری دقت نکردی:لبخند:
کافیه این دو تا برنامه رو بنویسی بعد میای برنامه ای رو که وظیفش نوشتن هست رو میخونی و به آخر فایل اصلیت اضافه میکنی. حالا وقتی میخوای متنی رو به برنامت اضافه کنی باید اول بایت های اون برنامه رو بخونی و تو یه فایل بنویسی بعد اونو اجرا کنی.:لبخند:
میتونی برنامه دومی رو تو ریسورس برنامه اصلی بزاری و موقع نوشتن استخراجش کنی بعد اجرا و ...


اگه لطف کنید یه نمونه بذارید ممنون می شم
شرمنده وی بی ندارم وگرنه میذاشتم.
دیگه ویندوز رو انداختیم دور

program2vb
چهارشنبه 23 اسفند 1391, 19:53 عصر
سلام

چرا نمیشه؟
معلومه به عمق بحث باینری دقت نکردی:لبخند:
کافیه این دو تا برنامه رو بنویسی بعد میای برنامه ای رو که وظیفش نوشتن هست رو میخونی و به آخر فایل اصلیت اضافه میکنی. حالا وقتی میخوای متنی رو به برنامت اضافه کنی باید اول بایت های اون برنامه رو بخونی و تو یه فایل بنویسی بعد اونو اجرا کنی.:لبخند:
میتونی برنامه دومی رو تو ریسورس برنامه اصلی بزاری و موقع نوشتن استخراجش کنی بعد اجرا و ...


شرمنده وی بی ندارم وگرنه میذاشتم.
دیگه ویندوز رو انداختیم دور


پس محسن داداش بالاخره رفتی سراغ لینوکس .......... آفرین ..... برو منم دارم میام ..... :D

تو لینوکس هم وی بی هست هاااا بگردی پیدا میکنی ؟

یاعلی

m2011kh
چهارشنبه 23 اسفند 1391, 22:43 عصر
ما هم هی میخوایم به لینوکس کوچ کنیم ولی نمیشه واقعا سخته.به ویندوز عادت کردیم.

MMD

SlowCode
چهارشنبه 23 اسفند 1391, 23:12 عصر
تو لینوکس هم وی بی هست هاااا بگردی پیدا میکنی ؟
یه شبه وی بی هست ولی سیتنکسش با این وی بی فرق داره! باید بشینی یادش بگیری که ارزششو نداره.

ما هم هی میخوایم به لینوکس کوچ کنیم ولی نمیشه واقعا سخته.به ویندوز عادت کردیم.

MMD
از بحث خارج شدیم دوستان:گیج:
ولی به نظرم زیاد هم سخت نیست! یکم سخته. الان چند وقته کیوت (QT) رو شروع کردم که خیلی شیرین و جذابه!
من وقتی تو ویندوز میبینم چه برنامه هایی میخوان به اینترنت وصل بشن و اینکه نمیدونم چیکار میخوان بکنن میترسم:لبخند: حالا پروسس های خود ویندوز که هیچی rundll32 و ...
حالا این بحث رو ببندیم:لبخند:

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

program2vb
پنج شنبه 24 اسفند 1391, 10:52 صبح
با سلام
هیج راه دیگه ای نیست که برنامه خودش داخل بنویسه؟
من می خوام از یک یرنامه تک برای این برنامه استفاده کنم


اگه لطف کنید یه نمونه بذارید ممنون می شم
خودم یه کد در این رابطه دارم ولی کار نمی کنه


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

موفق و پیروز باشی در پناه خدا ...... یاعلی

AbbasVB
پنج شنبه 24 اسفند 1391, 12:03 عصر
سلام دوستان


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

موفق و پیروز باشی در پناه خدا ...... یاعلی
ممنون دوست عزیز
ولی منظور من این نبود


کد زیر رو آماده کردم

فکر کنم به غیر از این راه چاره دیگری نباشد


101414