Hello Guest it is September 16, 2024, 04:42:57 PM

### Author Topic: Y axis manual input  (Read 6130 times)

0 Members and 1 Guest are viewing this topic.

#### tmax1

• 9
##### Re: Y axis manual input
« Reply #10 on: January 05, 2019, 04:32:22 PM »
TPS
I am extremely impressed with your code writing ability....I can write some basic stuff, but this is awesome

Is there any way to make the number appear in the DRO as you are entering it, like it shows in the pop up num pad?

I will gladly share the screen set I am designing with you when I'm done.....

#### TPS

• 2,528
##### Re: Y axis manual input
« Reply #11 on: January 06, 2019, 04:11:38 AM »
hi tmax1,

here the code with "online update" of the DRO during Input.

Code: [Select]
`Global value As StringGlobal DroNum  As IntegerSub Main 'declare variables Dim YPos As Double Dim OldDroValue As Double Dim YMinPos As Double Dim YMaxPos As Double 'preset the variables YMinPos = 1.0 YMaxPos = 50.0 DroNum  = 1201 'get the actual DRO value OldDroValue = GetOemDro(DroNum) 'show the virtual keyboard call NumericKeyboard(DroNum,YMinPos,YMaxPos) 'get the new DRO value YPos = GetOEMDro(DroNum) 'check that the entered value has changed If YPos <> OldDroValue Then 'doe the move Code "G0Y"+CStr(YPos) Message "driving Y to: " & YPos End If End Sub'TPS 01.12.2017'numerische EingabeFunction NumericKeyboard(ByVal DRONum as Integer , ByVal Min as Double , ByVal Max as Double) As Double Dim title as String value = "" 'GetOemDRO(DRONum) title = Header Begin Dialog UserDialog1 60,60, 105, 210, "input value:"  , .Enable PushButton 10, 10, 25, 25, "7", .but7 PushButton 40, 10, 25, 25, "8", .but8 PushButton 70, 10, 25, 25, "9", .but9 PushButton 10, 40, 25, 25, "4", .but4 PushButton 40, 40, 25, 25, "5", .but5 PushButton 70, 40, 25, 25, "6", .but6 PushButton 10, 70, 25, 25, "1", .but1 PushButton 40, 70, 25, 25, "2", .but2 PushButton 70, 70, 25, 25, "3", .but3 PushButton 10, 100, 25, 25, ".", .butD PushButton 40, 100, 25, 25, "0", .but0 PushButton 70, 100, 25, 25, "<-", .butB PushButton 10, 130, 25, 25, "+/-", .butN PushButton 40, 130, 25, 25, "Del", .butDel TextBox 10, 160, 85, 18, .FText PushButton 10, 185, 40, 21,"OK", .OK CancelButton 55, 185, 40, 21 End Dialog Dim Dlg1 As UserDialog1 Dlg1.FText = CStr(value) x = Dialog( Dlg1 ) NumericKeyboard = CDbl(Dlg1.FText) If CDbl(Dlg1.FText) < Min Then NumericKeyboard = Min If CDbl(Dlg1.FText) > Max Then NumericKeyboard = Max SetOEMDro(DRONum,NumericKeyboard) End FunctionFunction Enable( ControlID\$, Action%, SuppValue%) Select Case Action% Case 1 Case 2 'Button wurde gerückt If ControlID\$ = "but0" Then value = CStr(value) + "0" DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "but1" Then value = CStr(value) + "1" DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "but2" Then value = CStr(value) + "2" DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "but3" Then value = CStr(value) + "3" DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "but4" Then value = CStr(value) + "4" DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "but5" Then value = CStr(value) + "5" DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "but6" Then value = CStr(value) + "6" DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "but7" Then value = CStr(value) + "7" DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "but8" Then value = CStr(value) + "8" DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "but9" Then value = CStr(value) + "9" DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "butD" Then    If InStr(1,value,".") = 0 Then value = CStr(value) + "." DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1    End If End If If ControlID\$ = "butB" Then value = Left(value,Len(value)-1) DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "butN" Then If Left(value,1) = "-" Then value = "+" + CStr(Right(value,Len(value)-1)) Else If Left(value,1) = "+" Then value = "-" + CStr(Right(value,Len(value)-1)) Else value = "-" + CStr(value) End If End If DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "butDel" Then value = "" DlgText "FText", CStr(value) SetOEMDro(DRONum,CDbl(value)) Enable =1 End If If ControlID\$ = "OK" Then Enable = -1 End If Case 3 'Text verändert 'MsgBox Dlg1.FText Case Else End Select 'Wert zurückgeben If Enable = -1 Then Enable = value End IfEnd Function    `
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.

#### tmax1

• 9
##### Re: Y axis manual input
« Reply #12 on: January 06, 2019, 07:25:45 PM »
Works Perfect, thank you so much!