<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=13739&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-12-03T18:06:12+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=13739&amp;mode</id>
<entry>
<author><name><![CDATA[kisiel014]]></name></author>
<updated>2015-12-03T18:06:12+01:00</updated>
<published>2015-12-03T18:06:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13739&amp;p=146961#p146961</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13739&amp;p=146961#p146961"/>
<title type="html"><![CDATA[Re: Tablica z nazwami plików Fat_fs]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13739&amp;p=146961#p146961"><![CDATA[
Widzę że używanie tablic dynamicznych w c jest rzeczą niełatwą, ale poradziłem sobie z tym problemem.<br /><br /><strong>dla potomnych</strong> <br /><br />[syntax=c]int FileInfoNum;  //  index<br />char* Files&#91;30&#93;;  // nazwy plików max 30<br /><br /><br />FRESULT scan_files (char* path)<br />{<br /> .<br /> .<br /> .<br /><br />if (fno.fattrib &amp; AM_DIR)<br />            {<br />                sprintf(&amp;path&#91;i&#93;, &quot;/%s&quot;, fn);<br />                res = scan_files(path);<br />                path&#91;i&#93; = 0;<br />                if (res != FR_OK)<br />                break;<br />            }<br />            else<br />            {<br /><br />            FileInfoNum++;     // dodaj kolejny nr <br />            Files&#91;FileInfoNum&#93; = (char*)malloc( (sizeof(fn) * _MAX_LFN) );  // przydziel pamięć dla nazwy pliku<br />            strcpy(Files&#91;FileInfoNum&#93;, fn);                 // skopiuj do tablicy  <br /><br />            }<br /> .<br /> . <br /> .<br /><br />}[/syntax]<br /><br /> <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5641">kisiel014</a> — 3 gru 2015, o 18:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kisiel014]]></name></author>
<updated>2015-12-01T19:25:08+01:00</updated>
<published>2015-12-01T19:25:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13739&amp;p=146826#p146826</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13739&amp;p=146826#p146826"/>
<title type="html"><![CDATA[Tablica z nazwami plików Fat_fs]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13739&amp;p=146826#p146826"><![CDATA[
Witam!<br />Po miesiącu &quot;męki&quot; z fat fs udało mi się to uruchomić  wraz z kodekiem vs 1053. Ładnie wybrany plik odtwarza.<br /><br />To jest fragment kodu elm chana do skanowania karty:<br /><br />[syntax=c]FRESULT scan_files (char* path)<br />{<br />    FRESULT res;<br />    FILINFO fno;<br />    DIR dir;<br />    int i, k = 0;<br />    char *fn;<br />#if _USE_LFN<br />    static char lfn&#91;_MAX_LFN + 1&#93;;<br />    fno.lfname = lfn;<br />    fno.lfsize = sizeof lfn;<br />#endif<br /><br /><br />    res = f_opendir(&amp;dir, path);<br />    if (res == FR_OK)<br />    {<br />        i = strlen(path);<br />        for (;;)<br />        {<br />            res = f_readdir(&amp;dir, &amp;fno);<br />            if (res != FR_OK || fno.fname&#91;0&#93; == 0)<br />            break;<br />            if (fno.fname&#91;0&#93; == '.')<br />            continue;<br />#if _USE_LFN<br />            fn = *fno.lfname ? fno.lfname : fno.fname;<br />#else<br />            fn = fno.fname;<br />#endif<br />            if (fno.fattrib &amp; AM_DIR)<br />            {<br />                sprintf(&amp;path&#91;i&#93;, &quot;/%s&quot;, fn);<br />                res = scan_files(path);<br />                path&#91;i&#93; = 0;<br />                if (res != FR_OK)<br />                break;<br />            }<br />            else<br />            {<br />               // printf(&quot;%s/%s\n&quot;, path, fn);            <br />                k = k + 13;                                 // przesuń w dół o 13 pikseli    <br />                tft_puts(22, k, fn, honig, black);     // wyswietl na lcd<br />            }<br />        }<br />        f_closedir(&amp;dir);<br />    }<br /><br />    return res;<br />}[/syntax]  <br /><br />Listę plików z karty wyświetla na LCD bez problemu teraz pytanie: Jak utworzyć tablicę z nazwami wszystkich plików tak żeby wyświetlić nazwę wybranego pliku na wyświetlaczu LCD, domyślam się że trzeba użyć char* ale co dalej nie wiem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5641">kisiel014</a> — 1 gru 2015, o 19:25</p><hr />
]]></content>
</entry>
</feed>