|
- Ayın İpucu - |
|
Kontrollere veri gönderirken, onları gizleyin. Örneğin, bir listbox'ta 1000 tane string göstermek
istiyorsunuz. Önce, 'Visible' özelliğini 'false' yapın,
stringleri ekleyin, ve tekrar 'true' yaparak görünür
hale getirin. Böylece listbox'ın her eklemede kendini
yenilemesine gerek kalmayacak ve daha hızlı işlem
yapacaktır. İşlem bittikten sonra kendisini bir kere
yenilemesi yeterli olacaktır.
|
|
| Visual Basic Optimizasyonu |
Ana Sayfa >
String Optimizasyonu >
Bölüm 3
Bölüm 1 >
Bölüm 2 >
Bölüm 4Variant
değişkeni kullanmayın
Aslında basit olmasına rağmen genellikle ihmal
edilir. Her değişken, parametre ya da fonksiyonun veri
tipi tanımlanmalıdır. Eğer işlenecek veri metin
biçiminde ise, veri tipi string olarak tanımlanmalıdır.
Türünü belirtmediğiniz takdirde, varsayılan olarak
variant türü seçilir. Variant türü kendi kullanım
alanına sahiptir ancak böyle değil. Variant türü
değişken genellikle performans kaybı demektir.
Bu yüzden programlarınıza
Option Explicit cümlesini ekleyin ve tüm
değişkenleri Dim ifadesi ile tanımlayın.
Fonksiyonlarınızı da gözden geçirin ve uygun tipi
vermeye özen gösterin.
Dolar işaretliler daha hızlı
Aşağıdaki fonksiyonlar string değişkenler için
kullanıldıklarında yavaş çalışırlar.
Left(), Mid(), Right(), Chr(),
ChrW()
UCase(), LCase(), LTrim(), RTrim(), Trim(),
Space(), String(), Format(), Hex(), Oct(),
Str(), Error
Bunlar variant tipi fonksiyonlarıdır. Variant değer
alırlar ve variant değer döndürürler. Veritabanı
programlama işiyle uğraşıyorsanız bu fonksiyonlar işe
yarayabilir (değer Null olabilir).
Peki sorun nerede? Bu fonksiyonlar hantaldır. String
değişkenler ile uğraşıyorsanız yukarıdakileri unutun ve
aşağıdaki şeklini kullanın.
Left$(), Mid$(), Right$(), Chr$(),
ChrW$()
UCase$(), LCase$(), LTrim$(), RTrim$(), Trim$(),
Space$(), String$(), Format$(), Hex$(), Oct$(),
Str$(), Error$
AscW ve ChrW$ kulanın
VB Unicode karakter kodlamasını kullanır. Unicode da
her string, karakter başına 2 byte harcar.
Eğer Unicode karakter kodlamasına ihtiyaç duymayacak bir
program yazıyorsanız bu ipucu işinize yarayabilir. Şu
fonksiyonlara bir bakalım:
Asc(), Chr$()
Sorun ne? Tabi ki bunlar daha yavaş işlem yaparlar. Eğer
hız konusunu önemsiyorsanız bir de bunları deneyin:
AscW(), ChrW$()
Aslında bu fonksiyonlar birbirinden farklıdır ve farklı
değer döndürürler. Ancak ASCII/Ansi (0-127) kodlamasını
kullandığınızda birbirine eşit olduklarını göreceksiniz.
Bölüm 2 >
Bölüm 3 >
Bölüm 4
|
|