mirror of
https://github.com/KeymonSoft/Mariana_Reparto.git
synced 2026-04-18 13:19:27 +00:00
268 lines
7.0 KiB
QBasic
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 |