folder Tahribat.com Forumları
linefolder Programlama Genel
linefolder Qt İle Bilgisayardaki Dizinlerin Listesini Almak



Qt İle Bilgisayardaki Dizinlerin Listesini Almak

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    qDir kütüphanesine ait fonksiyonları falan incelerken adamın örnek olarak yaptığı tek klasörün içindeki dosya ve dizinleri alma işlemini tüm bilgisayar için uyarlamak istedim şöyle bi kod yazdım.

    #include <QtCore/QCoreApplication>
    #include <QDir>
    #include <QFileInfo>
    #include <QString>
    #include <QDebug>

    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
        QDir mDir;
        QString ad = "ABCDEFGHIJKLMNOPRSTUVYZWX";
        for(int i=0;i<=25;i++)
        {
            mDir = ad[i]+":/";
            if(mDir.exists())
            {
                foreach(QFileInfo mitm, mDir.entryInfoList())
                {
                    qDebug() << mitm.absoluteFilePath();
                }
            }
        }
        return a.exec();
    }

    EDİT: kod çalışıyorda ben göremiyormuşum :D bilgisayardaki sürücüleri içindeki dosya ve dizinleri listeliyor ancak sürücü içindeki dizinin içine inmiyor kodlar, yinede fena örnek olmadı sanırım :)


    :)
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    #include <QtCore/QCoreApplication>
    #include <QDir>
    #include <QFileInfo>
    #include <QString>
    #include <QDebug>

    void listele(QString x);


    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
        QString yol = "/home/wasd/";
        listele(yol);
        return a.exec();
    }

    void listele(QString x)
    {
        QDir mDir(x);
        foreach(QFileInfo mitm, mDir.entryInfoList())
        {
            if(mitm.isDir())
            {
                QString tmp = "\""+ mitm.absoluteFilePath()+"\"";
                listele(tmp);
            }
            qDebug() << mitm.absoluteFilePath();
        }
    }

    kodları bu hale getirdim daha alt dizinlere inmek için ama yapamadım sanırım, uraşan varsa denesin işte, çalışır hale getirebilirsem düzenlerim bi ara.


    :)
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek
    wasd bunu yazdı

    #include <QtCore/QCoreApplication>
    #include
    #include
    #include
    #include

    void listele(QString x);


    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
        QString yol = "/home/wasd/";
        listele(yol);
        return a.exec();
    }

    void listele(QString x)
    {
        QDir mDir(x);
        foreach(QFileInfo mitm, mDir.entryInfoList())
        {
            if(mitm.isDir())
            {
                QString tmp = "\""+ mitm.absoluteFilePath()+"\"";
                listele(tmp);
            }
            qDebug() << mitm.absoluteFilePath();
        }
    }

    kodları bu hale getirdim daha alt dizinlere inmek için ama yapamadım sanırım, uraşan varsa denesin işte, çalışır hale getirebilirsem düzenlerim bi ara.

    İçinde return olmayan recursive yazmışın... Milletin başına iş açccan :D


    There are 10 types of people in the world. Those who knows binary and those who dont...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek
    NmC bunu yazdı

    İçinde return olmayan recursive yazmışın... Milletin başına iş açccan :D

    hayır hissediyodum bi hata olduğunu ama göremiyodum,diyorum neden düzgün sonuç vermiyo diye :D


    :)
Toplam Hit: 889 Toplam Mesaj: 4