I want to find...

Search

Shares

Table of Content

86HMI::FileBrowser

[Menu widgets]

Object Functions

FileBrowser Object.

FileBrowser-1

FileBrowser is a component used to select files.
Through the API, you can set the disk, and it will display and read the selected file path for subsequent processing by the user.

Note:

  • FileBrowser only supports English file names
  • The maximum length of the path is 1024 characters.
  • Display up to 128 files/folders.

FileBrowser Properties.

FileBrowser-2

Identifier:

  • ID: Unique number that identifies the object.
  • Name: User-definable name for the object. It can be used with 86HMI API.

Geometry:

  • X: Object X coordinate.
  • Y: Object Y coordinate.
  • Width: Object width.
  • Height: Object height.

Options:

  • Spacing: The line spacing between each option is:
    1. Smallest
    2. Smaller
    3. Normal
    4. Larger
FileBrowser-3
  • TextFont: Choose from 6 default font styles. For font configuration instructions, please refer to Theme Management.
  • ObjColor: Choose from 4 themed colors. For font configuration instructions, please refer to Theme Management.
  • Enable: Select the default state of the object, enable or disable.
  • Order: Object order. It can adjust the object order by up/down, which can be viewed on the Object List.

API Functions

setFileBrowserFilter()

Description

Set a filter of FileBrowser object.
Here are the rules:

  • ? matches exactly one occurrence of any character.
  • * matches any occurrence of any character (including zero occurrences).

Examples:

  • *.txt will match any filename ending with .txt.
  • ???.txt will match any file with exactly three characters in the filename ending with .txt.

Matching wildcards:

FileBrowser-4

Syntax

void setFileBrowserFilter(lv_obj_t* id, char* filter, int filterIndex);
void setFileBrowserFilter(char* name, char* filter, int filterIndex);
void setFileBrowserFilter(lv_obj_t* id, char* filter);
void setFileBrowserFilter(char* name, char* filter);

Parameters

  • [in] id
    Object ID.
  • [in] name
    Object Name.
  • [in] char* filter
    The filter content.
  • [in] int filterIndex
    The filter index.

Return

None.

Example

#include "myhmi.h"

void setup() {
  Hmi.begin();
  // ...
  Hmi.setFileBrowserFilter(p1fb1, "a");
}

void loop() {
  // ...
}

deleteFileBrowserFilter()

Description

Delete the filter of FileBrowser object.

Syntax

void deleteFileBrowserFilter(lv_obj_t* id, int filterIndex);
void deleteFileBrowserFilter(char* name, int filterIndex);
void deleteFileBrowserFilter(lv_obj_t* id);
void deleteFileBrowserFilter(char* name);

Parameters

  • [in] id
    Object ID.
  • [in] name
    Object Name.
  • [in] int filterIndex
    The filter index.

Return

None.

Example

#include "myhmi.h"

void setup() {
  Hmi.begin();
  // ...
  Hmi.setFileBrowserFilter(p1fb1, "a");

  delay(1000);
  Hmi.deleteFileBrowserFilter(p1fb1);
}

void loop() {
  // ...
}

setFileBrowserDisk()

Description

Select the disk of FileBrowser object.

Syntax

void setFileBrowserDisk(lv_obj_t* id, int disk);
void setFileBrowserDisk(char* name, int disk);

Parameters

  • [in] id
    Object ID.
  • [in] name
    Object Name.
  • [in] int disk
    Select the disk.

Return

None.

Example

#include "myhmi.h"

void setup() {
  Hmi.begin();
  // ...
  Hmi.setFileBrowserDisk(p1fb1, USBDISK);
}

void loop() {
  // HMI event
  BEGIN_HMI_EVENT_PROC
  {
    // USB
    if (Hmi.buttonClicked(p1b1))
    {
      Hmi.importToTextList(p1tl1, Hmi.getFileBrowserFilePath(p1fb1), USBDISK);
    }
    if (Hmi.buttonClicked(p1b2))
    {
      Hmi.clearTextList(p1tl1);
    }
  }
  END_HMI_EVENT_PROC
  delay(100);
}

getFileBrowserFolder()

Description

Get the folder of FileBrowser object.

Syntax

char* getFileBrowserFolder(lv_obj_t* id);
char* getFileBrowserFolder(char* name);

Parameters

  • [in] id
    Object ID.
  • [in] name
    Object Name.

Return

The folder of FileBrowser object.

Example

#include "myhmi.h"

void setup() {
  Serial.begin(115200);
  while (!Serial);
  
  Hmi.begin();
  // ...
  Serial.println(Hmi.getFileBrowserFolder(p1fb1));
}

void loop() {
  // ...
}

getFileBrowserFilePath()

Description

Get the file path of FileBrowser object.

Syntax

char* getFileBrowserFilePath(lv_obj_t* id);
char* getFileBrowserFilePath(char* name);

Parameters

  • [in] id
    Object ID.
  • [in] name
    Object Name.

Return

The file path of FileBrowser object.

Example

#include "myhmi.h"

void setup() {
  Hmi.begin();
  // ...
  Hmi.setFileBrowserDisk(p1fb1, USBDISK);
}

void loop() {
  // HMI event
  BEGIN_HMI_EVENT_PROC
  {
    // USB
    if (Hmi.buttonClicked(p1b1))
    {
      Hmi.importToTextList(p1tl1, Hmi.getFileBrowserFilePath(p1fb1), USBDISK);
    }
    if (Hmi.buttonClicked(p1b2))
    {
      Hmi.clearTextList(p1tl1);
    }
  }
  END_HMI_EVENT_PROC
  delay(100);
}

Please see the 86HMI Editor User Manual for more instructions on 86HMI widgets and API usage.

Scroll to Top