Visual Basic – InputBox i problem „OK ili Cancel“

Recimo da je potrebno da vaลกa aplikacija koristi poneku kontrolu InputBox. Postavlja se pitanje ลกta se deลกava ako korisnik nije uneo nikakvu vrednost a kliknuo je na „OK“ ili je samo kliknuo na „Cancel“? Izmeฤ‘u ova dva sluฤaja ipak postoji izvesna razlika, koja moลพe da razliฤito utiฤe na dalje izvrลกavanje programa. Zato ฤ‡emo vam pojasniti kako da odredite ovu razliku.

Vidite, u sluฤaju da korisnik klikne na „Cancel“, kao rezultat vraฤ‡a se vbNullString. Meฤ‘utim , ukoliko klikne na „OK“, vratiฤ‡e se prazan string („“). Inaฤe, unutar Visual Basic-a prazan string je poravnat sa vrednoลกฤ‡u vbNullString, tako da ne vredi vrลกiti njihovo poreฤ‘enje – mada su po svojoj prirodi potpuno drugaฤiji.

Ipak, postoji naฤin da odredite taฤno vraฤ‡enu vrednost. Uradiฤ‡emo to uz pomoฤ‡ funkcije StrPtr (string pointer), koja ฤ‡e odrediti da li je vraฤ‡eni string zaista vbNullString ili je vraฤ‡ena nula. U sledeฤ‡em primeru videฤ‡emo programski kod koji demonstrira ovo odreฤ‘ivanje, tj. odreฤ‘ivanje na koje dugme je kliknuto unutar InputBox dijaloga (rezultat moลพete videti na slici) :


Dim strUlaz As String

strUlaz = InputBox(„Unesite neki string:“)

If StrPtr(strUlaz) = 0 Then
MsgBox „Upravo ste kliknuli Cancel!“
End If

Pratite Krstaricu na www.krstarica.com