Diferencia entre revisiones de «File.openNextFile()»
De ArduWiki
m (Kike GL trasladó la página File.openNextFile() a SD.openNextFile() sin dejar una redirección) |
(→Parámetros) |
||
(No se muestran 6 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
== Descripción == | == Descripción == | ||
− | + | Método de la '''clase File''' (fichero/archivo) o directorio (carpeta) dentro de la tarjeta SD; con este se interactúa directamente sobre ellos. | |
− | |||
− | |||
== Sintaxis == | == Sintaxis == | ||
<pre> | <pre> | ||
− | File | + | File dir = SD.open(ruta); |
+ | File archivo = dir.openNextFile(); | ||
</pre> | </pre> | ||
== Parámetros == | == Parámetros == | ||
− | ; | + | ;ruta:Directorio o carpeta |
− | ; | + | ;dir:Nombre de variable a instanciar. |
− | + | ;archivo:Nombre de variable a instanciar. | |
== Advertencias == | == Advertencias == | ||
Línea 18: | Línea 17: | ||
== Ejemplo == | == Ejemplo == | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
+ | #include <SD.h> | ||
+ | File root; | ||
+ | |||
+ | void setup(){ | ||
+ | Serial.begin(9600); | ||
+ | pinMode(10, OUTPUT); | ||
+ | SD.begin(10); | ||
+ | root = SD.open("/"); | ||
+ | printDirectory(root, 0); | ||
+ | delay(2000); | ||
+ | Serial.println(); | ||
+ | Serial.println("Rewinding, and repeating below:" ); | ||
+ | Serial.println(); | ||
+ | delay(2000); | ||
+ | root.rewindDirectory(); | ||
+ | printDirectory(root, 0); | ||
+ | root.close(); | ||
+ | } | ||
+ | |||
+ | void loop(){ | ||
+ | //Nada | ||
+ | } | ||
+ | |||
+ | void printDirectory(File dir, int numTabs){ | ||
+ | while (true){ | ||
+ | File archivo = dir.openNextFile(); | ||
+ | if (!archivo){ | ||
+ | if (numTabs == 0){ | ||
+ | Serial.println("** Listo **"); | ||
+ | } | ||
+ | return; | ||
+ | } | ||
+ | for (byte i=0; i<numTabs; i++){ | ||
+ | Serial.print('\t'); | ||
+ | } | ||
+ | Serial.print(archivo.name()); | ||
+ | if (archivo.isDirectory()){ | ||
+ | Serial.println("/"); | ||
+ | printDirectory(archivo, numTabs + 1); | ||
+ | }else{ | ||
+ | Serial.print("\t\t"); | ||
+ | Serial.println(archivo.size()); | ||
+ | } | ||
+ | archivo.close(); | ||
+ | } | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Línea 24: | Línea 69: | ||
== Referencias externas == | == Referencias externas == | ||
+ | * [https://www.arduino.cc/en/Reference/FileOpenNextFile Referencias] | ||
[[Category:Libreria SD]] | [[Category:Libreria SD]] |
Revisión actual del 20:09 3 jul 2019
Contenido
Descripción
Método de la clase File (fichero/archivo) o directorio (carpeta) dentro de la tarjeta SD; con este se interactúa directamente sobre ellos.
Sintaxis
File dir = SD.open(ruta); File archivo = dir.openNextFile();
Parámetros
- ruta
- Directorio o carpeta
- dir
- Nombre de variable a instanciar.
- archivo
- Nombre de variable a instanciar.
Advertencias
Ejemplo
#include <SD.h>
File root;
void setup(){
Serial.begin(9600);
pinMode(10, OUTPUT);
SD.begin(10);
root = SD.open("/");
printDirectory(root, 0);
delay(2000);
Serial.println();
Serial.println("Rewinding, and repeating below:" );
Serial.println();
delay(2000);
root.rewindDirectory();
printDirectory(root, 0);
root.close();
}
void loop(){
//Nada
}
void printDirectory(File dir, int numTabs){
while (true){
File archivo = dir.openNextFile();
if (!archivo){
if (numTabs == 0){
Serial.println("** Listo **");
}
return;
}
for (byte i=0; i<numTabs; i++){
Serial.print('\t');
}
Serial.print(archivo.name());
if (archivo.isDirectory()){
Serial.println("/");
printDirectory(archivo, numTabs + 1);
}else{
Serial.print("\t\t");
Serial.println(archivo.size());
}
archivo.close();
}
}
Vea también