תוכן עניינים:

תכנות ב- VB6: טיפים וטריקים: 3 שלבים
תכנות ב- VB6: טיפים וטריקים: 3 שלבים

וִידֵאוֹ: תכנות ב- VB6: טיפים וטריקים: 3 שלבים

וִידֵאוֹ: תכנות ב- VB6: טיפים וטריקים: 3 שלבים
וִידֵאוֹ: קורס מאקרו VBA ב-Excel - שיעור 13 - פרוצדורות מול פונקציות 2024, יולי
Anonim
תכנות ב- VB6: טיפים וטריקים
תכנות ב- VB6: טיפים וטריקים

אני מתכנת בזמני הפנוי, ומתכנת די מיומן באמצעות VB6. זה קל ועדיין לא מצאתי משהו שאני צריך אותו כדי להשיג אותו, אך לפעמים זה יכול להיות מסובך לבצע את המשימה שלך. בדרך מצאתי כל כך הרבה דברים מעצבנים בעיקר בדרך שבה הוא סופר דברים מסוימים. אז הנה לקט של כמה דברים שלמדתי בדרך. אני קורא לך אם יש לך בעיות הערה ואנסה לעזור עם שלבים נוספים.

שלב 1: מחרוזות

מחרוזות
מחרוזות

הדרך שבה VB מתמודדת עם מחרוזות מבלבלת לפעמים. Texta = "abcdefg" לשים "סמלים משני צדי הטקסט שאתה רוצה שיספרו כמחרוזת Mid (String, Start, Length) בוחרת קטע טקסט מתוך מחרוזות stringin אין אפס מחרוזות התחלה מתחילות ב- 1textb = אמצע (texta, 2, 2) זה הופך את המשתנה textb = "bc" textb = mid (texta, 4, 4) זה הופך את המשתנה textb = "defg" textb = mid (texta, 4, 5) זה הופך את המשתנה textb = "defg" זה נכון אם הטקסט שאתה מנסה לבחור ארוך יותר, אז הטקסט הזמין שהוא מסתיים בתו האחרון תלוי בתוכנית שלך, תצטרך להציב מלכודות כדי להימנע משגיאות. היא מלכודת כזו: textb = אמצע (texta, 4, 5) אם len (textb) <5 ואז 'Len () מחזיר את אורך המחרוזת <פירושו פחות אז msgbox "הטקסט קצר מדי" מציג תיבת הודעות עם המשנה יציאה stringe 'זה יוצא מהמשנה שבה אתה נמצא. מסיים את הקוד. אם אתה נמצא בפונקציה אז היית שם פונקציית יציאה וקבוע את מקומה של תו במחרוזת אנו משתמשים ב- instr (התחל, סטרי ng1, String2) texta = "abcdefg" textb = instr (1, texta, "c") 'זה מוצא את האות c במחרוזת textatextb שווה כעת 3 הערה: Instr מחזירה 0 (אפס) אם היא לא מוצאת את התו ארגון: זה משפט מעצבן שאתה רוצה ש- "abcdefg" יהיה "defgabc" texta = "abcdefg" textb = mid (texta, 4, 4) & mid (texta, 1, 3) זה לא היה נורא אבל עכשיו אפשר להוסיף ב- instr () functionalay אתה רוצה לארגן מחדש מחרוזת בתו וילון אבל זה לא אותה נקודה everytimetexta = "abcdefg" textb = "gfabdec" textc = mid (texta, instr (1, texta, "c"), len (texta) - instr (1, texta, "c") + 1) & mid (texta, 1, instr (1, texta, "c") - 1) שים לב לחלק len (texta) - instr (1, texta, " c ") + 1 מכיוון ש- instr סופר את הדמות שאתה מחפש אז אתה חוזר תו אחד אחורה כך שהאמצע () לוקח את הדמות שאתה מחפש כראשון ב- stringtextc כעת שווה" cdefgab "textd = mid (textb, instr (1, textb, "c"), len (textb) - instr (1, textb, "c") + 1) & mid (textb, 1, instr (1, textb, "c") - 1) textd עכשיו equa ls "cgfabde" מאפשר לנסות למצוא תו שאינו נמצא ב- stringtexta = "abcdefg" textc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) אתה מקבל שגיאה מכיוון שחלק ההתחלה של Mid () אינו יכול = 0 מכיוון שהמחרוזות מתחילות ב- 1 כך שעליך להימנע מריצה שְׁגִיאָה. זו דרך אחת לעשות את זה texta = "abcdefg" אם instr (1, texta, "h") 0 thentextc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) else 'רק עוד משפט אחד לכל אם situationmsgbox "לא מצליח למצוא תו במחרוזת" מציג תיבת הודעות עם המחרוזת אם זה מסכם פחות או יותר את כל מה שאתה צריך לדעת על מחרוזות

שלב 2: המרת תווים

המרת דמויות
המרת דמויות

HEX: אחד שמצאתי בתחילת השבוע קשור לפונקציה Hex (number) האורך במספר לא משנה. הוא מחזיר מחרוזת ב- hexhex (11111111) מחזיר "A98AC7" בעת המרת תו ascii ל- hex היית עושה dotexta = "a" hex (asc (texta)) מחזיר "61" texta = "k" hex (asc (texta)) מחזיר "6B" המחרוזת תהיה 2 תווים עבור רוב התווים ASCI, אלא אם כן הם מתחת לערך 16 ואז הוא מחזיר רק תו אחד אם אתה רוצה שכולם יהיו 2 תווים שהיית עושה כדלקמן: textb = hex (asc (texta)) אם len (textb) = 1 thentextb = "0" ו- textb 'שזה אפס לא a הון משלם אם

שלב 3: עריכת קבצים

עריכת קבצים
עריכת קבצים

כדי לפתוח קובץ אתה צריך קובץ חופשי ו- filenamegfile = FreeFile 'gfile הוא כעת freefilec = "c: / test.txt" הזמין הבא ואז ישנן 4 הדרכים שבהן תוכל לפתוח fileInput - ניתן לקרוא רק. פלט - אתה יכול לכתוב והוא ימחק את הקובץ רק אם הוא קיים. החזרת עגלה ותווים אחרונים הזנה הוספת - ניתן לכתוב רק. הוא יוסיף לקובץ הקיים. החזרת עגלה ותווים אחרונים הזנה בינארית - קרא וכתוב. מדוייק מאוד. היחיד שאני משתמש בו כעת. לבניית קבצי יומן והשימוש בו צירוף הוא יוסיף את הערך החדש לסוף הקובץ. עבור קבצי יומן מורכבים יותר טען את כל הקובץ במשתנה והוסף את הערך החדש לתחילת the file.dim stro כמחרוזת 'זה הכרחי או שיהיה errorgfile = FreeFilec = "c: / test.txt" פתוח c לבינארי כמו #gfile' זכור gfile הוא מספר מספר = רווח $ (lof (gfile)) 'בעת הפתיחה לבינארית עליך לספר עד כמה אורך הטקסט שאתה רוצה לקחת הוא lof (gfile) יחזיר את אורך ה- gfile והמרווח $ () מחזיר מחרוזת רווחים באורך המספר שאתה מזין #gfile, 1, stro 'get ממספר הקובץ, מתחיל בתים, משתנה כדי לשמור אותו. וטוען רק את אורך המשתנה close #gfilestro עכשיו שווה לקובץ test.txt. אתה יכול לשים מידע לקובץ byffile = FreeFilestro = "שורה חדשה" & VbCrLf & stro 'מוסיף "שורה חדשה" וחזרה carraige ו- linefeed ואחריו הטקסט open c המקורי לבינארי כאשר #ffilekill cput #ffile, 1, stro 'put מחליף מידע קודם אם הקובץ הולך וקטן עליך קודם להרוג את הקובץ שמוחק אותו סגור #ffilet הקובץ מכיל כעת "שורה חדשה" בדבר אחד גיליתי שפונקציית put היא שיש לה שגיאות אם אתה מנסה לשים תו כמו #file, 133, chr (1) 'זה מחליף את התו בייט 133 עם תו 1 או hex 0x01 מצאתי כשעשיתי את זה עם תוכנית אחת I גרם לזה למעשה להוסיף הקס 0x08000100000001 שזה מוזר בטירוף. פתרתי את זה על ידי טעינת הקובץ למשתנה וביצוע מחרוזת modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i) ואז לשים #ffile, 1, stroth זה עבד בצורה מושלמת

מוּמלָץ: