Files
Mariana_Reparto/B4A/C_Cheklist.bas
cvaldes1201 ab6bbcf7b9 checklist
2023-10-21 14:30:21 -06:00

268 lines
7.0 KiB
QBasic

B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=12.5
@EndOfDesignText@
Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
Private p_check As Panel
Private sv_datos As ScrollView
Private camEx As CameraExClass
Dim frontCamera As Boolean = False
Private p_cam As Panel
Dim nombrefoto As String = "0"
Dim nombrefoto1 As String = "0"
Dim nombrefoto2 As String = "0"
Dim nombrefoto3 As String = "0"
Private p_camara As Panel
Private teclado As IME
Dim fototomada As String
Private ImageView1 As ImageView
Private ImageView3 As ImageView
Private ImageView2 As ImageView
Private ImageView4 As ImageView
Private b_foto As Button
Dim device As Phone
Dim MES1 As ManageExternalStorage
Dim x As Int = 0
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
Return Me
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root.LoadLayout("checklist")
sv_datos.Height = Root.Height
sv_datos.Width = Root.Width
sv_datos.Panel.LoadLayout("check")
sv_datos.Panel.Height = p_check.Height
p_check.Width = Root.Width
p_camara.Width = Root.Width
p_camara.Height = Root.Height
End Sub
Private Sub B4XPage_Appear
MES1.Initialize(Me, "MES1")
' get the device SDK version
Dim SdkVersion As Int = device.SdkVersion
' Choose which permission to request in order to access external storgage
If SdkVersion < 30 Then
Log("SDK = " & SdkVersion & " : Requesting WRITE_EXTERNAL_STORAGE permission")
Dim rp As RuntimePermissions
rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE) ' Implicit read capability if granted
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
Log($"PERMISSION_WRITE_EXTERNAL_STORAGE = ${Result}"$)
Else
Log("SDK = " & SdkVersion & " : Requesting MANAGE_EXTERNAL_STORAGE permission")
Log("On Entry MANAGE_EXTERNAL_STORAGE = " & MES1.HasPermission)
If Not(MES1.HasPermission) Then
MsgboxAsync("This app requires access to all files, please enable the option", "Manage All Files")
Wait For Msgbox_Result(Res As Int)
Log("Getting permission")
MES1.GetPermission
Wait For MES_StorageAvailable
End If
End If
p_camara.Visible = False
End Sub
Private Sub InitializeCamera2
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
If Result Then
camEx.Initialize(p_cam, frontCamera, Me, "Camera1")
frontCamera = camEx.Front
Log("inicializamos Camara")
Else
ToastMessageShow("No permission!!!", True)
End If
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
If Result Then
Log("conpermisos para escritura")
Else
ToastMessageShow("No permission!!!", True)
End If
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_EXTERNAL_STORAGE)
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
If Result Then
Log("conpermisos para escritura")
Else
ToastMessageShow("No permission!!!", True)
End If
End Sub
Sub Camera1_Ready (Success As Boolean)
Log("Camara ready")
If Success Then
camEx.SetJpegQuality(90)
camEx.SetContinuousAutoFocus
camEx.CommitParameters
camEx.StartPreview
Log(camEx.GetPreviewSize)
Else
ToastMessageShow("Cannot open camera.", True)
Log("Cannot open camera")
End If
End Sub
Sub Camera1_PictureTaken (Data()As Byte)
If x = 1 Then
DateTime.DateFormat="ddMMyyyyHHmmss"
nombrefoto = DateTime.Now & "_FOTO1.jpg"
teclado.HideKeyboard
fototomada = nombrefoto
Else If x = 2 Then
DateTime.DateFormat="ddMMyyyyHHmmss"
nombrefoto1 = DateTime.Now & "_FOTO2.jpg"
teclado.HideKeyboard
fototomada = nombrefoto1
Else If x = 3 Then
DateTime.DateFormat="ddMMyyyyHHmmss"
nombrefoto2 = DateTime.Now & "_FOTO3.jpg"
teclado.HideKeyboard
fototomada = nombrefoto2
Else If x = 4 Then
DateTime.DateFormat="ddMMyyyyHHmmss"
nombrefoto3 = DateTime.Now & "_FOTO4.jpg"
teclado.HideKeyboard
fototomada = nombrefoto3
End If
Log("tome foto")
Dim filename As String = fototomada
Dim Dirp As String = File.DirRootExternal
Dim Dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/md")
Dir = "/md"
Log("creado en promotoria " & Dirp & Dir)
Catch
Dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & Dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & Dir & Dir2)
Catch
Dir = ""
Log("creado en raiz")
End Try
camEx.SavePictureToFile(Data, Dirp&Dir, filename)
camEx.StartPreview 'restart preview
' ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(Dir, filename) & Dir &"," & filename, True)
Log("Picture saved." & CRLF & "File size: " & File.Size(Dir, filename) & Dir &"," & filename)
p_camara.Visible = False
Log(nombrefoto)
Log(nombrefoto1)
Log(nombrefoto2)
Log(nombrefoto3)
If nombrefoto <> "0" Then
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirRootExternal & Dir, filename, 300, 450, True)
Dim out As OutputStream = File.OpenOutput(File.DirRootExternal & Dir & Dir2, filename, True)
img.WriteToStream(out, 100, "PNG")
out.Close
ImageView1.Bitmap = LoadBitmap(File.DirRootExternal & Dir & Dir2,nombrefoto)
End If
If nombrefoto1 <> "0" Then
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirRootExternal & Dir, filename, 300, 450, True)
Dim out As OutputStream = File.OpenOutput(File.DirRootExternal & Dir & Dir2, filename, False)
img.WriteToStream(out, 100, "PNG")
out.Close
ImageView2.Bitmap = LoadBitmap(File.DirRootExternal & Dir& Dir2,nombrefoto1)
End If
If nombrefoto2 <> "0" Then
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirRootExternal & Dir, filename, 300, 450, True)
Dim out As OutputStream = File.OpenOutput(File.DirRootExternal & Dir & Dir2, filename, False)
img.WriteToStream(out, 100, "PNG")
out.Close
ImageView3.Bitmap = LoadBitmap(File.DirRootExternal & Dir& Dir2,nombrefoto2)
End If
If nombrefoto3 <> "0" Then
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirRootExternal & Dir, filename, 300, 450, True)
Dim out As OutputStream = File.OpenOutput(File.DirRootExternal & Dir & Dir2, filename, False)
img.WriteToStream(out, 100, "PNG")
out.Close
ImageView4.Bitmap = LoadBitmap(File.DirRootExternal & Dir & Dir2,nombrefoto3)
End If
StopCamera2
End Sub
Private Sub p_camara_Click
End Sub
Private Sub b_foto_Click
camEx.TakePicture
p_camara.Visible = False
' StopCamera2
End Sub
Private Sub StopCamera2
' Capturing = False
If camEx.IsInitialized Then
camEx.Release
End If
End Sub
Private Sub ImageView1_Click
x = 1
InitializeCamera2
p_camara.Visible = True
End Sub
Private Sub ImageView2_Click
x = 2
InitializeCamera2
p_camara.Visible = True
End Sub
Private Sub ImageView3_Click
x = 3
InitializeCamera2
p_camara.Visible = True
End Sub
Private Sub ImageView4_Click
x = 4
InitializeCamera2
p_camara.Visible = True
End Sub
Private Sub b_guardar_Click
B4XPages.ShowPage("Principal")
End Sub