Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Triggered when an image/video has been taken/recorded.

  • Parameters:

    Name

    Type

    Description

    Status

    Enum

    See Status Code

    Message

    String


Code Examples

Recommended code: If taking a video, return the data as a file (ReturnFile := true) and set ReturnBase64String to false.

    Define_Com Class(#xDeviceCamera) Name(#CameraUse)

Evtroutine Handling(#COM_OWNER.Initialize)  

#ActivateCamera.Enabled := false
Endroutine

Evtroutine Handling(#CameraUse.Initialize)  
#ActivateCamera.Enabled := true
Endroutine

Evtroutine Handling(#ActivateCamera.Click)  
#CameraUse.Source := CAM  

#CameraUse.EnableImage := true  

#CameraUse.EnableVideo := false  
#CameraUse.SetImageSize( PORT #ImageSizeWidth.Value.AsInteger #ImageSizeHeight.Value.AsInteger )  

#CameraUse.SaveToPhotoGallery := true  

#CameraUse.ReturnBase64String := true  

#CameraUse.SetBase64ImageSize( PORT #Base64Width.Value.AsInteger #Base64Height.Value.AsInteger )  

#CameraUse.ReturnFile := true  
#CameraUse.AllowEdit := false  

#CameraUse.EnableAnnotation := true  

#CameraUse.VideoQuality := HIGH  

#CameraUse.VideoMaxDuration := #VideoMaxDuration.Value.AsNumber  

#CameraUse.OutputPath := #OutputPath  
#CameraUse.ActivateCamera()
Endroutine

Evtroutine Handling(#CameraUse.Completed) Status(#lstatus) Message(#message)  

If (#lstatus = OK)       

#GeneratedFile := #CameraUse.OutputFile       

#GeneratedFileUrl := #CameraUse.OutputUrl    
  
If (#CameraUse.IsImage)      
    
#GeneratedType := 'Image'       

Else      
    
#GeneratedType := 'Video'       

Endif    
  

If (#CameraUse.ImageAsBase64Data <> "")      
    
#Base64 := #CameraUse.ImageAsBase64Data           

#LastImage.FileName := "data:image/png;base64," + #CameraUse.ImageAsBase64Data       
Endif  

Else    
  
#Status := #message  
Endif  

#Status := #lstatus
Endroutine  

Write to a local file (xDeviceFileWrite)
Define_Com Class(#xDeviceFileWrite) Name(#FileWriter

Evtroutine Handling(#COM_OWNER.Initialize)  

#Write.Enabled := false
Endroutine

Evtroutine Handling(#FileWriter.Initialize)  

#Write.Enabled := true
Endroutine

Evtroutine Handling(#Write.Click)  
#FileWriter.FileName := '/recipes/appleStrudel'  

#FileWriter.FileType := BIN  

#FileWriter.FileEncoding := UTF8  
#FileWriter.DataEncoding := BASE64  

#FileWriter.Data := 'Add 3 eggs and 4 cups of sugar'  
#FileWriter.Write()
Endroutine

Evtroutine Handling(#FileWriter.Completed) Status(#returnedStatus) Message(#message)  

#Status := #returnedStatus  
If (#Status <> OK)    
  
#StatusMessage := #message  

Endif
Endroutine  

Read a local file (xDeviceFileRead
Define_Com Class(#xDeviceFileRead) Name(#FileReader)

Evtroutine Handling(#COM_OWNER.Initialize)  
#Read.Enabled := false
Endroutin
Endroutine

Evtroutine Handling(#FileReader.Initialize)  

#Read.Enabled := true
Endroutine

Evtroutine Handling(#Read.Click)  
#FileReader.FileName := '/recipes/chocolateCake'  

#FileReader.FileType := TEXT  
#FileReader.FileEncoding := UTF8  

#FileReader.DataEncoding := NONE  

#FileReader.Read()
Endroutine

Evtroutine Handling(#FileReader.Completed) Status(#returnedStatus) Data(#returnedData) Message(#message)  

#Status := #returnedStatus  

If (#Status = OK)       

#Data := #returnedData  
Else       

#StatusMessage := #message  
Endif
Endroutine  Endroutine