Sfaturi pentru cei care programează pe vb-vba, computerpress

Sfat 309. Cum se obține un rezumat al fișierului MP3

Este posibil ca, înainte de a începe să joace formatul de fișier MP3 (puteți face acest lucru prin conectarea înseamnă Windows Media Player de VB-aplicație), vrei să știi titlul melodiei, numele artistului, și așa mai departe. În cazul în care MP3-fișierul utilizează cele mai populare tag-uri ID3 de codificare, atunci este foarte ușor să faceți acest lucru. Acest standard scrie în ultimele 128 de octeți informații sumare care pot fi citite utilizând, de exemplu, următorul cod:







Sfat 310: Prioritizarea utilizării declarației

Utilizarea cu operatorul permite nu numai reducerea timpului de intrare în program și îmbunătățirea lizibilității codului, dar și creșterea vitezei aplicației. Puteți utiliza Cu cu atât obiecte, cât și variabile definite de utilizator (Tip definit de utilizator, UDT). Întrebarea este: pentru ce tip de date este mai bine să folosiți? Răspunsul: în primul rând pentru obiecte, deoarece în acest caz timpul de acces la proprietățile lor va scădea. De exemplu, aveți o structură care stochează un set de parametri:

Trebuie să alocați acești parametri proprietăților butonului de comandă. constructie:

va funcționa mai rapid decât, de exemplu, un astfel de design:

Sfat 311. Urmăriți starea bateriei laptopului

Controlul SysInfo care vine cu VB (în fereastra Components numit Microsoft SysInfo Control Version 6.0 sau 5.0) este rar folosit de dezvoltatori. Și în zadar, pentru că oferă informații despre parametrii și evenimentele de sistem de operare, evenimente plug-and-play și altele. În acest caz, vom arăta cum puteți folosi pentru a citi informațiile cu privire la starea bateriei laptop.

Proprietatea ACStatus vă permite să aflați dacă acumulatorul este utilizat pentru alimentare:

Proprietatea BatteryLifePercent determină procentajul de încărcare a bateriei:

Dacă laptopul este acum alimentat de o baterie, este util să aflați cât timp puteți lucra cu el:

Sfat 312. Urmăriți utilizarea corectă a tipurilor de date

Am observat deja de mai multe ori că Visual Basic permite dezvoltatorului să folosească în mod liber tipuri de variabile prin efectuarea unei conversii implicite. De exemplu, o astfel de construcție în VB este complet acceptabilă și produce chiar și rezultatul corect:

Cu toate acestea, din punctul de vedere al teoriei limbajelor de programare, un astfel de amestec de tipuri într-o expresie este o eroare brută. Din păcate, mulți dezvoltatori sunt utilizați pentru acest stil de VB și îl consideră foarte convenabil, deoarece în acest caz nu este necesar să vă petreceți timp folosind funcții speciale de conversie de tip de date. Urmând această abordare, puteți scrie următorul cod:

S-ar putea să vă gândiți că atunci când introduceți o valoare de la 1 la 12 în câmpul text, se va afișa mesajul "Valoare admisă". Cu toate acestea, codul va funcționa în mod diferit: "Valoarea permisă" va fi dată numai pentru valorile 1, 10, 11 și 12. Pentru numere de la 2 la 9, utilizatorul va primi un mesaj "Valoare nevalidă".

Este greu de spus de ce, în cazul unei expresii aritmetice pentru șirul "5", conversia este adevărată, iar în instrucțiunea Select este incorectă. Trebuie avut în vedere doar faptul că atunci când se folosește o conversie implicită, pot apărea probleme similare. Aderând la aceleași principii de programare clasică și petrecând puțin timp pentru a introduce câteva personaje suplimentare, evitați cu ușurință aceste probleme. Această versiune a codului va funcționa în mod fiabil pentru orice valori numerice ale câmpului de text:







Sfat 313. Cum să controlați prezența citatelor în nume

Cititorul nostru din Tomsk a trimis următoarea întrebare: "Am o tabelă" Furnizori "în baza de date. Are un câmp "Nume" în care numele companiilor pot conține, de exemplu, citate <ООО "МММ">. Trebuie să generez un șir SELECT cu un termen de căutare WHERE [Name] =. Dar când fac acest lucru, am o eroare de sintaxă (extra citate):

Întrebarea este formulată astfel încât să nu fie clar modul în care cititorul formează șirul SELECT și de ce folosește o astfel de opțiune de căutare. Deci, să încercăm să analizăm această problemă din diferite părți.

1. Prelucrarea datelor de caractere, în interiorul cărora există citate duble, prezintă unele dificultăți, deoarece acest simbol este utilizat ca paranteze pentru scrierea literalurilor de caractere. Această problemă este rezolvată într-un mod convențional: în literal, fiecare citat este scris de două ori. Prin urmare, atunci când parsăm codul sursă, primul citat este paranteza dreaptă, apoi fiecare pereche înlocuiește una în interiorul liniei, cea nepartită este paranteza stângă. În consecință, pentru a atribui numele companiei la variabila de mai sus, trebuie să scrieți:

Rețineți că o astfel de înregistrare nu este foarte bine percepută vizual, deci atunci când utilizați un număr mare de linii similare, puteți folosi un alt caracter în loc de ghilimele duble și apoi utilizați o subrutină simplă de substituire a caracterelor. De exemplu, în VB6, acest lucru ar putea arăta astfel (la introducerea textului folosim citate simple):

2. Având în vedere problema cu ghilimele duble, multe limbi permit fie ghilimele duble, fie simple, să fie folosite ca arcușuri logice pentru literali de șir. Inclusiv apelurile SQL.

În cazul nostru, operatorul ar trebui să arate așa (astfel încât citatele să fie vizibile, folosesc numele <ООО "МММ" O>):

SELECT. În cazul în care firma = 'OOO MMM O'
În consecință, accesul la setul de date va arăta astfel:

Pentru a ilustra, să facem un mic exemplu de testare a unui tabel cu astfel de înregistrări de nume de companii:

Pentru a găsi prima companie, trebuie să faceți un apel ca:

Pentru a găsi al doilea:

3. Situația este puțin mai complicată atunci când numele firmei dorite este introdus pe câmp, adică nu este cunoscut în prealabil, conține ghilimele duble sau simple. În acest caz, când formați interogarea SQL, trebuie să determinați ce citate sunt conținute în nume și, în consecință, selectați celelalte. Pentru a face acest lucru, puteți oferi această opțiune:

Evident, în întrebări similare problema apare atunci când există două tipuri de citate în numele ghilimelelor. (Desi, probabil, aici poti sa te contrazici).

De exemplu, pentru baza de date de mai sus a patru înregistrări de interogări:

vor găsi toate cele patru înregistrări și interogarea:

vor găsi toate primele trei înregistrări.

Mai recent, Cougar a introdus o nouă serie de surse de alimentare pentru PC-urile tradiționale - VTX, destinate utilizatorilor cu un buget limitat. În această revizuire, va fi luat în considerare modelul Cougar VTX600, care datorită caracteristicilor sale va fi unul dintre cele mai populare în această linie de surse de alimentare

La evenimentul anual Capsaicin SIGGRAPH din Los Angeles, AMD și-a consolidat poziția pe piața de PC-uri high-end cu noii procesori Ryzen Threadripper și GPU "Vega"

Pentru o construcție simplă și convenabilă a utilizatorilor obișnuiți companie de rețea ZyXEL a lansat urmatoarea versiune a platformei sale de Internet pentru conectarea la rețelele 3G / 4G prin USB-modem cu punct de acces Wi-Fi - ZyXEL Keenetic 4G III, pe care le considerăm în această recenzie

Pentru două modele sale și astfel o mare familie de routere ASUS și compania router a adaugat recent foarte interesant: nava amiral 4G-AC55U și mai ușor 4G-N12. Acest articol va lua în considerare modelul emblematic ASUS 4G-AC55U

Young dar ambitioasa companie KREZ la inceputul acestui an a lansat un nou, model de laptop original, KREZ Ninja (modelul TM1102B32) care rulează Windows 10. Deoarece acest computer are un ecran pivotant, acesta poate servi ca o soluție universală - poate fi folosit cu succes pentru muncă, și pentru studiu și pentru jocuri

Dacă de multe ori imprimați fotografii și sunteți deja obosit să schimbați cartușele în imprimantă, acordați atenție echipamentului MFP Epson L850. O mare varietate de consumabile, o calitate excelentă a tipăririlor, o gamă largă de funcționalități - acestea sunt doar câteva dintre avantajele acestui model







Articole similare

Trimiteți-le prietenilor: