فهرست مطالب:

برنامه نویسی در VB6: نکات و ترفندها: 3 مرحله
برنامه نویسی در VB6: نکات و ترفندها: 3 مرحله

تصویری: برنامه نویسی در VB6: نکات و ترفندها: 3 مرحله

تصویری: برنامه نویسی در VB6: نکات و ترفندها: 3 مرحله
تصویری: برنامه نویسی - از کجا باید شروع کنم؟ 2024, نوامبر
Anonim
برنامه نویسی در VB6: نکات و ترفندها
برنامه نویسی در VB6: نکات و ترفندها

من در اوقات فراغت خود برنامه نویسی می کنم و یک برنامه نویس بسیار ماهر در استفاده از VB6 هستم. این آسان است و من هنوز چیزی را که برای انجام آن نیاز دارم پیدا می کنم که نمی تواند انجام دهد ، اگرچه گاهی اوقات انجام وظیفه شما دشوار است. در طول راه من بسیاری از چیزهای آزار دهنده را پیدا کردم ، عمدتا به این ترتیب که برخی از موارد را شمارش می کند. بنابراین در اینجا مجموعه ای از مواردی است که در طول راه آموخته ام. اگر مشکلی دارید نظر بدهید و من سعی می کنم در مراحل بیشتر به شما کمک کنم.

مرحله 1: رشته ها

رشته های
رشته های

روشی که VB با رشته ها انجام می دهد گاهی گیج کننده است. texta = "abcdefg" نمادهایی را در هر دو طرف متن که می خواهید به عنوان یک رشته در نظر گرفته شوند ، قرار می دهد شروع رشته های صفر از 1textb = mid (texta، 2، 2) این باعث می شود متغیر textb = "bc" textb = mid (texta، 4، 4) متغیر textb = "defg" textb = وسط (texta، 4 ، 5) این باعث می شود متغیر textb = "defg" درست باشد اگر متنی که سعی می کنید انتخاب کنید طولانی تر است ، متن موجود به آخرین کاراکتر ختم می شود بسته به برنامه شما ، برای جلوگیری از خطاها باید تله هایی را قرار دهید. چنین تله ای است: textb = mid (texta، 4، 5) اگر len (textb) <5 سپس 'Len () طول یک رشته را <به معنای کمتر thenms می گرداند <text is very short "' یک جعبه پیام با stringexit sub 'این از زیر موردی که در آن هستید خارج می شود. کد را به پایان می رساند. اگر در یک تابع هستید ، باید تابع exit را درصورت تشخیص محل یک کاراکتر در یک رشته < / i> از ابزار (شروع ، Stri ng1، String2) texta = "abcdefg" textb =str (1، texta، "c") 'این حرف c را در رشته textatextb در حال حاضر برابر 3 می داند: یک نفر مزاحم است زیرا می خواهید "abcdefg" "defgabc" texta = "abcdefg" textb = وسط (texta، 4، 4) و وسط (texta، 1، 3) خیلی بد نبود اما اکنون اجازه دهید ابزارها را اضافه کنید () توابع < / b> اگر می خواهید یک رشته را در یک شخصیت پرده سازماندهی کنید ، اما آن نقطه یکسان نیست everytimetexta = "abcdefg" textb = "gfabdec" textc = وسط (texta ،str (1، texta، "c")، len (texta)) c ") + 1 زیرا instrument کاراکتر مورد نظر شما را محاسبه می کند ، بنابراین یک کاراکتر را به عقب برگردانید تا وسط () کاراکتری را که به دنبال آن هستید به عنوان اولین در stringtextc بدست آورد اکنون برابر با" cdefgab "textd = mid (textb ،str (1 ، textb ، "c") ، len (textb) --str (1 ، textb ، "c") + 1) و وسط (textb، 1 ،str (1 ، textb ، "c") - 1) textd now equa ls "cgfabde" اجازه می دهد تا یک کاراکتر را پیدا کنیم که در stringtexta = "abcdefg" textc = mid (texta ،str (1، texta، "h")، len (texta) --str (1، texta، "h" نیست.) + 1) & mid (texta، 1، instr (1، texta، "h") - 1) با خطا مواجه می شوید زیرا قسمت شروع Mid () نمی تواند = 0 باشد زیرا رشته ها از 1 شروع می شوند بنابراین باید از زمان اجرا اجتناب کنید خطا این یکی از راه های انجام آن است texttext = "abcdefg" ifstr (1، texta، "h") 0 thentextc = mid (texta، instr (1، texta، "h")، len (texta) --str (1، texta ، "h") + 1) & mid (texta، 1، instr (1، texta، "h") - 1) else 'only one other statement per if situmsmsbox "نمیتواند کاراکتر را در رشته پیدا کند" یک کادر پیام با stringend ifThis تقریباً همه چیزهایی را که باید در مورد رشته ها بدانید خلاصه می کند

مرحله 2: تبدیل کاراکترها

تبدیل کاراکترها
تبدیل کاراکترها

HEX: یکی که در اوایل این هفته پیدا کردم مربوط به تابع Hex است (تعداد) طول روی عدد اهمیتی ندارد. یک رشته در hexhex برمی گرداند (11111111) هنگام تبدیل یک کاراکتر ascii به hex شما dotexta یک رشته را برمی گرداند. = "a" hex (asc (texta)) "61" texta = "k" hex (asc (texta)) بر می گرداند "6B" رشته برای 2 کاراکتر بیشتر کاراکترهای ASCI 2 خواهد بود مگر اینکه مقدار آنها زیر 16 باشد سپس فقط 1 کاراکتر را برمی گرداند اگر می خواهید همه آنها 2 کاراکتر باشند به شرح زیر عمل کنید: textb = hex (asc (texta)) if len (textb) = 1 thentextb = "0" و textb 'که یک صفر است نه a oend capital اگر

مرحله 3: ویرایش فایل

ویرایش فایل
ویرایش فایل

برای باز کردن یک فایل شما نیاز به یک فایل رایگان و یک فایل filenamegfile دارید = FreeFile 'gfile در حال حاضر در دسترس freefilec = "c: / test.txt" است ، سپس 4 راه برای باز کردن یک فایل خروجی - فقط می توانید بنویسید و در صورت وجود فایل پاک می شود. بازگشت کالسکه و خط آخرین کاراکترها را پیوست کنید - فقط می توانید بنویسید. به فایل موجود اضافه خواهد شد. بازگشت کالسکه و آخرین خط ها بسیار دقیق. تنها موردی که در حال حاضر از آن استفاده می کنم. برای ساخت فایل های log و استفاده از آن ، ورودی جدید را به انتهای فایل اضافه می کند. برای فایل های log پیچیده تر ، کل فایل را در یک متغیر بارگذاری کرده و ورودی جدید را به ابتدای file.dim stro as string 'این ضروری است یا یک errorgfile وجود خواهد داشت = FreeFilec = "c: / test.txt" c را برای باینری به عنوان #gfile باز کنید' به یاد داشته باشید gfile یک numbertro = space $ (lof (gfile)) "هنگام باز کردن برای باینری باید بگویید که طول نوشتاری که می خواهید بگیرید چقدر است lof (gfile) طول gfile را باز می گرداند و فاصله $ () رشته ای از فاصله ها به طول عددی که وارد می کنید #gfile ، 1 ، stro 'از شماره فایل ، شروع بایت ، متغیر برای ذخیره آن در. و فقط طول متغیر را بارگذاری می کند پس از آن textopen c اصلی برای فایل باینری به عنوان #ffilekill cput #ffile، 1 ، stro 'اطلاعات قبلی را جایگزین می کند اگر فایل کوچکتر می شود ، ابتدا باید فایل را بکشید که حذف می شود و بسته می شود با عملکرد put متوجه شدم که اگر بخواهید یک کاراکتر مانند فایل #ffile ، 133 ، chr (1) بگذارید ، خطایی وجود دارد 'این کاراکتر را در byte 133 با کاراکتر 1 یا hex 0x01 جایگزین می کند وقتی این کار را با یک برنامه I انجام دادم باعث شد که در واقع شش ضلعی 0x08000100000001 اضافه شود که عجیب و غریب است. من این را با بارگیری فایل در یک متغیر و انجام رشته modsi = 133stro = mid (stro، 1، i - 1) & chr (1) & mid (stro، i + 1، len (stro) - i) و سپس قرار دادن آن را حل کردم #ffile، 1، strothis کاملاً کار کرد

توصیه شده: