İçindekiler:
Video: VB6'da Programlama: İpuçları ve Püf Noktaları: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:22
Boş zamanlarımda program yapıyorum ve VB6 kullanan oldukça yetkin bir programcıyım. Bu kolay ve henüz başaramayacağım bir şey bulamadım, ancak bazen görevinizi yerine getirmek çok titiz olabilir. Yol boyunca, çoğunlukla belirli şeyleri sayma biçiminde çok sinir bozucu şeyler buldum. İşte yol boyunca öğrendiğim bazı şeylerin bir derlemesi. Herhangi bir sorununuz varsa yorum yapmanızı rica ediyorum ve daha fazla adımda yardımcı olmaya çalışacağım.
Adım 1: Dizeler
VB'nin dizelerle uğraşma şekli bazen kafa karıştırıcıdır.texta = "abcdefg"metnin her iki tarafına "semboller koy" dize olarak sayılmasını istediğiniz metinMid(String, Start, Length) bir dizeden metnin bir bölümünü seçer. sıfır başlangıç dizeleri 1textb = mid(texta, 2, 2) ile başlar bu, textb = "bc"textb = mid(texta, 4, 4) değişkenini yapar, bu textb = "defg"textb = mid(texta, 4) değişkenini yapar, 5) bu, textb = "defg" değişkenini yapar. Seçmeye çalıştığınız metin mevcut metinden daha uzunsa, programınıza bağlı olarak son karakterde bitiyorsa, hatalardan kaçınmak için tuzaklar yerleştirmeniz gerekir. böyle bir tuzaktır:textb = mid(texta, 4, 5)eğer len(textb) < 5 ise 'Len() bir dizgenin uzunluğunu döndürür, bu < daha az mesaj kutusu anlamına gelir "metin çok kısa" 'Bir mesaj kutusu gösterir stringexit sub 'Bu, içinde bulunduğunuz alttan çıkar. kodu sonlandırır. Eğer bir fonksiyondaysanız, bir karakterin bir karakterin yerini bulursa, instr(Start, Stri) kullanırız. ng1, String2)texta = "abcdefg"textb = instr(1, texta, "c") 'bu, string textatextb'deki c harfini bulur, şimdi 3'e eşittir NOT:Instr, REORGANIZING karakterini bulamazsa 0 (sıfır) döndürür:budur "abcdefg"'in "defgabc" olmasını istediğiniz can sıkıcı bir şey texta = "abcdefg"textb = mid(texta, 4, 4) & mid(texta, 1, 3) Bu çok kötü değildi ama şimdi instr'ye ekleyelim () functionsay bir perde karakterindeki bir dizgiyi yeniden düzenlemek istiyorsunuz, ancak bu aynı nokta değil herzamantexta = "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) kısmı not edin len(texta) - instr(1, texta, " c") + 1 çünkü instr aradığınız karakteri sayar, böylece bir karakter geri gidersiniz, böylece mid(), aradığınız karakteri stringtextc'de ilk olarak alır, şimdi "cdefgab"textd = mid('e eşittir. textb, instr(1, textb, "c"), len(textb) - instr(1, textb, "c") + 1) & mid(textb, 1, instr(1, textb, "c") - 1)textd şimdi eşittir ls "cgfabde", stringtexta = "abcdefg"textc = mid(texta, instr(1, texta, "h"), len(texta) - instr(1, texta, "h" içinde olmayan bir karakter bulmayı deneyelim.) + 1) & mid(texta, 1, instr(1, texta, "h") - 1) bir hata alıyorsunuz çünkü Mid()'in başlangıç kısmı = 0 olamaz çünkü dizeler 1'den başlar, dolayısıyla çalışma zamanından kaçınmanız gerekir hata. 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 'her if statusmsgbox "Dizede karakter bulunamıyor" 'ile bir mesaj kutusu gösterir. stringend ifThis, dizeler hakkında bilmeniz gereken hemen hemen her şeyi özetler
Adım 2: Karakterleri Dönüştürme
HEX:Bu haftanın başlarında bulduğum bir tanesinin Hex(sayı) işleviyle ilgisi var, sayının uzunluğu önemli değil.hexhex(11111111) içinde bir dize döndürür, bir ascii karakterini hex'e dönüştürürken "A98AC7" döndürür. = "a"hex(asc(texta)) döner "61"metin = "k"hex(asc(texta)) döndürür "6B" dize ASCI karakterlerinin çoğu için 2 karakter olacaktır,eğer 16 değerinin altında değilseler o zaman sadece 1 karakter döndürür, eğer hepsinin 2 karakter olmasını istiyorsanız, aşağıdaki gibi yapardınız: textb = hex(asc(texta))if len(textb) = 1 thentextb = "0" ve textb 'bu bir sıfır değil sermaye borcu eğer
Adım 3: Dosya Düzenleme
bir dosyayı açmak için bir freefile ve bir filenamegfile = FreeFile 'gfile şimdi bir sonraki kullanılabilir freefilec = "c:\test.txt" gerekir, o zaman bir fileInput'u açmanın 4 yolu vardır - Sadece okuyabilirsiniz. Çıktı - Yalnızca yazabilirsiniz ve varsa dosyayı siler. satır başı ve satır besleme son karakterleriAppend - Yalnızca yazabilirsiniz. mevcut dosyaya ekleyecektir. satır başı ve satır besleme son karakterleri İkili - Oku ve yaz. çok hassas. şimdi kullandığım tek şey. günlük dosyaları oluşturmak için ve bu tür kullanım ekleme, dosyanın sonuna yeni girişi ekleyecektir. daha karmaşık günlük dosyaları için tüm dosyayı bir değişkene yükleyin ve yeni girişi dosyanın başına ekleyin file.dim stro ' bu gerekli veya bir errorgfile olacak = FreeFilec = "c:\test.txt" ikili için c'yi #gfile olarak açın 'unutmayın gfile bir numberstro = space$(lof(gfile)) 'İkili için açarken, almak istediğiniz metnin uzunluğunun ne kadar büyük olduğunu söylemelisiniz lof(gfile) gfile uzunluğunu döndürür ve space$ () girdiğiniz sayının uzunluğunu bir boşluk dizesini döndürür #gfile, 1, stro ' dosya numarasından alın, başlangıç baytı, kaydedilecek değişken. ve yalnızca #gfilestro değişkeninin uzunluğunu yükler, şimdi test.txt dosyasına eşittir. bilgileri bir dosyaya koyabilirsiniz byffile = FreeFilestro = "Yeni satır" & VbCrLf & stro ' "Yeni satır" ve satır başı ve satır besleme ekler ardından orijinal textopen c for ikili olarak #ffilekill cput #ffile, 1, stro 'put dosya küçülüyorsa önceki bilgilerin üzerine yazar, önce onu silen dosyayı öldürmelisinizclose #ffiledosyanın artık tek bir şeyde "Yeni satır" var Put işleviyle buldum, likeput #ffile, 133, chr(1) ' gibi bir karakter koymaya çalışırsanız hata veriyor, bu, bayt 133'teki karakter 1 veya hex 0x01 ile değiştiriyor Bunu bir programla yaptığımda buldum gerçekten garip olan hex 0x08000100000001'i ekledi. Bunu, dosyayı bir değişkene yükleyerek ve string modsi = 133stro = mid(stro, 1, i - 1) & chr(1) & mid(stro, i + 1, len(stro) - i) yaparak çözdüm ve sonra #ffile, 1, strothis mükemmel çalıştı
Önerilen:
Lehimlemede Nasıl Ustalaşılır (lehim İpuçları ve Püf Noktaları): 4 Adım
Lehimlemede Nasıl Ustalaşılır (lehim İpuçları ve Püf Noktaları): Hey millet! Umarım önceki "Arduino MIDI Controller DIY" eğitimimi beğenmişsinizdir; ve yeni bir tane için hazırsınız, her zamanki gibi size bazı harika elektronik şeyleri nasıl yapacağınızı göstermek için bir öğrenme talimatı yapıyorum ve hakkında konuşuyorum
Elektronik İçin İpuçları ve Püf Noktaları: 6 Adım (Resimlerle)
Elektronik için İpuçları ve Püf Noktaları: Bu Eğitilebilir Kitapta, ilk başladığımda bilmek istediğim ipuçlarının ve püf noktalarının bir listesini bir araya getirdim. Her bir "adım"; farklı bir kategoridir ve numaralandırılmış her öğe bir ipucu veya püf noktasıdır. Her bir öğedeki kalın harflerle yazılmış başlık, kısaltılmış ve
Bir Üreticinin Bilmesi Gereken 7 Elektronik İpuçları ve Püf Noktaları: 8 Adım (Resimlerle)
Bir Üreticinin Bilmesi Gereken 7 Elektronik İpuçları ve Püf Noktaları: Elektronikle uzun zamandır ilgileniyorum ve bu süre zarfında birçok proje yaptım. Yaptığım her projede, gelecekte bana yardımcı olan yeni bir şey öğrendim. Elektroniğin matematik gibi olduğunu hissediyorum. Ne zaman
My Tiny Whoop: Bir Whoop Tarifi + Birkaç İpuçları ve Püf Noktaları: 8 Adım
My Tiny Whoop: Bir Whoop Tarifi + Birkaç İpuçları ve Püf Noktaları: UYARI: Şimdi ilk Eğitilebilir Tabloma giriyorsunuz ve çok fazla aptallık ve planlama ve/veya beceri eksikliği ile karşılaşabilirsiniz. Dikkat edin. Bu benim her gün kullandığım kişisel Tiny Whoop kurulumum, bu yüzden paylaşacağımı düşündüm. Seyahat dostu (hayır
Oyun Geliştirme 101: İpuçları ve Püf Noktaları!: 11 Adım
Oyun Geliştirme 101: İpuçları ve Püf Noktaları!: Demek video oyunları oynamayı seviyorsun? Belki de zamanı gelmiştir, kendin kurdun! güzel değil mi Kurallarınıza ve fantezilerinize dayanarak kendi dünyanızı yaratma fikri mi? Bence öyle. Ama şimdilik gerçeğe bakalım. kre başlarsın