textdatei auslesen und zeile abfrage
Unsolved
German
-
Hi
Nur für die erste Zeile in der Datei? -
Hi
ok, so etwas wie dieser codevoid ReadData() { QFile file("c:/PATHTO/thefile.txt"); if (!file.open(QIODevice::ReadOnly)) { QMessageBox::information(nullptr, "error", file.errorString()); } QTextStream in(&file); while (!in.atEnd()) { QString line = in.readLine(); if (! line.isEmpty() && line[0] == '#' ) { // it has # } else { // kein # } } }
-
ich brauche das für autostart
um bestimmte programme bei start ein und auschalten
autostart sied so ausmit # = aus; ohne #= ein #xterm yakuake #xfce
und das soll Buton steuern
wenn aus dann text "OFF" Button rot wenn ein dannn text "ON" Button grun
und da sind mehrere zeilen mit oder ohne "#"
-
Hi
Sie können eine Struktur in einer Liste verwenden,
um sowohl den Namen als auch den Autostartstatus zu speichernstruct AutoStartItem { QString name; bool autoStart = false; }; QVector<AutoStartItem> AutoStartList; void MainWindow::ReadData() { QFile file("e:/auto.txt"); // change if (!file.open(QIODevice::ReadOnly)) { QMessageBox::information(nullptr, "error", file.errorString()); } QTextStream in(&file); AutoStartItem item; while (!in.atEnd()) { QString line = in.readLine(); if (! line.isEmpty() && line[0] == '#' ) { // it has # item.name = line.mid(1); item.autoStart = true; } else { // kein # item.name = line; item.autoStart = false; } AutoStartList.append(item); } // list all for (auto &item : AutoStartList ) { qDebug() << item.name << " start:" << item.autoStart; } // check one if ( AutoStartList[3].autoStart ) qDebug() << "Start it"; }