A BADA programozási nyelv

I/O

IO

Fontosabb osztályok

IO osztályok

Kapcsolataik

Kapcsolatok

Áttekintés

Az Io névtér bemenettel és kimenettel kapcsolatos osztályokat tartalmaz, mint például a File, Directory, Database és Registry.

Minden be- és kimeneti egységhez tartozik egy alrendszer, amely a hozzá kapcsolódó I/O műveletekért felelős. Ezen alrendszerek összességével az alábbi műveletek végezhetők el:

Bada fájlrendszer

Minden bada alkalmazáshoz hozzárendelésre kerül egy privát tárhely a fájlrendszeren belül, amikor telepítésre kerül. Ez az alkalmazás Home könyvtára.

Néhány egyszerű szabály a fájlrendszer eléréssel kapcsolatban
Az alkalmazások számára elérhető könyvtárak
Könyvtárak1 Könyvtárak2

Könyvtárak és fájlok

A könyvtárak és fájlok hasonlóképpen működnek mint más fájlrendszerekben: a könyvtárak tartalmazhatnak más könyvtárakat és fájlokat.

A DirEnumerator segítségével tudunk végigiterálni a könyvtárakon, hogy információt nyerjünk a bennük tárolt mappákról és fájlokról.

DirEnumerator
Angol nyelvű példák

Get a list of files and directories in a specific directory.

  1. Construct a Directory to get the list of specific files in a directory: Directory::Construct(directoryName)
  2. Use an enumerator to read the list of files: Directory::ReadN()
  3. Move the DirEnumerator to the first position: DirEnumerator::MoveNext()
  4. Get a DirEntry to retrieve file information: DirEnumerator::GetCurrentDirEntry()
  5. Retrieve the file information through the DirEntry: DirEntry::GetName() DirEntry::GetFileSize() DirEntry::IsDirectory() DirEntry::IsReadOnly()...
  6. Move the DirEnumerator to the next position: DirEnumerator::MoveNext()
  7. Repeat steps 4 to 6.

Get different file attributes from a file.

  1. Get the FileAttributes: File::GetFileAttributes()
  2. Read the attributes from the FileAttributes: GetDateTime() GetFileSize() GetLastModifiedTime() IsDirectory() IsHidden() IsNomalFile() IsReadOnly() IsSystemFile()

Adatbázis

Mutex biztosítja az adatbáziskezelés szál-biztosságát.

Szálbiztosság

A DbEnumerator felelős az adat visszakeresésért, valamint a sorokon és oszlopokon való iterálásért a visszakapott eredményben.

dbEnumerator
Angol nyelvű példák

Create a new database with a table.

  1. Construct a new database: Database::Construct(dbFileName, false)
  2. Execute SQL to create a table: Database::ExecuteSql(sql, true)

CSAK SQLite kompatibilis parancsok használhatók!

Run a SELECT statement on a table.

  1. Construct an existing database: Database::Construct(dbFileName, false)
  2. Create a SQL statement to bind variables: Database::CreateStatementN(sql)
  3. Bind data to the SQL: DbStatement::BindString(varIndex, string)
  4. Execute the SQL statement: Database::ExecuteStatementN()
  5. Move the cursor to the next (first) position: DbEnumerator::MoveNext()

Registry

A regisztrációs adatbázis három szintből épül fel.

  1. Egy új szakasznak a kezdete a hash szimbólummal van megjelölve (#), és bejegyzések követik.
  2. A bejegyzések név-érték párokat jelentenek, amelyek Név=Érték alakban vannak írva. Különböző szakaszokban lehetnek azonos nevű bejegyzések, de egy szakaszon belül a bejegyzések nevének egyedinek kell lenni!
  3. A bejegyzések értékei az alábbi típusokból lehetnek: Integer, Double, Float, String, UuId vagy Bytebuffer.
Entry
Angol nyelvű példák

Create a registry section, name-value pair, and read the name-value pair.

  1. Construct a new Registry: Registry::Construct(regName, true)
  2. Create a section: Registry::AddSection(secName)
  3. Add a name-value pair to the new section: Registry::AddValue(secName, entryName, value)
  4. Get the value from the section using the entry name: Registry::GetValue(secName, entryName, valueOut)