stdin und stdout festlegen

Alles rund um die Programmierung mit Qt
Antworten
Qiui
Beiträge: 11
Registriert: 23. Juli 2009 13:29

stdin und stdout festlegen

Beitrag von Qiui »

Hallo zusammen ... ich bin ein ziemlicher Qt-Neuling und bräuchte mal euer fachliches Wissen. Nun gut, ich versuch mal mein Problem in nachvollziehbaren Text umzuwandeln ...also:

Ich habe eine Art FindDialog zusammengebastelt, welcher Scripte in einer "Tabelle" anzeigt. Über eine ComboBox möchte ich die Datei angeben (der Pfad), die als stdin festgelegt werden soll und über eine weitere, die Datei (Speicherort), die als mein neues stdout festgelegt werden soll. <- Frage: ist das möglich?

Eine kleine Frage hätte ich noch: wie starte ich eines der gefunden Scripts aus meiner Tabelle - nicht über Doppelklick / Desktopservice....

Abschließend möchte ich mich noch für meine Unwissenheit entschuldigen .... ich senke mein Haupt in Asche :( ... und bedanke mich für eure geopferte Zeit....
Qiui
Beiträge: 11
Registriert: 23. Juli 2009 13:29

Beitrag von Qiui »

Hm.... schade -ich dachte mir könnte jemand weiterhelfen - nun denn .... vielleicht hab ich mich auch etwas ungünstig ausgedrückt.

mein prog sucht gewünschte "dateien" -> öffnet diese mit gewünschtem program ( txt mit editor/ openoffice ....)... ABER .... er speichert mir das ergebnis nach dem "durchlaufen" nicht in der gewünschten datei ab, sondern überschreibt die alte. <- woran kann das liegen?
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

An den FileFlags die du beim öffnen nimmst... what abbout QIO_Device::append war das glaub....

Zum starten...evtl mal mit QProcess probieren. Weiß nicht wie der sich bei scripten verhölt nmusst mal probieren.

Ansonsten für mehr Infos von und mehr Infos von dir (Src Code hilft meist!)
Qiui
Beiträge: 11
Registriert: 23. Juli 2009 13:29

Beitrag von Qiui »

vielen dank für deine schnelle antwort!

Code: Alles auswählen

void Window::startprocess()
{
   QByteArray output;
   QString input;

   filesTable->setSecectionBehavior(QAbstractItemViwe::SelectRows);
   filesTable->setSecectionMode(QAbstractItemViwe::SingleSelection);
   int row = filesTable->currentRow();

   QTableWidgetItem *item = filesTable-item(row,0);
   QString tabletext = item ->text();
   QString prozess = tabletext;

   QString comboBox = openComboBox->currentText();
   QString args = combobox;

   if(args.isEmpty())
        asynchron->start(prozess)
   else
        asynchron->start(prozess, QStringList() << args);
}


void Window::readFromProcess()
{
   QByteArray line;
   if( asynchron->start() != QProcess::Running)
   {
        editor->setPlainText("....");
        return;
   }
  while( ! (line = asynchron->readLine()). isEmpty())
  {
    editor->moveCursor(QTextCursor::End);
   QString output(QString::fromLatin1(line));
   editor->insertPlainText(output);
   }
   save();
}

void Window::saveoutput()
{
   QString fileName = QFileDialog::getSaveFileName(this, tr("..."),
                                                     QDir::rootPath();
    if(!fileName.isEmpty())
    {
        if(outputComboBox->findText(fileName) == -1)
           outputComboBox->addItem(fileName);
       outputComboBox->setCurrentIndex(outputComboBox->findText(fileName));
     }
   QFile file(fileName);
   if(!file.open(QFile::WriteOnly | QFile::Text))
   {
      //....warning...
      return;
   }
}

void Window::save()
{
 //...
   file.write((editor->toPlainText()).toAscii());
   file.close();
}
er legt mir die datei an -aber speichert nicht .... da stimmt was mit dem aufruf/ zuweisung nicht .... denk ich .... ich bastel mal weiter(bin erfreut überhaupt soweit zu kommen - als anfänger)
Qiui
Beiträge: 11
Registriert: 23. Juli 2009 13:29

Beitrag von Qiui »

läuft alles - hab den fehler gefunden :D .... nochmals danke für die hilfe
Antworten