Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SDFileSystem_Warning_Fixed
Diff: FileSelectorWav.cpp
- Revision:
- 18:6631cd0fbbcd
- Parent:
- 17:abfd6af9a236
--- a/FileSelectorWav.cpp Thu Mar 23 02:58:48 2017 +0000
+++ b/FileSelectorWav.cpp Tue Jun 04 21:35:59 2019 +0000
@@ -1,8 +1,4 @@
-//--------------------------------------------------------------
-// FileSelector class
-// SD カード内のファイル名の一覧を表示し,ファイルを選択する
-//
-// 2017/03/23, Copyright (c) 2017 MIKAMI, Naoki
+
//--------------------------------------------------------------
#include "FileSelectorWav.hpp"
@@ -27,7 +23,7 @@
rect_->EraseAll();
next_.EraseAll();
- // Label を生成
+ // Tạo Label
for (int n=0; n<MAX_LIST_PAGE_; n++)
fileNameLabels_[n] = new Label(X_+30, Y_+5+V_L_*n, "",
Label::LEFT, Font16, BASE_COLOR_);
@@ -39,7 +35,7 @@
for (int n=0; n<MAX_LIST_PAGE_; n++) delete fileNameLabels_[n];
}
- // ファイルの一覧表を作る.WAV ファイルが存在しない場合は false を返す
+ // Lập danh sách các tập tin. Trả về false nếu tệp WAV không tồn tại
bool FileSelector::CreateTable()
{
DIR* dp = opendir("/sd");
@@ -56,9 +52,9 @@
if ( (strName.find(".wav") != string::npos) ||
(strName.find(".WAV") != string::npos) )
{
- sdReader_.Open(strName); // ファイルオープン
+ sdReader_.Open(strName); // mở tập tin
- // PCM,16 ビットステレオ,標本化周波数 44.1 kHz 以外のファイルは除外
+ // Loại trừ các tệp không phải PCM, âm thanh nổi 16 bit, tần số lấy mẫu 44,1 kHz
if (sdReader_.IsWavFile())
fileNames_[fileCount_++] = strName;
sdReader_.Close();
@@ -68,15 +64,15 @@
closedir(dp);
}
else
- return false; // SD カードが装着されていない場合
- if (fileCount_ == 0) return false; // 該当する WAV ファイルが存在しない場合
+ return false; // nếu thẻ SD không được cài đặt
+ if (fileCount_ == 0) return false; //Nếu tệp WAV tương ứng không tồn tại
div_t m = div(fileCount_, MAX_LIST_PAGE_);
maxPage_ = (m.rem == 0) ? m.quot : m.quot+1;
- return true; // 該当する WAV ファイルが存在する場合
+ return true; //Khi tệp WAV tương ứng tồn tại
}
- // ファイルを選択する
+ // chọn tập tin
bool FileSelector::Select(string &fileName)
{
int m;
@@ -96,11 +92,11 @@
fileNameLabels_[n]->Draw(GetFileNameNoExt(k),
TOUCHED_COLOR_);
fileName = fileNames_[k];
- // 同じページで以前に選択されているファイル名の色を戻す
+ // Trả về màu của tên tệp đã chọn trước đó trên cùng một trang
if (nOld_ != -1)
fileNameLabels_[nOld_]->Draw(GetFileNameNoExt(kOld_),
BASE_COLOR_);
- if (page_ == maxPage_) // 最後のページで余分な四角形を消去
+ if (page_ == maxPage_) // xóa hình chữ nhật phụ trên trang cuối
for (int j=fileCount_ % MAX_LIST_PAGE_ + 1;
j < MAX_LIST_PAGE_; j++) rect_->Erase(j);
nOld_ = n;
@@ -112,7 +108,7 @@
return false;
}
- // ファイルの一覧の表示
+ // Hiển thị danh sách các tập tin
void FileSelector::DisplayFileList(bool sortEnable)
{
if (sortEnable)
@@ -126,17 +122,16 @@
for (int n=0; n<count; n++) rect_->Draw(n);
for (int n=0; n<count; n++)
fileNameLabels_[n]->Draw(GetFileNameNoExt(n+(page_-1)*MAX_LIST_PAGE_));
-
- // 前のページ,次のページの選択ボタンなどを表示する
+// Hiển thị trang trước, nút chọn trang tiếp theo, v.v.
next_.InactivateAll();
- if (page_ > 1) next_.Activate(0); // "<" 有効
- if (page_ < maxPage_) next_.Activate(1); // ">" 有効
+ if (page_ > 1) next_.Activate(0); // "<" hợp lệ
+ if (page_ < maxPage_) next_.Activate(1); // ">" hợp lệ
char page[6];
sprintf(page, "%d/%d", page_, maxPage_);
pageLabel_.Draw(page);
}
- // ファイルの一覧の消去
+ // xóa danh sách các tập tin
void FileSelector::Erase(uint16_t x, uint16_t y, uint16_t width, uint16_t height,
uint32_t color)
{
@@ -144,7 +139,7 @@
lcd_.FillRect(x, y, width, height);
}
- // 拡張子を削除したファイル名を取得
+ // Lấy tên tệp với phần mở rộng bị xóa
string FileSelector::GetFileNameNoExt(int n)
{
string name = fileNames_[n];