Basic

5 отговора 248 прегледа
#1

Basic

как в текстово поле да правя справка при натискане на бутон дали са въведени само числа. Без букви.

Отговор
в отговор на Someone #2

Re: Basic

CString str = m_ctrlEditBox.GetWindowText();
int nLenght = str.GetLength();
for (int i = 0; i < nLength; i++)
{
if (!isdigit(str))
{
//syob6tenie za gre6ka
}
}

stoj, ta gledaj
Отговор
в отговор на vili_d #3

Или пък ...

::SetWindowLong(hwnd, GWL_STYLE, ::GetWindowLong(hwnd, GWL_STYLE) | ES_NUMBER)

Отговор
в отговор на Someone #4

Re: Basic

Predpolagam che iskash da vidish reshenie na VB ne na C :))

Seshtam se mai za edna fynkcia IsNumeric ili neshto takova no eto edin primer:

If IsNumeric(Text1.Text) Then
MsgBox "V poleto e napisano chislo"
Else
MsgBox "V poleto ne e napisano chislo"
End If

Probvai pa moje i da stane :))))


Отговор
в отговор на GogoX #5

Решението по-горе,

което дадох ползва Windows API - нещо, което предполагам е възможно в VB. Освен това там се вижда, че има такъв стил за edit полета, така че предполагам още като си правиш формата можеш да кажеш, че това поле е само за числа.

Само да отбележа, че според MSDN, подобен стил (ES_NUMBER) не позволява да се въвеждат нечисла, но няма проблем да си paste-неш такива.

Отговор
в отговор на Someone #6

Re: Basic

Абе човека доколкото схващам си пита за Бейсик, не за VB или С. Все пак ГОГО е дал добро решение. Има е един по-куц начин:
If trim(a)=trim(str(val(trim(a)))) then - Значи е число :-))) Защото IsNumber извън VB няма да работи.

don't waste my time - waste yours !
Отговор