PDA

View Full Version : حرفه ای: String ها در VB6



IamOverlord
پنج شنبه 23 تیر 1390, 17:25 عصر
سلام دوستان،
چه طور در زبانی مثل VB6 رشته ها تقریبا نامحدود هستند بهتره بگم اندازه شون مشخص نیست؟ اما در کامپایلر ها قاعدتا به طول رشته نیاز هست، مثلا در ++C :

char mystring[10];
در کل رشته همون آرایه ای از کاراکتر هاست دیگه. ولی تو VB6 قضیه چیه؟

MP.C-Writer
شنبه 25 تیر 1390, 17:38 عصر
توی وی بی 6، اندازه رشته به اندازه چیزیه که میریزی توش. توی ++C هم همین طور هست. می تونی سرفایل string.h رو include کنی و اون وقت با دستور

string mystring;
یه رشته به طول نامشخص بگیری. ولی حالا اگه بخوای تو وی بی طول رشته رو مشخص کنی اینجوری میشه:

Dim mystring as string * 10
که یه رشته به طول 10 رو می گیره

IamOverlord
شنبه 25 تیر 1390, 18:45 عصر
خوب قضیه ی String ها با طول نامشخص چی هست؟ چگونه در حافظه تعریف می شوند ؟

MP.C-Writer
یک شنبه 26 تیر 1390, 11:15 صبح
همون طور که گفتم، طول این متغیرها نامشخص نیست. به اندازه طول رشته هستش. به این جدول یه نگاه بنداز شما
72537

مثل یه بادکنک می مونه که با افزایش باد، حجمش هم بیشتر میشه. تنها فرقش اینه که یه متغیر از نوع string منفجر نمیشه.

IamOverlord
یک شنبه 26 تیر 1390, 15:35 عصر
خوب اگه متغیر رشته ای رو به بادکنک تشبیه کنیم، وقتی ندونیم قراره کاربر چه قدر کاراکتر در این بریزه، ممکنه قبل از این که بادکنک بترکه، بادکنک های دیگه جلوشو بگیرن! برای حل این مشکل چه کار می کنن؟

MP.C-Writer
یک شنبه 26 تیر 1390, 17:01 عصر
راستش برای حل این مشکل نمی دونم چی کار می کنند. ولی حافظه کامپیوتر بیشتر از این حرف هاست که بادکنک ها بخوان شاخ تو شاخ بشن. من نزدیک 250 صفحه ورد رو توی متغیر رشته ای ریختم و در دم پرینتش کردم. ولی سی پی یو آخ نگفت. یه حساب سر انگشتی می کنیم:
250 صفحه هر صفحه تقریبا 25 خط، میشه 6250 خط. میانگین، هر خط تقریبا 100 کاراکتر. میشه 625000 کاراکتر. هر کاراکتر یه بایت پس میشه 625000 بایت = 625 کیلوبایت. یعنی 250 صفحه ورد. میشه 625 کیلوبایت که خیلی ناچیزه. البته در عمل از این هم کمتر در میاد. چون که ما حداکثر ها رو در نظر گرفتیم.

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