mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FAT16 Ordnernamen in dem ich mich befinde herrausfinden


Autor: Daniel N. (bipak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich nutze Stefan Seegels vfat Source um auf SD Karten zuzugreifen.
Jetz bin ich gerade dabei ein kleinen filebrowser zu implementieren.
Von einem Unterordner zum anderen zu springen und dann jeweils in der 
erste Zeile des Displays den Namen des aktuellen Ordners anzuzeigen, ist 
kein Problem.
Möchte ich jetzt aber wieder Ordner für Ordner zurück gehen, fehlen mir 
die Ordnernamen.
Um von einem Unterordner zum höher liegendem zu gehen, wähl ich einfach 
den Eintrag Nr. 1 aus dem aktuellen Ordner aus. Also "..",  zeigt ja auf 
das letzte dir.
dir_cluster = vfat_readDirEntry(dir_cluster, 1, &filesize, &fileattrib, mp3.name);
browse_directory(dir_cluster);
Jetzt bin ich im vorigem Ordner, nur wie finde ich dessen Namen raus?

Wär schön, wenn mir jemand helfen könnte.

Grüße,
Daniel

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das geht glaube ich indem du wieder nach dem .. suchst, dann einen höher 
gehst und schaust nach dem ordner welcher auf deinen ordner zeigt. dann 
nimmst du davon den dateinamen.

geht vielleicht auch besser, ist aber zumindest mal eine möglichkeit

Autor: Daniel N. (bipak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahja, das wär ne Möglichkeit. Mal schauen ob ich das hinbekomm.
Ich danke dir :)


Autor: Daniel N. (bipak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Supi, das funktioniert :D

void search_dir_name(uint32_t dir_cluster)
{

  uint32_t filesize;
  uint8_t fileattrib;
  
  uint32_t dummy, dir_finder;
  uint8_t i = 0;
  
  
  dummy = vfat_readDirEntry(dir_cluster, 1, &filesize, &fileattrib, mp3.name);
  
    
  while(dir_finder != dir_cluster)
  {
     dir_finder = vfat_readDirEntry(dummy, i++, &filesize, &fileattrib, mp3.name);  
  
  }
  
  vfat_readDirEntry(dummy, i-1, &filesize, &fileattrib, mp3.active_dir);
  
  return;

}


Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.