Mündəricat:

VB6 -da proqramlaşdırma: göstərişlər və fəndlər: 3 addım
VB6 -da proqramlaşdırma: göstərişlər və fəndlər: 3 addım

Video: VB6 -da proqramlaşdırma: göstərişlər və fəndlər: 3 addım

Video: VB6 -da proqramlaşdırma: göstərişlər və fəndlər: 3 addım
Video: Управление шаговым двигателем через Visual Basic .NET 2024, Iyul
Anonim
VB6 -da proqramlaşdırma: göstərişlər və fəndlər
VB6 -da proqramlaşdırma: göstərişlər və fəndlər

Boş vaxtımda proqramlaşdırıram və VB6 istifadə edən kifayət qədər təcrübəli bir proqramçıyam. Çox asandır və bacarmadığım bir şeyi hələ tapmamışam, amma bəzən tapşırığını yerinə yetirmək çətin ola bilər. Yolda o qədər əsəbi şeylər tapdım ki, əsasən müəyyən şeyləri sayır. Yolda öyrəndiyim bəzi şeylərin toplusu burada. Hər hansı bir probleminiz varsa şərh yazmağınızı xahiş edirəm və əlavə addımlarla kömək etməyə çalışacağam.

Addım 1: Strings

Sətirlər
Sətirlər

VB -nin simlərlə işləmə üsulu bəzən çaşqınlıq yaradır.texta = "abcdefg" qoymaq "simli saymaq istədiyiniz mətnin hər iki tərəfindəki simvollar" String, Start, Length) bir stringin sətirlərindən mətnin bir hissəsini seçir. sıfır başlanğıc sətirləri 1textb = mid (texta, 2, 2) ilə başlayır, bu dəyişən textb = "bc" textb = mid (texta, 4, 4) bu dəyişən textb = "defg" textb = mid (texta, 4), 5) bu, textb = "defg" dəyişənini düzəltməyə imkan verir, əgər seçməyə çalışdığınız mətn proqramınızdan asılı olaraq, sonuncu simvolda bitdiyi mövcud mətndən daha uzun olarsa, səhvlərin qarşısını almaq üçün tələlər qoymalısınız. belə bir tələdir: textb = mid (texta, 4, 5) len (textb) <5 olarsa 'Len () bir sətrin uzunluğunu qaytarır <azdır deməkdir msgbox "mətn çox qısadır" stringexit sub 'Bu, kodunuzu bitirdiyiniz alt hissədən çıxır. Əgər bir funksiyadasınızsa, simli istifadə etdiyimiz simli bir simvolun yerini taparsanız exit functionend qoyarsınız (Başlat, Stri ng1, String2) texta = "abcdefg" textb = instr (1, texta, "c") 'bu simli textatextb -də c hərfini tapır, indi 3 -ə bərabərdir. "abcdefg" in "defgabc" olmasını istədiyiniz əsəbi olanlar, texta = "abcdefg" textb = mid (texta, 4, 4) & mid (texta, 1, 3) () funksiyaları, bir pərdə xarakterində bir simli yenidən təşkil etmək istədiyinizi söyləyir, ancaq eyni yer deyil) - instr (1, texta, "c") + 1) & mid (texta, 1, instr (1, texta, "c") - 1) len hissəsini qeyd edin (texta) - instr (1, texta, " c ") + 1 çünki instr axtardığınız xarakteri sayır, buna görə də bir xarakter geri qayıdırsınız, beləliklə mid () stringtextc -də ilk olaraq aradığınız xarakteri alır" cdefgab "textd = mid (textb, instr (1, textb, "c"), len (textb) - instr (1, textb, "c") + 1) və orta (textb, 1, instr (1, textb, "c") - 1) mətn indi bərabərdir ls "cgfabde", stringtexta = "abcdefg" textc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h") olmayan bir xarakter tapmağa çalışaq.) + 1) & mid (texta, 1, instr (1, texta, "h") - 1) xəta alırsınız, çünki Mid () başlanğıc hissəsi = 0 ola bilməz, çünki sətirlər 1 -də başladığından iş vaxtından qaçmalısınız. səhv bu ittexta = "abcdefg" etmək üçün bir yoldur 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 ', statusmsgbox "Stringdə simvol tapıla bilməz" bir mesaj qutusu göstərirsə stringend ifThis strings haqqında bilmək lazım olan hər şeyi ümumiləşdirir

Addım 2: simvolların çevrilməsi

Simvolların çevrilməsi
Simvolların çevrilməsi

HEX: Bu həftənin əvvəlində tapdığım biri onaltılıq (sayı) funksiyası ilə əlaqəlidir, nömrənin uzunluğunun əhəmiyyəti yoxdur. Hexhexdəki bir simli qaytarır (11111111), bir ascii xarakterini dotexta verəcəyiniz hexə çevirərkən "A98AC7" qaytarır = "a" hex (asc (texta)) "61" qaytarar sonra hamısının 2 simvol olmasını istədiyiniz yalnız 1 xarakteri qaytarır, belə edərdiniz: textb = hex (asc (texta)) len (textb) = 1 sonra textb = "0" və textb 'sıfır deyilsə əgər kapital oend

Addım 3: Fayl redaktəsi

Fayl Redaktəsi
Fayl Redaktəsi

bir fayl açmaq üçün bir freefile lazımdır və bir filenamegfile = FreeFile 'gfile artıq mövcud olan freefilec = "c: / test.txt" dir, sonra fileInput açmağın 4 yolu var - Yalnız oxuya bilərsiniz. Çıxış - Yalnız yaza bilərsiniz və əgər varsa fayl silinəcəkdir. arabanın geri qaytarılması və son simvolların verilməsi Əlavə et - Yalnız yaza bilərsiniz. mövcud fayla əlavə edəcək. vaqon geri qayıdır və son simvollar xətt verilir İkili - Oxuyun və yazın. çox dəqiq. indi istifadə etdiyim yeganə şey. günlük faylları qurmaq və bu cür istifadə əlavə etmək faylın sonuna yeni giriş əlavə edəcək. daha mürəkkəb qeyd sənədləri üçün bütün faylı bir dəyişənə yükləyib yeni girişi əvvəlinə əlavə edin. file.dim stro simli olaraq 'bu lazımdır və ya bir səhv olacaq gfile = FreeFilec = "c: / test.txt" #gfile olaraq ikili üçün açıq' yadda saxla gfile bir numberstro = boşluq $ (lof (gfile)) 'ikili üçün açarkən, götürmək istədiyiniz mətn uzunluğunun nə qədər böyük olduğunu söyləməlisiniz lof (gfile) gfile uzunluğunu qaytaracaq və $ () daxil etdiyiniz nömrənin uzunluğuna bir boşluq sətri qaytarır #gfile, 1, stro 'fayl nömrəsindən alın, baytdan başlayaraq onu qeyd edin. və yalnız yüklənən variableclose #gfilestro indi test.txt faylına bərabərdir. məlumatı bir fayla yerləşdirə bilərsiniz byffile = FreeFilestro = "New line" & VbCrLf & stro '"New line" və carraige return and linefeed ardınca #ffilekill cput #ffile, 1, stro 'put kimi ikili üçün orijinal textopen c, əgər fayl kiçilirsə, əvvəlcə faylı öldürməlisiniz. Put funksiyası ilə gördüm ki, #ffile, 133, chr (1) kimi bir simvol qoymağa çalışsanız səhvlər olar '133 baytdakı xarakteri 1 və ya hex 0x01 ilə əvəz edərkən bunu bir proqramla etdiyim zaman tapdım. əslində heyrətləndirici hex 0x08000100000001 əlavə etdi. Bunu faylı bir dəyişənə yükləyərək və simli modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i) sonra da qoyaraq həll etdim. #ffile, 1, strothis mükəmməl işləyirdi

Tövsiyə: