Seite 1 von 1
stdin und stdout festlegen
Verfasst: 23. Juli 2009 14:14
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....
Verfasst: 3. August 2009 13:29
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?
Verfasst: 3. August 2009 13:42
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!)
Verfasst: 4. August 2009 08:20
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)
Verfasst: 19. August 2009 11:32
von Qiui
läuft alles - hab den fehler gefunden

.... nochmals danke für die hilfe