Promotic
WikipediaLinkedInYoutubeTwitterFacebook

InputBox - metoda obiektu Pm

Opis:
Wprowdzenie wartości przez użytkownika (za pośrednictwem okna edycyjnego) jednej lub kilku zmiennych (zmienne typu tablica).

Niniejsza metoda jest przestarzała (lecz funkcjonalna) i jest zastąpiona objektem PmForm.

Składnia:
InputBox(sDlgTitle As String, sDlgStyle As String, vItemValue As Variant, vItemName As Variant, vItemType As Variant, [vItemAttr1 As Variant], [vItemAttr2 As Variant]) As Boolean
Wołanie:
val = Pm.InputBox("Nazwa", sDlgStyle, vItemValue, vItemName, vItemType, vItemAttr1, vItemAttr2)
Parametry:
sDlgTitle(String) Nazwa okna edycyjnego
sDlgStyle(String) Styl okna. Przykład: "left:100;top:200;z-order:topmost;button-cancel:no;"
left - Pozycja lewej krawędzi okna względem całego ekranu (w pikselach). Dla określenia pozycji można wykorzystać na przykład właściwość PmiItem.ScreenX lub PmPanel.ScreenX.
right - Pozycja prawej krawędzi okna względem do całego ekranu monitora (w pikselach). Nie określać, jeżeli jest określony left. Jeżeli nie jest określony ani left ani right, wtedy okno zostanie wycentrowane poziomo.
top - Pozycja górnej krawędzi okna względem do całego ekranu monitora (w pikselach). Do okreólenia pozycji można wykorzystać na przykład właściwość PmiItem.ScreenY lub PmPanel.ScreenY.
bottom - Pozycja dolnej krawędzi okna względem całego ekranu monitora (w pikselach). Nie określać, jeżeli jest określony top. Jeżeli nie jest określony ani top ani bottom, wtedy okno zostanie wycentrowane pionowo.
z-order - wartość topmost oznacza, że okno zostanie wyświetlone ponad wszystkimi oknami Windows.
button-cancel - Wygląd przycisku Cofnij. Wartość no oznacza, że przycisk nie będzie widoczny.
vItemValue[do odczytu i zapisu] (Variant) zmienna (lub tablica zmiennych) do wprowadzenia wartości
vItemName(Variant) Tekst opisu (lub tablica z tekstami opisu) do zmiennej vItemValue
vItemType(Variant) tekst (lub tablica tekstów) określająca typ wprowadzanej wartości:
"string" - Jest wprowadzana wartość tekstowa (typ danych String). Wygląd graficzny wprowadzania jest EditBox.
vItemAttr1 (typ Integer) określa maksymalną liczbę wyświetlonych znaków (tzn. wpływa na szerokość EditBoxa). Maksymalna długość wprowadzanego tekstu wynosi 1000 znaków. Jeżeli ilość wyświetlonych znaków jest mniejsze niż ilość wprowadzanych znaków, wtedy w oknie do wprowadzanai można poruszać się przy pomocy klawiszy kursora (skrolować).
vItemAttr2 nie jest wykorzystane - nie określać lub ustawić na Empty.
"int" - Jest wprowadzana liczba całkowita (typ danych Long, Integer lub Byte). Wygląd graficzny wprowadzania jest EditBox.
vItemAttr1 (typ Long) określa zakres dolny wprowadzanej wartości (nie określać lub ustawić na Empty jeżeli nie ma być kontrolowany).
vItemAttr2 (typ Long) określa zakres górny wprowadzanej wartości (nie określać lub ustawić na Empty jeżeli nie ma być kontrolowany).
"real" - Jest wprowadzana liczba rzeczywista (typ danych Single lub Double). Wygląd graficzny wprowadzania jest EditBox.
vItemAttr1 (typ Double) określa zakres dolny wprowadzanej wartości (nie określać lub ustawić na Empty jeżeli nie ma być kontrolowany).
vItemAttr2 (typ Double) określa zakres górny wprowadzanej wartości (nie określać lub ustawić na Empty jeżeli nie ma być kontrolowany).
"bool" - Jest wprowadzana wartość true lub false (typ danych Boolean). Wygląd graficzny wprowadzania jest CheckBox.
vItemAttr1 i vItemAttr2 nie jest wykorzystane - nie określać lub ustawić na Empty.
"enum" - Wybór z kilku zdefiniowanych opcji. Wprowadzana jest nie ujemna liczba całkowita (typ danych Long), która przedstawia indeks (indeksowane od 0) wyboru z kilku opcji. Wygląd graficzny wprowadzania jest ComboBox.
vItemAttr1 (typ Integer) określa maksymalną liczbę wyświelonych znaków (tzn. określa szerokość ComboBoxu).
vItemAttr2 (typ String) określa opcje. Chodzi o tekst słów, oddzielanych znakiem | (tzn. linia pionowa), na przykład "1.opcja|2.opcja".

Wartość w vItemValue (typu Long) na początku określa słowo, które będzie domyślnie wybrane. Na końcu znajduje się tam indeks wybranej opcji (słowa).

"password" - Jest wprowadzany tekst (typ danych String) jako hasło. Wygląd graficzny wprowadzania jest EditBox, lecz zamiast wprowadzanych znaków są wyświetlane tylko gwiazdki *.
vItemAttr1 i vItemAttr2 mają takie samo znaczenie jak w przypadku typu "string".
"static" - Nie służy do wprowadzania. Wyświetla tylko tekst statyczny, który jest określony w parametrze vItemName. W tym tekście mogą znajdować cię takie znaki jak "nowy wiersz" (patrz stała vbCrLf), do rozdzielenia wiersza dojdzie również jeżeli wyświetlony tekst byłby zbyt szeroki. Parametr vItemValue nie jest wykorzystany - ustawić na Empty.
vItemAttr1 (typ String) okreóla wygląd tsktu statycznego. Jeżeli nie jest określony lub jest ustawiony na Empty, wtedy tekst jest wyrównany w lewo. Jeżeli jest wprowadzony tekst "center", wtedy tekst jest wycentrowany.
vItemAttr2 nie jest wykorzystane - nie określać lub ustawić na Empty.
vItemAttr1[opcjonalne] (Variant) Pierwszy atrybut (lub tablica atrybutów) którego znaczenie zmienia się w zależności od vItemType
vItemAttr2[opcjonalne] (Variant) Drugi atrybut (lub tablica atrybutów) którego znaczenie zmienia się w zależności od vItemType
Wartość zwrotna:
true - Jeżeli InputBox był zamknięty przy pmocy przycisku OK
false - Jeżeli InputBox był zamknięty przy pmocy przycisku Cofnij
Notatka:
Do wytwarzania bardziej złożonych dialogów do wprowadzania można zastosować obiekt PmPanel otwarty przy pomocy metody PmPanel.OpenView.
 
Metoda ta na razie nie działa w Web panelach.
Przykład1:
Proste zastosowanie metody do wprowadzenia jednej wartości:
VBScriptWybierz oraz skopiuj do schowka

Dim val
val = 3.14
If Pm.InputBox("Wprowadź wartość", "", val, "Moc", "real", 0, 100) Then
  'Jeżeli InputBox został zakończony przy pomocy przycisku OK
  Pm.Debug "val=" & val
End If
Przykład2:
InputBox można wykorzystać tylko do wyświetlania tekstu w podobny sposób jak Pm.MessageBox. InputBox jest jednak bardziej uniwersalny i można określić na przykład współrzędne umieszczenia okna:
VBScriptWybierz oraz skopiuj do schowka

Dim sText
sText = "Błąd uruchomienia trybu ochrony" & vbCrLf & "Temperatura poza dozwolonym zakresem"
Pm.InputBox("Błąd krytyczny", "button-cancel:no;left:300;top:300;", Empty, sText, "static", "center")
Przykład3:
Wprowadzenie jednej zmiennej rzeczywistej w zakresie <40, 80> do obiektu PmNumber o nazwie "Number". InputBox jest wywołany w zdarzeniu elementu graficznego (tzn. parametr pMe jest ten element graficzny) i jest ulokowany po lewej (w zakomentowanym wierszu - W prawo) od tego elementu:
VBScriptWybierz oraz skopiuj do schowka

Dim sStyle, oNumber, val
Set oNumber = pMe.Pm("/Number")
val = oNumber.Value
sStyle = "right:" & pMe.ScreenX & ";top:" & pMe.ScreenY & ";"
'sStyle = "left:" & pMe.ScreenX + pMe.Dx & ";top:" & pMe.ScreenY & ";"
'sStyle = "left:" & pMe.PmPanel.ScreenX + 100 & ";top:" & pMe.PmPanel.ScreenY + 100 & ";"
If Pm.InputBox("Wprowadź wartość", sStyle, val, "Moc", "real", 40, 80) Then
  'Jeżeli InputBox został zakończony przy pomocy przycisku OK
  oNumber.Value = val
End If
Przykład4:
Wprowadzenie kilku wartości jednocześnie, okno jest wyświetlane "Zawsze na wierzchu" i jest umieszczone na środku ekranu monitora:
VBScriptWybierz oraz skopiuj do schowka

Dim arrValue, arrName, arrStyle, arrAttr1, arrAttr2, ret
arrValue = Array("Segregowanie", true, 2, 0.4, Empty, 1)
arrName = Array("Nazwa procesu", "Zezwolony", "Ilość powtórzeń", "Procent pomyślności", "", "Wybór trybu")
arrStyle = Array("string", "bool", "int", "real", "static", "enum")
arrAttr1 = Array(20, Empty, 0, 0, Empty, 20)
arrAttr2 = Array(Empty, Empty, 10, 1, Empty, "Wsadowy|Spójny|Dyskretny")
ret = Pm.InputBox("Dane wejściowe", "z-order:topmost;", arrValue, arrName, arrStyle, arrAttr1, arrAttr2)
If ret Then
  'Jeżeli InputBox został zakończony przy pomocy przycisku OK
  Pm.Debug "Nazwa procesu:" & arrValue(0)
  Pm.Debug "Zezwolony:" & arrValue(1)
  Pm.Debug "Ilość powtórzeń:" & arrValue(2)
  Pm.Debug "Procent pomyślności:" & arrValue(3)
  Pm.Debug "Wybór trybu:" & arrValue(5)
End If
Navigacja:
 
- Pm
 
- Abs
- Cos
- E
- Exp
- InputBox
 
 
- LN2
- PI
- Pow
- Sin
- Tan
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice