สารบัญ:
วีดีโอ: การเขียนโปรแกรมใน VB6: Tips and Tricks: 3 Steps
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:09
ฉันเขียนโปรแกรมในเวลาว่าง และเป็นโปรแกรมเมอร์ที่ค่อนข้างเชี่ยวชาญโดยใช้ VB6 เป็นเรื่องง่ายและฉันยังไม่พบสิ่งใดที่ฉันต้องการเพื่อให้บรรลุซึ่งไม่สามารถทำได้ แม้ว่าบางครั้งอาจเป็นเรื่องยากที่จะทำภารกิจของคุณให้สำเร็จ ระหว่างทางฉันพบสิ่งที่น่ารำคาญมากมาย ส่วนใหญ่มักจะนับบางสิ่ง นี่คือการรวบรวมบางสิ่งที่ฉันได้เรียนรู้ระหว่างทาง ฉันขอให้คุณถ้าคุณมีปัญหาใดๆ แสดงความคิดเห็น และฉันจะพยายามช่วยในขั้นตอนเพิ่มเติม
ขั้นตอนที่ 1: สตริง
วิธีที่ VB จัดการกับสตริงทำให้เกิดความสับสนในบางครั้ง texta = "abcdefg"ใส่ " สัญลักษณ์ทั้งสองด้านของข้อความที่คุณต้องการให้นับเป็น stringMid(String, Start, Length) เลือกส่วนของข้อความจากสตริง stringin ไม่มี สตริงเริ่มต้นเป็นศูนย์เริ่มต้นที่ 1textb = mid (texta, 2, 2) สิ่งนี้ทำให้ตัวแปร textb = "bc"textb = mid (texta, 4, 4) สิ่งนี้ทำให้ตัวแปร textb = "defg"textb = mid (texta, 4, 5)สิ่งนี้ทำให้ตัวแปร textb = "defg"ถูกต้องถ้าข้อความที่คุณพยายามเลือกนั้นยาวกว่านั้น ข้อความที่มีอยู่จะสิ้นสุดที่อักขระตัวสุดท้ายขึ้นอยู่กับโปรแกรมของคุณ คุณจะต้องวางกับดักเพื่อหลีกเลี่ยงข้อผิดพลาดนี้ เป็นกับดัก:textb = mid(texta, 4, 5) ถ้า len(textb) < 5 แล้ว 'Len() จะคืนค่าความยาวของสตริง < หมายถึงน้อยกว่าแล้วmsgbox "ข้อความสั้นเกินไป" 'แสดงกล่องข้อความด้วย stringexit ย่อย 'นี่เป็นการออกจากส่วนย่อยที่คุณอยู่ การลงท้ายโค้ด หากคุณอยู่ในฟังก์ชัน คุณจะต้องใส่ exit functionend iffinding ตำแหน่งของอักขระในสตริง เราใช้ instr(Start, Stri ng1, String2)texta = "abcdefg"textb = instr(1, texta, "c") 'ค้นหาตัวอักษร c ในสตริง textatextb ตอนนี้เท่ากับ 3NOTE:Instr คืนค่า 0 (ศูนย์) หากไม่พบอักขระ REORGANIZING: นี่คือ คำพูดที่น่ารำคาญที่คุณต้องการให้ "abcdefg" เป็น "defgabc"texta = "abcdefg"textb = mid(texta, 4, 4) & mid(texta, 1, 3) นั่นก็ไม่ได้แย่เกินไป แต่ตอนนี้ให้เพิ่มใน instr () ฟังก์ชั่นบอกว่าคุณต้องการจัดระเบียบสตริงใหม่ที่อักขระม่าน แต่มันไม่ใช่จุดเดียวกัน 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 จะนับอักขระที่คุณต้องการ ดังนั้นคุณจึงย้อนกลับหนึ่งอักขระ ดังนั้น mid() จะนำอักขระที่คุณต้องการเป็นตัวแรกใน 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 ตอนนี้เท่ากับ 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 ดังนั้นคุณต้องหลีกเลี่ยงรันไทม์ ข้อผิดพลาด. นี่เป็นวิธีหนึ่งในการทำ ittexta = "abcdefg"if 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 'มีคำสั่งอื่นเพียงคำสั่งเดียวต่อกรณีสถานการณ์msgbox "ไม่พบอักขระในสตริง" 'แสดงกล่องข้อความด้วย stringend ifThis จะสรุปทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับ strings
ขั้นตอนที่ 2: การแปลงตัวละคร
HEX: สิ่งที่ฉันพบเมื่อต้นสัปดาห์นี้เกี่ยวข้องกับฟังก์ชัน Hex(number) ความยาวของตัวเลขนั้นไม่สำคัญ มันส่งคืนสตริงใน hexhex(11111111) ส่งคืน "A98AC7" เมื่อแปลงอักขระ ascii เป็น hex คุณจะ dotexta = "a"hex(asc(texta)) ส่งคืน "61"texta = "k"hex(asc(texta)) ส่งคืน "6B" สตริงจะเป็น 2 อักขระสำหรับอักขระ ASCI ส่วนใหญ่เว้นแต่จะต่ำกว่า 16 จากนั้นจะส่งคืนอักขระ 1 ตัวถ้าคุณต้องการให้ทั้งหมดเป็น 2 อักขระที่คุณจะทำดังนี้:textb = hex(asc(texta))if len(textb) = 1 แล้วtextb = "0" และ textb 'นั่นคือศูนย์ไม่ใช่ ทุน oend if
ขั้นตอนที่ 3: การแก้ไขไฟล์
ในการเปิดไฟล์คุณต้องมี freefile และ filenamegfile = FreeFile 'gfile เป็น freefilec = "c:\test.txt" ตัวถัดไปที่มีให้ใช้งานแล้ว จึงมี 4 วิธีที่คุณสามารถเปิด fileInput - คุณสามารถอ่านได้เท่านั้น เอาต์พุต - คุณสามารถเขียนได้เท่านั้นและจะลบไฟล์หากมีอยู่ การขึ้นบรรทัดใหม่และการป้อนอักขระสุดท้ายต่อบรรทัดต่อท้าย - คุณสามารถเขียนได้เท่านั้น มันจะเพิ่มไปยังไฟล์ที่มีอยู่ การขึ้นบรรทัดใหม่และการป้อนบรรทัดอักขระสุดท้ายไบนารี - อ่านและเขียน แม่นยำมาก อันเดียวที่ฉันใช้ตอนนี้สำหรับการสร้างไฟล์บันทึกและการใช้งานดังกล่าวผนวกจะเพิ่มรายการใหม่ไปที่ส่วนท้ายของไฟล์สำหรับไฟล์บันทึกที่ซับซ้อนมากขึ้น โหลดไฟล์ทั้งหมดลงในตัวแปรและเพิ่มรายการใหม่ไปที่จุดเริ่มต้นของ file.dim stro เป็นสตริง 'นี่เป็นสิ่งจำเป็นหรือจะมี errorgfile = FreeFilec = "c:\test.txt" เปิด c สำหรับไบนารีเป็น #gfile 'remember gfile เป็น numberstro = space$(lof(gfile)) 'เมื่อเปิดไบนารีคุณต้องบอกว่าความยาวของข้อความที่คุณต้องการใช้คือ lof(gfile) จะคืนค่าความยาวของ gfile และ space$ () ส่งคืนสตริงของช่องว่างตามความยาวของตัวเลขที่คุณป้อน #gfile 1, stro 'รับจากหมายเลขไฟล์, ไบต์เริ่มต้น, ตัวแปรที่จะบันทึกลง และโหลดเฉพาะความยาวของตัวแปรclose #gfilestro ตอนนี้เท่ากับไฟล์ test.txt คุณสามารถใส่ข้อมูลลงในไฟล์ได้ byffile = FreeFilestro = "New line" & VbCrLf & stro ' เพิ่ม "New line" และ carraige return และ linefeed ตามด้วย textopen c ดั้งเดิมสำหรับไบนารีเป็น #ffilekill cput #ffile, 1, stro 'put เขียนทับข้อมูลก่อนหน้าหากไฟล์มีขนาดเล็กลง คุณควรฆ่าไฟล์ก่อน ซึ่งจะลบมันออก ปิด #ffileไฟล์ตอนนี้มี "บรรทัดใหม่" ในสิ่ง itone ฉันพบว่ามีฟังก์ชัน put มีข้อผิดพลาดหากคุณพยายามใส่อักขระ likeput #ffile, 133, chr(1) ' ซึ่งจะแทนที่อักขระที่ไบต์ 133 ด้วยอักขระ 1 หรือเลขฐานสิบหก 0x01I ที่พบเมื่อฉันทำสิ่งนี้ด้วยโปรแกรมเดียวที่ฉัน ทำให้มันเพิ่มเลขฐานสิบหกจริง ๆ 0x08000100000001 ซึ่งประหลาดมาก ฉันแก้ไขโดยโหลดไฟล์ไปยังตัวแปรและทำ string modsi = 133stro = mid(stro, 1, i - 1) & chr(1) & mid(stro, i + 1, len(stro) - i)จากนั้นใส่ #ffile, 1, strothis ทำงานได้อย่างสมบูรณ์แบบ
แนะนำ:
DHT21 Digital Temperature and Humidity Sensor with Arduino: 6 Steps
DHT21 Digital Temperature and Humidity Sensor With Arduino: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้ DHT21 Humidity and Temperature Sensor กับ Arduino และแสดงค่าบนจอแสดงผล OLED ดูวิดีโอ
Contact Less and Corrosion Free Water Level Indicator and Motor Control.: 5 ขั้นตอน
Contact Less and Corrosion Free Water Level Indicator and Motor Control.: HI ในคำแนะนำนี้เราจะดูวิธีรับสถานะของถังเก็บน้ำตามระดับน้ำ (สูง, ปานกลาง, ต่ำ) ของถังเหนือศีรษะโดยใช้ไฟ LED สีต่างกันสามดวงใน วิธีแบบไม่สัมผัสด้วยความช่วยเหลือของเซ็นเซอร์อัลตราโซนิกและบอร์ด Arduino unoP
Eagle Hacks / Tricks: ตัวอย่าง TB6600 CNC Mill Stepper Motor Driver: 7 ขั้นตอน
Eagle Hacks/tricks: ตัวอย่าง TB6600 CNC Mill Stepper Motor Driver: นี่เป็นโครงการที่ดีในการแสดงกลเม็ดเล็ก ๆ น้อย ๆ ที่จะทำให้ชีวิตของคุณง่ายขึ้นเมื่อสร้าง PCB เพื่อสอนการแฮ็กสองสามอย่างเพื่อให้คุณได้รับประโยชน์มากขึ้น Eagle ฉันเลือกโครงการง่ายๆ ที่ฉันทำเพื่อ Kickstarter ฉันต้องการภายนอก
การพัฒนาเกม 101: Tips & Tricks!: 11 Steps
การพัฒนาเกม 101: Tips & Tricks!: คุณชอบเล่นวิดีโอเกมไหม? อาจถึงเวลาแล้ว คุณสร้างมันขึ้นมาเอง! ไม่สวยเหรอ? ความคิดที่ว่าคุณจะได้สร้างโลกของคุณเองตามกฎและจินตนาการของคุณ? ผมว่าใช่ แต่มาดูของจริงกันก่อน คุณเริ่มเคร
Batch Tricks and Viruses: 3 ขั้นตอน
Batch Tricks and Virusses: วิธีทำ Prank และไวรัสจริงใน BATCHNote: ฉันไม่รับผิดชอบต่อความเสียหายใด ๆ ที่คุณทำกับคอมพิวเตอร์ของคุณกับคอมพิวเตอร์ของคนอื่นหมายเหตุ: เมื่อคุณต้องการบันทึกไฟล์ คุณควรบันทึกเป็นไฟล์อะไรก็ตาม