Seite 1 von 1

Textdatei einlesen

Verfasst: 28. Januar 2009 18:42
von Mr.Undercover
Hallo alle zusammen,

Ich habe gerade einen Browser Button implementiert, wie ich vorhin damit bemerkt habe kann ich damit nur pfade wählen sprich ich kann keine einzelnenDateien selektieren wie kriege ich das hin ?
Die Dateien sind aber ganz Programmspezifische endungen, aber ich möchte das das Programm mir das als TXTdatei einliest ?

Ich habe mal etwas probiert, leider kann ich damit nur pfade einlesen...
Würde mich über jede hilfe freuen...

Source Code:
void LittleTool::on_toolButton_clicked()
{
QString directory1 = QFileDialog::getExistingDirectory(this,
tr("Find Files"), QDir::currentPath());
}

MfG

Verfasst: 28. Januar 2009 18:48
von Christian81
Du wunderst Dich das QFileDialog::getExistingDirectory() nur Verzeichnisauswahl zulässt? Mhhh... ich würde mich wundern wenn ich mit dieser Methode Dateien auswählen könnte...

Verfasst: 28. Januar 2009 18:49
von solarix
wie ich vorhin damit bemerkt habe kann ich damit nur pfade wählen sprich ich kann keine einzelnenDateien selektieren wie kriege ich das hin ?
Was meinst du denn, was bedeutet "getExistingDirectory"... ich übersetz mal: "gibExistierendeVerzeichnisse"... wie wäre es denn mit "getOpenFileName"?
Die Dateien sind aber ganz Programmspezifische endungen, aber ich möchte das das Programm mir das als TXTdatei einliest ?
Das ist dem Dialog egal.... der liefert ja nur den Dateinamen.. wie du den dann einliest, bleibt dir überlassen.

Verfasst: 28. Januar 2009 19:25
von Mr.Undercover
achsooo es gibt also auch getOpenFileName :) Sorry wusste ich nicht....

Aber vielen Dank!

Bsp.

Verfasst: 29. Januar 2009 07:37
von s-valve
Hier mal ein Bsp. für mehrere Dateien über getOpenFileNames:

Code: Alles auswählen

QString lastDir; //holds last used directory
QString extensions = "Supported files (*.txt *.doc *.dat)";
QStringList files = QFileDialog::getOpenFileNames(this, "Open my Files", lastDir, extensions);

QFile file;
QString tmpStr;

for (i=0; i< files.count(); i++)
{ //get single files from file list
  file.setFileName(files[i].simplified());
  tmpStr.clear; //clear tmpStr
  if ((!file.exists()) && (!file.open(QIODevice::ReadOnly | QIODevice::Text)))
  { 
    QTextStream in(&file); //get file into stream
    while (!file.atEnd()) //get file content into string
    {
       tmpStr->append(file.readLine());
    }
    showFile(tmpStr); //show file content anywhere
  }
}

Verfasst: 29. Januar 2009 08:09
von pfid
solarix hat geschrieben:
wie ich vorhin damit bemerkt habe kann ich damit nur pfade wählen sprich ich kann keine einzelnenDateien selektieren wie kriege ich das hin ?
Was meinst du denn, was bedeutet "getExistingDirectory"... ich übersetz mal: "gibExistierendesVerzeichnis"... wie wäre es denn mit "getOpenFileName"?
Fixed. :twisted:

Verfasst: 29. Januar 2009 09:01
von solarix
:oops: