Szybkie szukanie
Słowo kluczowe:
niedziela, 05 luty 2012
Start arrow Tips & Tricks arrow Sprawdzanie czy ktoś w InputBoxie nic nie wpisał i kliknął w przycisk OK czy tylko kliknął w przycis
Sprawdzanie czy ktoś w InputBoxie nic nie wpisał i kliknął w przycisk OK czy tylko kliknął w przycis Drukuj E-mail
Napisał Administrator   
niedziela, 12 luty 2006

Sprawdzanie czy w InputBox nic nie wpisano i kliknięto w OK, czy kliknięto w Cancel

'Autor: marcin_an
Funkcja sprawdzająca, czy użytkownik klinął na 'Cancel' czy nic nie wpisał w
InputBoxie:

_______________________

Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As
Any, Source As Any, ByVal Length As Long)

Function InputBoxCanceled(ByRef sReturnedValue As String) As Boolean
' sReturnedValue - tutaj należy podać Stringa zwróconego przez InputBox
'
' Zwracane wartości:
' True użytkownik kliknął 'cancel'
' False użytkownik nic nie wpisał i kliknął 'ok'

Dim tmp As Long

CopyMemory tmp, sReturnedValue, 4
If tmp Then
InputBoxCanceled = False
Else
InputBoxCanceled = True
End If
End Function
_______________________

Zasada działania:
W MSDN można przeczytać, że jeżeli użytkownik kliknie na 'Cancel', to
zostanie zwrócony pusty ciąg (""). Pokrywa się to z przypadkiem, gdy
użytkownik wpisze "" i kliknie 'ok'. Ale Microsoft wyraził się
nieprecyzyjnie. Okazuje się bowiem, że po naciśnięciu Cancel tak naprawdę
wogóle nie zwraca ciągu znaków, a jedynie wskaźnik z wartością NULL.
Istnieje możliwość zapisania takiego wskaźnika poprzez stałą vbNullString,
jednak VB nie daje możliwości wykorzystania tego w porównaniach. Dla niego
vbNullString = "" podczas porównywania. Ta funkcja właśnie sprawdza, czy
wskaźnik jest równy NUL, czy nie i w zależności od tego stwierdza co zaszło.

Komentarze

Aby dodać komentarz zaloguj się. Jeśli nie masz konta, załóż je sobie.
Tylko zarejestrowani użytkownicy mogą pisać komentarze.

Powered by AkoComment 2.0!

< Poprzedni   Następny >

Menu główne
Start
Teoria
VB.NET
Api
Tips & Tricks
Warsztat
VBMagazine
Pliki
Forum
Literatura
Ankiety
Linki
Szukaj
Wyślij program
Napisz do nas
Redakcja
Logowanie
Login

Hasło

Zapamiętaj mnie
Nie pamiętasz hasła?
Nie masz konta? Załóż je sobie
Gościmy
Aktualnie jest 44 gości online
Statystyka
Użytkownicy: 11344
Newsy: 237
Odnośniki: 48
Odwiedzających: 4318556
Mambo is Free Software released under the GNU/GPL License.