Initial Comit

This commit is contained in:
2021-12-19 10:56:25 +01:00
commit b8c9c75cf8
2351 changed files with 1819654 additions and 0 deletions

51
DPMCharge/About.bas Normal file
View File

@@ -0,0 +1,51 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=11
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Private ImageView1 As ImageView
Private Label5 As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
Activity.LoadLayout("About")
Activity.Title="Über..."
Label5.text=Chr(0x00A9)& "2021 - Stefan Hutter Unternehmensberatung"
Dim Any As Animation
Any.InitializeRotateCenter("",360,0,ImageView1)
Any.Duration=3000
ImageView1.Tag=Any
Any.Start(ImageView1)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Private Sub Button3_Click
Activity.Finish
End Sub

253
DPMCharge/AppMain.bas Normal file
View File

@@ -0,0 +1,253 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=11
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Public PatID As String
Public sURL As String=""
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Private bs1 As BillScanner
Private Button1 As Button
Private Button2 As Button
Dim JobName As String
Dim PatName As String
Private txtPatNr As EditText
Private pnlEnterPatID As Panel
Private lblPatient As Label
Private timeout As Long
Private dtnow As Long
Private btnSearchPat As Button
Dim PatTimer As Timer
Dim StartTimer As Timer
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.AddMenuItem("Parameter","bt1")
Activity.AddMenuItem("Über...","bt2")
'Do not forget to load the layout file created with the visual designer. For example:
Activity.LoadLayout("main")
Activity.Title="DPM - Charge Scanner"
bs1.ScanMode = bs1.FORMAT_ONE_D
PatID=0
If File.Exists(File.DirInternal ,"DPM.ini") = True Then
Get_Params
Else
'StartActivity("Param")
End If
PatTimer.Initialize("timer",timeout)
If TempData.pid<>"" Then
get_Pat(TempData.pid)
TempData.pid=""
End If
End Sub
Sub Activity_Resume
If TempData.pid<>"" Then PatID=TempData.pid
If File.Exists(File.DirInternal ,"DPM.ini") = True Then
Get_Params
PatTimer.Enabled=False
PatTimer.Initialize("timer",timeout)
PatTimer.Enabled=True
End If
End Sub
Sub Activity_Pause (UserClosed As Boolean)
Try
bs1.stopScanning
Catch
End Try
PatID=0
End Sub
Sub Timer_Tick
PatID=0
lblPatient.Text="Bitte Patient auswählen"
End Sub
Sub Get_Params
Dim TR As TextReader
Dim inp As InputStream
inp=File.OpenInput(File.DirInternal , "DPM.ini")
TR.Initialize(inp)
Try
sURL=TR.Readline
Catch
sURL=""
End Try
Try
timeout = TR.ReadLine
Catch
timeout=30000
End Try
TR.Close
End Sub
Sub DateDiff (units, date1, date2)
Try
Dim x As Long
Dim y As Long
Dim z As Long
x=DateTime.DateParse(date1)
y=DateTime.DateParse(date2)
Select units
Case "ss"
z=60
End Select
Return (y-x) / z
Catch
Return 10
End Try
End Sub
Sub bs1_scan_value(val As String, rawbyte() As Byte, barcodetype As Int)
'bs1.stopScanning
'Log("Value = " & val)
'Log("type = " & barcodetype)
'Log(" ")
If DateDiff("ss",dtnow,DateTime.Now)<2 Then Return
Dim job As HttpJob
JobName="PostCharche"
job.Initialize(JobName, Me)
dtnow=DateTime.Now
job.PostString(sURL&"/DPMService/api/PatCharge/"&PatID&"/"&val,"")
Dim b As Beeper
b.Initialize(300, 500) '300 milliseconds, 500 hz
'b.Beep
PatTimer.Enabled=True
End Sub
Sub Button1_Click
If PatID=0 Then
ToastMessageShow("Bitte zuerst Patient wählen",True)
End If
bs1.startScanning
PatTimer.Enabled=False
End Sub
Private Sub Button2_Click
Try
bs1.stopScanning
Catch
End Try
End Sub
Sub get_Pat(id As String)
Dim job As HttpJob
JobName="GetPat"
job.Initialize(JobName, Me)
Dim callurl As String
callurl=sURL&"/DPMService/api/Service_View_Pat/"&id
job.Download(callurl)
'job.Download("http://192.168.111.67/DPMService/api/Service_View_Pat/"&id)
End Sub
Sub JobDone(Job As HttpJob)
ProgressDialogHide
If Job.Success Then
Dim res As String
res = Job.GetString
Dim parser As JSONParser
parser.Initialize(res)
Log("Response from server: " & res)
Select Job.JobName
Case "GetPat"
Dim list1 As List
list1 = parser.NextArray
If list1.Size<1 Then
ToastMessageShow("Patient nicht vorhanden.",True)
pnlEnterPatID.Visible=True
Return
End If
Dim map1 As Map
map1 = list1.Get(0)
Log(map1)
PatID = map1.Get("id")
PatName=map1.Get("pat")
lblPatient.Text=PatName
Case "PostCharche"
ToastMessageShow("Barcode erfolgreich gespeichert",False)
End Select
Else
ToastMessageShow("Funktionsaufruf fehlgeschlagen.",True)
End If
Job.Release
End Sub
Private Sub btnSearchPat_Click
PatTimer.Enabled=False
get_Pat(txtPatNr.Text)
pnlEnterPatID.Visible=False
btnSearchPat.RequestFocus
PatTimer.Enabled=True
End Sub
Private Sub btnEnterPatID_Click
txtPatNr.ForceDoneButton=True
pnlEnterPatID.Visible=True
txtPatNr.Text=""
txtPatNr.RequestFocus
End Sub
Private Sub lblPatient_LongClick
StartActivity("Param")
End Sub
Sub bt1_Click
StartActivity("Param")
End Sub
Sub bt2_click
StartActivity("About")
End Sub
Private Sub btnListdata_Click
'StartActivity(ListData)
'CallSubDelayed3(ListData,"get_data",txtPatNr.text,sURL)
ListData.PatID=PatID
TempData.pid=PatID
TempData.pname=lblPatient.Text
ListData.sURL=sURL
'CallSubDelayed(ListData,"")
StartActivity("ListData")
End Sub

306
DPMCharge/DPMCharge.b4a Normal file
View File

@@ -0,0 +1,306 @@
Build1=Default,shub.dpm
Build2=DPM,shub.dpm,Vollversion
File1=About.bal
File10=StopScan.png
File2=daten.png
File3=icon.png
File4=LData.bal
File5=main.bal
File6=Parameter.bal
File7=Patient.png
File8=Scan.PNG
File9=Splash.bal
FileGroup1=Default Group
FileGroup10=Default Group
FileGroup2=Default Group
FileGroup3=Default Group
FileGroup4=Default Group
FileGroup5=Default Group
FileGroup6=Default Group
FileGroup7=Default Group
FileGroup8=Default Group
FileGroup9=Default Group
Group=Default Group
Library1=animation
Library10=xui
Library11=xui views
Library12=xui2d
Library13=dateutils
Library2=audio
Library3=billscanner
Library4=core
Library5=javaobject
Library6=json
Library7=okhttputils2
Library8=phone
Library9=stringfunctions
ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="28"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.DarkTheme)~\n~CreateResourceFromFile(Macro, Core.NetworkClearText)~\n~'End of default text.~\n~~\n~AddApplicationText(<meta-data~\n~ android:name="com.google.android.gms.version"~\n~ android:value="@integer/google_play_services_version" />~\n~ <meta-data~\n~ android:name="com.google.android.gms.vision.DEPENDENCIES"~\n~ android:value="barcode" />)~\n~' <meta-data~\n~' android:name="com.google.android.gms.vision.DEPENDENCIES"~\n~' android:value="ocr" />)~\n~ ~\n~AddManifestText(<uses-feature android:name="android.hardware.camera" android:required="true" />)~\n~AddManifestText(<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />)~\n~AddManifestText(<uses-feature android:name="android.hardware.camera.flash" android:required="false" />)~\n~~\n~~\n~''Put your key here!!!!!!!!!!! ~\n~'AddApplicationText(<meta-data android:name="my_api_key" android:value="b68f0ca489d783d318c07cc7b244227aabd5-97e5-11e8-bbf1-4b59" />~\n~') ~\n~'SetApplicationAttribute(android:name, "androidx.multidex.MultiDexApplication")
Module1=About
Module2=AppMain
Module3=ListData
Module4=Param
Module5=Starter
Module6=TempData
NumberOfFiles=10
NumberOfLibraries=13
NumberOfModules=6
Version=11
@EndOfDesignText@
#Region Project Attributes
#ApplicationLabel: DPM ChargeScan
#VersionCode: 1
#VersionName: Initial
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False
#MultiDex: True
#End Region
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
'Public PatID As String
'Public sURL As String=""
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
' Private bs1 As BillScanner
' Private Button1 As Button
'
' Private Button2 As Button
' Dim JobName As String
'
' Dim PatName As String
' Private txtPatNr As EditText
' Private pnlEnterPatID As Panel
' Private lblPatient As Label
' Private timeout As Long
'
'
'
' Private btnSearchPat As Button
' Dim PatTimer As Timer
' Dim StartTimer As Timer
Private Label3 As Label
Private ImageView1 As ImageView
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime=True Then
Activity.LoadLayout("Splash")
Label3.text= Chr(0x00A9)& "2021 - Stefan Hutter Unternehmensberatung"
Dim ani As Animation
ImageView1.Left=(100%x-ImageView1.Width)/2
ani.InitializeScaleCenter("",0,0,1,1,ImageView1)
ani.Duration=800
ImageView1.Tag=ani
ani.Start(ImageView1)
Sleep(4000)
End If
StartActivity("AppMain")
End Sub
' Activity.AddMenuItem("Parameter","bt1")
' Activity.AddMenuItem("Über...","bt2")
' 'Do not forget to load the layout file created with the visual designer. For example:
' Activity.LoadLayout("main")
' Activity.Title="DPM - Charge-Scanner"
' bs1.ScanMode = bs1.FORMAT_ONE_D
' PatID=0
' If File.Exists(File.DirInternal ,"DPM.ini") = True Then
' Get_Params
' Else
' 'StartActivity("Param")
' End If
' PatTimer.Initialize("timer",timeout)
' If TempData.pid<>"" Then
' get_Pat(TempData.pid)
' TempData.pid=""
' End If
' End Sub
'
' Sub Activity_Resume
' If TempData.pid<>"" Then PatID=TempData.pid
' If File.Exists(File.DirInternal ,"DPM.ini") = True Then
' Get_Params
' PatTimer.Enabled=False
' PatTimer.Initialize("timer",timeout)
' PatTimer.Enabled=True
' End If
' End Sub
'
' Sub Activity_Pause (UserClosed As Boolean)
'
' Try
' bs1.stopScanning
' Catch
' End Try
' PatID=0
' End Sub
'
'
' Sub Timer_Tick
' PatID=0
' lblPatient.Text="Bitte Patient auswählen"
' End Sub
'
' Sub Get_Params
' Dim TR As TextReader
' Dim inp As InputStream
' inp=File.OpenInput(File.DirInternal , "DPM.ini")
' TR.Initialize(inp)
' Try
' sURL=TR.Readline
' Catch
' sURL=""
' End Try
' Try
' timeout = TR.ReadLine
'
' Catch
' timeout=30000
' End Try
'
' TR.Close
' End Sub
'
' Sub bs1_scan_value(val As String, rawbyte() As Byte, barcodetype As Int)
'
' Log("Value = " & val)
' Log("type = " & barcodetype)
' Log(" ")
'
' Dim job As HttpJob
' JobName="PostCharche"
' job.Initialize(JobName, Me)
'
' job.PostString(sURL&"/DPMService/api/PatCharge/"&PatID&"/"&val,"")
' bs1.stopScanning
' Dim b As Beeper
' b.Initialize(300, 500) '300 milliseconds, 500 hz
' b.Beep
' PatTimer.Enabled=True
' End Sub
'
' Sub Button1_Click
' If PatID=0 Then
' ToastMessageShow("Bitte zuerst Patient wählen",True)
' End If
' bs1.startScanning
' PatTimer.Enabled=False
' End Sub
'
' Private Sub Button2_Click
' Try
' bs1.stopScanning
' Catch
' End Try
' End Sub
'
'
' Sub get_Pat(id As String)
' Dim job As HttpJob
' JobName="GetPat"
' job.Initialize(JobName, Me)
'
' Dim callurl As String
' callurl=sURL&"/DPMService/api/Service_View_Pat/"&id
' job.Download(callurl)
' 'job.Download("http://192.168.111.67/DPMService/api/Service_View_Pat/"&id)
'
' End Sub
'
'
' Sub JobDone(Job As HttpJob)
' ProgressDialogHide
' If Job.Success Then
' Dim res As String
' res = Job.GetString
' Dim parser As JSONParser
' parser.Initialize(res)
'
' Log("Response from server: " & res)
'
' Select Job.JobName
' Case "GetPat"
'
' Dim list1 As List
' list1 = parser.NextArray
' If list1.Size<1 Then
' ToastMessageShow("Patient nicht vorhanden.",True)
' pnlEnterPatID.Visible=True
' Return
' End If
' Dim map1 As Map
' map1 = list1.Get(0)
' Log(map1)
'
' PatID = map1.Get("id")
' PatName=map1.Get("pat")
' lblPatient.Text=PatName
' Case "PostCharche"
' ToastMessageShow("Barcode erfolgreich gespeichert",False)
' End Select
' Else
' ToastMessageShow("Funktionsaufruf fehlgeschlagen.",True)
' End If
' Job.Release
' End Sub
'
'
'
' Private Sub btnSearchPat_Click
' PatTimer.Enabled=False
' get_Pat(txtPatNr.Text)
' pnlEnterPatID.Visible=False
' btnSearchPat.RequestFocus
' PatTimer.Enabled=True
' End Sub
'
' Private Sub btnEnterPatID_Click
' txtPatNr.ForceDoneButton=True
' pnlEnterPatID.Visible=True
' txtPatNr.Text=""
' txtPatNr.RequestFocus
' End Sub
'
' Private Sub lblPatient_LongClick
' StartActivity("Param")
' End Sub
'
' Sub bt1_Click
' StartActivity("Param")
' End Sub
' Sub bt2_click
' StartActivity("About")
' End Sub
'
' Private Sub btnListdata_Click
'
' 'StartActivity(ListData)
' 'CallSubDelayed3(ListData,"get_data",txtPatNr.text,sURL)
' ListData.PatID=PatID
' TempData.pid=PatID
' TempData.pname=lblPatient.Text
' ListData.sURL=sURL
' 'CallSubDelayed(ListData,"")
'
' StartActivity("ListData")
' End Sub
'

View File

@@ -0,0 +1,24 @@
ModuleBookmarks0=
ModuleBookmarks1=
ModuleBookmarks2=
ModuleBookmarks3=
ModuleBookmarks4=
ModuleBookmarks5=
ModuleBookmarks6=
ModuleBreakpoints0=
ModuleBreakpoints1=
ModuleBreakpoints2=127
ModuleBreakpoints3=
ModuleBreakpoints4=
ModuleBreakpoints5=
ModuleBreakpoints6=
ModuleClosedNodes0=
ModuleClosedNodes1=
ModuleClosedNodes2=
ModuleClosedNodes3=
ModuleClosedNodes4=
ModuleClosedNodes5=
ModuleClosedNodes6=
NavigationStack=AppMain,JobDone,177,0,AppMain,Activity_Create,37,0,AppMain,Timer_Tick,78,0,AppMain,Activity_Pause,73,0,AppMain,Button2_Click,132,0,AppMain,Globals,29,6,AppMain,Get_Params,101,0,AppMain,Button1_Click,141,0,AppMain,bs1_scan_value,126,6,AppMain,DateDiff,102,6
SelectedBuild=0
VisibleModules=3,4,5,6,1,2

18
DPMCharge/DPMCharge.meta Normal file
View File

@@ -0,0 +1,18 @@
ModuleBookmarks0=
ModuleBookmarks1=
ModuleBookmarks2=
ModuleBookmarks3=
ModuleBookmarks4=
ModuleBreakpoints0=
ModuleBreakpoints1=
ModuleBreakpoints2=
ModuleBreakpoints3=
ModuleBreakpoints4=
ModuleClosedNodes0=
ModuleClosedNodes1=
ModuleClosedNodes2=
ModuleClosedNodes3=
ModuleClosedNodes4=
NavigationStack=Main,Activity_Create,49,6,Main,lblPatient_LongClick,206,0,Main,bt1_Click,206,0,ListData,AddRow,199,0,ListData,JobDone,79,0,ListData,Globals,31,0,ListData,Cell_LongClick,123,3,ListData,bClose_Click,258,0,ListData,Activity_Pause,241,0,Main,Button2_Click,135,3,Main,bs1_scan_value,107,0
SelectedBuild=0
VisibleModules=3,2,1,4

BIN
DPMCharge/Files/about.bal Normal file

Binary file not shown.

BIN
DPMCharge/Files/daten.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
DPMCharge/Files/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
DPMCharge/Files/ldata.bal Normal file

Binary file not shown.

BIN
DPMCharge/Files/main.bal Normal file

Binary file not shown.

Binary file not shown.

BIN
DPMCharge/Files/patient.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

BIN
DPMCharge/Files/scan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
DPMCharge/Files/splash.bal Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

265
DPMCharge/ListData.bas Normal file
View File

@@ -0,0 +1,265 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=11
@EndOfDesignText@
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
Public PatID As String
Public sURL As String
End Sub
Sub Globals
Dim jobname As String
Dim SV As ScrollView
Dim BtnClose As Button
Dim Header As Panel
Dim Table As Panel
Dim NumberOfColumns, RowHeight, ColumnWidth As Int
Dim HeaderColor, TableColor, FontColor, HeaderFontColor As Int
Dim FontSize As Float
Type RowCol (Row As Int, Col As Int)
Dim Alignment As Int
Dim SelectedRow As Int
Dim SelectedRowColor As Int
'Table settings
HeaderColor = Colors.Gray
NumberOfColumns = 3
RowHeight = 30dip
TableColor = Colors.White
FontColor = Colors.Black
HeaderFontColor = Colors.White
FontSize = 11
Alignment = Gravity.CENTER 'change to Gravity.LEFT or Gravity.RIGHT for other alignments.
SelectedRowColor = Colors.Blue
Dim list1 As List
End Sub
Sub Activity_Create(FirstTime As Boolean)
init_view
End Sub
Sub init_view
SV.Initialize(0)
Activity.LoadLayout("LData")
Table = SV.Panel
Table.Color = TableColor
Activity.AddView(SV, 5%x, 10%y, 90%x, 80%y)
ColumnWidth = SV.Width / NumberOfColumns
SelectedRow = -1
'add header
SetHeader(Array As String("ID", "Charge", "Datum"))
'add rows
Get_Data
Activity.Title="Daten " & TempData.pname
End Sub
Sub Get_Data
Dim job As HttpJob
jobname="GetData"
job.Initialize(jobname, Me)
job.Download(sURL&"/DPMService/api/PatCharge/"&PatID)
End Sub
Sub JobDone(Job As HttpJob)
ProgressDialogHide
If Job.Success Then
Dim res As String
res = Job.GetString
Dim parser As JSONParser
parser.Initialize(res)
Log("Response from server: " & res)
Select Job.JobName
Case "DelData"
list1.Clear
Table.RemoveAllViews
init_view
'Get_Data
Case "GetData"
list1 = parser.NextArray
Dim i As Int
For i=0 To list1.Size-1
Dim map1 As Map
map1=list1.Get(i)
Dim s1 As String
Dim s2 As String
Dim s3 As String
s1=map1.Get("id")
s2=map1.Get("charge")
s3=map1.Get("datum")
AddRow(Array As String(s1,s2,s3))
Next
If list1.Size<1 Then
ToastMessageShow("Keine Daten vorhanden.",True)
Return
End If
End Select
End If
End Sub
Sub Cell_LongClick
Dim rc As RowCol
Dim l As Label
Dim x As String
x=""
l = Sender
rc = l.Tag
SelectRow(rc.Row)
' Activity.Title = "Cell clicked: (" & rc.Row & ", " & rc.Col &")"
For i=0 To list1.Size-1
If i=rc.Row Then
Dim map1 As Map
map1=list1.Get(i)
x=map1.Get("id")
'ToastMessageShow(map1.Get("id"),False)
End If
Next
If x<>"" Then
Msgbox2Async("Eintrag Nr. "&x&" wirkllich löschen?", "Charge-Eintrag löschen", "Ja", "Nein", "", Null, False)
Wait For MsgBox_Result (Result As Int)
If Result = DialogResponse.POSITIVE Then
Dim job As HttpJob
jobname="DelData"
job.Initialize(jobname, Me)
job.Delete(sURL&"/DPMService/api/PatCharge/"&x)
End If
End If
End Sub
Sub Cell_Click
Dim rc As RowCol
Dim l As Label
l = Sender
rc = l.Tag
SelectRow(rc.Row)
' Activity.Title = "Cell clicked: (" & rc.Row & ", " & rc.Col &")"
For i=0 To list1.Size-1
If i=rc.Row Then
Dim map1 As Map
map1=list1.Get(i)
'ToastMessageShow(map1.Get("id"),False)
End If
Next
End Sub
Sub Header_Click
Dim l As Label
Dim col As Int
l = Sender
col = l.Tag
' Activity.Title = "Header clicked: " & col
End Sub
Sub SelectRow(Row As Int)
'remove the color of previously selected row
If SelectedRow > -1 Then
For col = 0 To NumberOfColumns - 1
GetView(SelectedRow, col).Color = Colors.Transparent
Next
End If
SelectedRow = Row
For col = 0 To NumberOfColumns - 1
GetView(Row, col).Color = SelectedRowColor
Next
End Sub
Sub GetView(Row As Int, Col As Int) As Label
Dim l As Label
l = Table.GetView(Row * NumberOfColumns + Col)
Return l
End Sub
Sub AddRow(Values() As String)
If Values.Length <> NumberOfColumns Then
Log("Wrong number of values.")
Return
End If
Dim lastRow As Int
lastRow = NumberOfRows
For i = 0 To NumberOfColumns - 1
Dim l As Label
l.Initialize("cell")
l.Text = Values(i)
l.Gravity = Alignment
l.TextSize = FontSize
l.TextColor = FontColor
Dim rc As RowCol
rc.Initialize
rc.Col = i
rc.Row = lastRow
l.Tag = rc
Table.AddView(l, ColumnWidth * i, RowHeight * lastRow, ColumnWidth, RowHeight)
Next
Table.Height = NumberOfRows * RowHeight
End Sub
Sub SetHeader(Values() As String)
If Header.IsInitialized Then Return 'should only be called once
Header.Initialize("")
For i = 0 To NumberOfColumns - 1
Dim l As Label
l.Initialize("header")
l.Text = Values(i)
l.Gravity = Gravity.CENTER
l.TextSize = FontSize
l.Color = HeaderColor
l.TextColor = HeaderFontColor
l.Tag = i
Header.AddView(l, ColumnWidth * i, 0, ColumnWidth, RowHeight)
Next
Activity.AddView(Header, SV.Left, SV.Top - RowHeight, SV.Width, RowHeight)
End Sub
Sub NumberOfRows As Int
Return Table.NumberOfViews / NumberOfColumns
End Sub
Sub SetCell(Row As Int, Col As Int, Value As String)
GetView(Row, Col).Text = Value
End Sub
Sub GetCell(Row As Int, Col As Int) As String
Return GetView(Row, Col).Text
End Sub
Sub ClearAll
For i = Table.NumberOfViews -1 To 0 Step -1
Table.RemoveViewAt(i)
Next
Table.Height = 0
SelectedRow = -1
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
'Sub get_DATA(id As String, surl As String)
'Dim job As HttpJob
'jobname="GetPat"
'job.Initialize(jobname, Me)
'
'Dim callurl As String
'callurl=surl&"/DPMService/api/Service_View_Pat/"&id
'job.Download(callurl)
''job.Download("http://192.168.111.67/DPMService/api/Service_View_Pat/"&id)
'
'End Sub
Private Sub bClose_Click
Activity.Finish
'StartActivity("Main")
End Sub

View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="shub.dpm"
android:versionCode="1"
android:versionName="Initial"
android:installLocation="internalOnly">
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="28"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>
<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.hardware.camera"/>
<uses-permission android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<application
android:name="androidx.multidex.MultiDexApplication"
android:icon="@drawable/icon"
android:label="DPM ChargeScan"
android:theme="@style/DarkTheme"
android:networkSecurityConfig="@xml/network_security_config">
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.gms.vision.DEPENDENCIES"
android:value="barcode" />
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".main"
android:label="DPM ChargeScan"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".listdata"
android:label="DPM ChargeScan"
android:screenOrientation="portrait">
</activity>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".param"
android:label="DPM ChargeScan"
android:screenOrientation="portrait">
</activity>
<service android:name=".starter">
</service>
<receiver android:name=".starter$starter_BR">
</receiver>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".about"
android:label="DPM ChargeScan"
android:screenOrientation="portrait">
</activity>
<activity
android:windowSoftInputMode="stateHidden"
android:launchMode="singleTop"
android:name=".appmain"
android:label="DPM ChargeScan"
android:screenOrientation="portrait">
</activity>
<service android:name=".httputils2service">
</service>
<receiver android:name=".httputils2service$httputils2service_BR">
</receiver>
</application>
</manifest>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,37 @@
.b4xdialog .scroll-bar:horizontal, .b4xdialog .scroll-bar:vertical{
-fx-background-color:transparent;
}
.b4xdialog .increment-button, .b4xdialog .decrement-button {
-fx-background-color: transparent;
-fx-border-color: transparent;
}
.b4xdialog .scroll-bar:horizontal .track,
.b4xdialog .scroll-bar:vertical .track{
-fx-background-color: transparent;
-fx-border-color: transparent;
-fx-background-radius: 0em;
}
.b4xdialog .scroll-bar:horizontal .thumb,
.b4xdialog .scroll-bar:vertical .thumb {
-fx-background-color: #4B4B4B;
-fx-background-radius: 5em;
}
.b4xdialoglight .scroll-bar:horizontal .thumb,
.b4xdialoglight .scroll-bar:vertical .thumb {
-fx-background-color: #B8B8B8;
}
.scroll-pane{
-fx-background-color:transparent;
}
.scroll-pane .viewport {
-fx-background-color: transparent;
}
.text-area .content {
-fx-padding: 15 5 5 5;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More