myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

c++ und Qt

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 22.12.11, 18:59   #1
Quabla
Mitglied
 
Registriert seit: Oct 2010
Beiträge: 296
Bedankt: 151
Quabla ist noch neu hier! | 0 Respekt Punkte
Standard c++ und Qt

ich hab ein programm in c++ geschrieben, das eine tabelle aus einer textdatei in einen stringvektor einließt, in latexcode umwandelt, und in eine andere txt bzw .tex datei schreibt. die abfrage, aus welcher datei die tabelle kommen soll und welche caption und welches label die tabelle haben soll geschehen allesamt in der konsole.

nun möchte ich eine grafische oberfläche für das programm entwickeln. label und caption kann ich ja mit slot und Qstring bekommen. die datei würde ich gerne über eine "durchsuchen" funktion erfassen, dass man also einen butten klickt und selbst in seiner ordnerstruktur nach der datei suchen kann. ich hab leider beim googlen keine passenden antworten gefunden. kann mir hier jemand weiterhelfen?
Quabla ist offline   Mit Zitat antworten
Ungelesen 23.12.11, 09:14   #2
germgerm
bla
 
Registriert seit: Mar 2010
Beiträge: 312
Bedankt: 302
germgerm ist noch neu hier! | 0 Respekt Punkte
Standard

QFileDialog
germgerm ist offline   Mit Zitat antworten
Ungelesen 23.12.11, 13:16   #3
Quabla
Mitglied
 
Registriert seit: Oct 2010
Beiträge: 296
Bedankt: 151
Quabla ist noch neu hier! | 0 Respekt Punkte
Standard

danke funtioniert super
Quabla ist offline   Mit Zitat antworten
Ungelesen 23.12.11, 15:03   #4
Quabla
Mitglied
 
Registriert seit: Oct 2010
Beiträge: 296
Bedankt: 151
Quabla ist noch neu hier! | 0 Respekt Punkte
Standard

jetzt nervt nur noch dieses dämliche QString...
also ich habe nun den pfad+dateinamen der zu öffnenden datei in QString file. fstream nimmt als parameter ja bekanntermaßen nur char*, also habe ich in meiner ersten lösung den QString nach char* convertiert. Trotzdem wird die datei nicht geöffnet, es erscheint immer die msgbox("Fehler beim öffnen der Inputdatei"). ich hab mir das array cfile auch mal ausgeben lassen, da steht genau der dateipfad drin den ich haben will.

Code:
    QByteArray tmp = file.toLocal8Bit();     //QString file nach char* cfile cenvertieren
    char *cfile = tmp.data();

    ifstream input;
    input.open(cfile, ios::in);


    if(!input.is_open()){
        QMessageBox msgBox;
        msgBox.setText("Fehler beim Öffnen der Inputdatei!");
        msgBox.exec();
        return;
    }

    string str;
    while(getline(input, str)) Tabelle.push_back(str);
    input.close();

dann hab ich das ganze nochmal mit QFile versucht, hier kommt das selbe problem

Code:
    QFile input(file);
      if (!input.open(QIODevice::ReadOnly | QIODevice::Text)){
          QMessageBox msgBox;
          msgBox.setText("Fehler beim Öffnen der Inputdatei!");
          msgBox.exec();
          return;
      }

      while (!input.atEnd()) {
          QByteArray line = input.readLine();
          Tabelle.push_back(line.data());
      }
weis jemand wo der fehler liegt?

edit:

fehler gefunden... die meldung, die kam war nicht "konnte inputdatei nicht öffnen" sondern "konnte output datei nicht öffnen" und das lag ganz einfach daran, dass ich die mit

output.open("tab.tex", ios::in);

öffnen wollte, richtig ist natürlich

output.open("tab.tex", ios:ut);

nach so nem kleinen tippfehler kann man echt lange suchen
Quabla ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 Uhr.


Sitemap

().