Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Input


Rekomendowane odpowiedzi

Opublikowano

Może użyj GUICtrlCreateUpdown(łączysz to z inputem) + funkcja GUICtrlSetLimit do cyfr 0-16

 

$input = GUICtrlCreateInput....
GUICtrlCreateUpdown($input)
GUICtrlSetLimit ($input, max,min)

Sprawdz tak ,albo help bo format jest i jeszcze nie zainstalowałem AutoIt

1387536187-U112334.png

Jeśli Ci pomogłem mógłbyś wynagrodzić lajkiem :)

Opublikowano
$input = GUICtrlCreateInput("",0,0,0,0,$ES_NUMBER)If IsNumber($Input) <> 1  Or GUICtrlRead($input) < 17 Or GUICtrlRead($input) > 1 Then   MsgBox(0,"","Wprowadź liczbe od 1 do 16")Else   MsgBox(0,"","Wprowadziłeś liczbę: "&GUICtrlRead($input))EndIf

Piszę z pamięci, nie jestem pewien czy działa.

 

@EDIT

Lub tak jak hehe7, był szybszy :)

Opublikowano

jak zrobić że jak wpisane jest więcej niż to 16 to usuwa znaki z inputa?

Opublikowano
If GUICtrlRead($input) < 16 Then
GuiCtrlSetData ( $input ,"")
EndIf

Lub coś w tym stylu ponieważ narazie nie posiadam AutoIt.

1387536187-U112334.png

Jeśli Ci pomogłem mógłbyś wynagrodzić lajkiem :)

Opublikowano

Może użyj GUICtrlCreateUpdown(łączysz to z inputem) + funkcja GUICtrlSetLimit do cyfr 0-16

 

$input = GUICtrlCreateInput....
GUICtrlCreateUpdown($input)
GUICtrlSetLimit ( max,min)

Sprawdz tak ,albo help bo format jest i jeszcze nie zainstalowałem AutoIt

 

Może użyj GUICtrlCreateUpdown(łączysz to z inputem) + funkcja GUICtrlSetLimit do cyfr 0-16

 

$input = GUICtrlCreateInput....
GUICtrlCreateUpdown($input)
GUICtrlSetLimit ( max,min)

Sprawdz tak ,albo help bo format jest i jeszcze nie zainstalowałem AutoIt

wyskakuje strzałka w dół i lipa

 

 

$input = GUICtrlCreateInput("",0,0,0,0,$ES_NUMBER)
If IsNumber($Input) <> 1  Or GUICtrlRead($input) < 17 Or GUICtrlRead($input) > 1 Then
   MsgBox(0,"","Wprowadź liczbe od 1 do 16")
Else
   MsgBox(0,"","Wprowadziłeś liczbę: "&GUICtrlRead($input))
EndIf

Piszę z pamięci, nie jestem pewien czy działa.

 

@EDIT

Lub tak jak hehe7, był szybszy :)

 

 

$input = GUICtrlCreateInput("",0,0,0,0,$ES_NUMBER)
If IsNumber($Input) <> 1  Or GUICtrlRead($input) < 17 Or GUICtrlRead($input) > 1 Then
   MsgBox(0,"","Wprowadź liczbe od 1 do 16")
Else
   MsgBox(0,"","Wprowadziłeś liczbę: "&GUICtrlRead($input))
EndIf

Piszę z pamięci, nie jestem pewien czy działa.

 

@EDIT

Lub tak jak hehe7, był szybszy :)

tutaj cały czas 1 msgbox

Opublikowano

wyskakuje strzałka w dół i lipa

A czy napewno wpisałeś dobre liczby zamiast max min?? Np

 

GUICtrlSetLimit ($input, 16,1)

1387536187-U112334.png

Jeśli Ci pomogłem mógłbyś wynagrodzić lajkiem :)

Opublikowano
#include <GUIConstants.au3>

 

#include <editconstants.au3>
#include <windowsconstants.au3>
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 371, 161, 242, 218)
$Input1 = GUICtrlCreateInput("", 40, 48, 273, 21,$ES_NUMBEr)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
GUIRegisterMsg($WM_COMMAND, "My_WM_COMMAND")
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd


Func My_WM_COMMAND($hWnd, $imsg, $iwParam, $ilParam)
    Local $setHK = False
    $nNotifyCode = BitShift($iwParam, 16)
    $nID = BitAND($iwParam, 0x0000FFFF)
    $hCtrl = $ilParam
    If $nNotifyCode = $EN_CHANGE And $hCtrl = GUICtrlGetHandle($Input1) Then
        ConsoleWrite("edycja input1" & @CRLF)
        $read = GUICtrlRead($Input1)
        If not ($read <= 16 And $read >= 1) Then
            If $read > 16 Then
            GUICtrlSetData($Input1, "16")
            tooltip("Za duza liczba")
            elseIf $read < 1 Then
            GUICtrlSetData($Input1, "1")
            ToolTip("Za mala liczba")
            EndIf
        EndIf
    EndIf
    Return $GUI_RUNDEFMSG
EndFunc   ;==>My_WM_COMMAND
 

 

 

o takie coś ci chodzi? usuwa znaki inne niż cyfry, + zmienia wartośći jeżeli za duże lub za małe, można dodać jeszcze tool tipa

 

@edit

zapomniałem o $es_number, beka...

zaraz poprawie w wrzuce

Opublikowano

Sorry ! Mój błąd


$input = GUICtrlCreateInput....
$jakaszmienna GUICtrlCreateUpdown($input)
GUICtrlSetLimit (-1, max,min)

zapomniałem dodać uchwyt do Updown a dawałem do input. Teraz już działa jak nalezy. Za max i min podstawiasz cyfry.

1387536187-U112334.png

Jeśli Ci pomogłem mógłbyś wynagrodzić lajkiem :)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...