Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Advanced Developers Conference     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Andere GUIs - Qt, GTK+, wxWidgets ::  QFile wortweise einlesen  
Gehen Sie zu Seite Zurück  1, 2
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
guenni81
Autor

Benutzerprofil
Anmeldungsdatum: 01.08.2004
Beiträge: 2138
Beitrag guenni81 Autor 13:32:45 12.03.2010   Titel:              Zitieren

Julian__ schrieb:
es wurde doch lediglich gesagt, dass es mit QFile (!) nicht geht, oder nicht?
das schliesst ja QTextStream nicht mit ein ... ;)

Richtig!

_________________
mfg
Günni
Mein Github|Mein Launchpad
fr33g
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.01.2010
Beiträge: 803
Beitrag fr33g Mitglied 14:36:17 12.03.2010   Titel:              Zitieren

Ja stimmt ihr habt Recht, sorry hatte es verwechselt, hatte die Frage auch in nem anderen Forum gestellt gehabt :D.

Dann les ich mich da jetzt mal durch.

Vielen Dank

gruß freeG

EDIT:
Mhh ich weiß leider nicht wie ich das richtig anstellen soll...hab schon probiert ein wort vom QTextStream direkt in nen String zu schreiben:
C/C++ Code:
QFile file( "test.pdf" );
QTextStream data( &file );
QString text;
data >> text;
C/C++ Code:
QFile file( "test.pdf" );
QTextStream data( &file );
QString text;
data >> text;
C/C++ Code:
QFile file( "test.pdf" );
QTextStream data( &file );
QString text;
data >> text;


Dann so wie oben blos in ein char Array und von dort in einen QString und ich habe noch probiert vom QTextStream in ein ByteArray und von da in nen QString...funzt leider alles net=(
Wobei bei letzterer Möglichkeit immerhin keine komischen Zeichen mehr rauskamen sondern fast nur Zahlen und ein paar Buchstaben und Klammern.

Weiß jemand vielleicht wie ich es hinbekomme.

Schonmal Danke

Gruß freeG


Zuletzt bearbeitet von fr33g am 21:45:07 13.03.2010, insgesamt 2-mal bearbeitet
fr33g
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.01.2010
Beiträge: 803
Beitrag fr33g Mitglied 21:45:41 13.03.2010   Titel:              Zitieren

Mhh kann mir keiner helfen?
l'abra d'or
Mitglied

Benutzerprofil
Anmeldungsdatum: 26.12.2009
Beiträge: 1201
Beitrag l'abra d'or Mitglied 22:17:57 13.03.2010   Titel:              Zitieren

Schonmal dran gedacht, das file zu öffnen bevor du daraus liest?
So macht es jedenfalls die Doku. Und erfahrungsgemäß sollte man sich an die (gute) Qt-Doku halten :P
fr33g
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.01.2010
Beiträge: 803
Beitrag fr33g Mitglied 14:38:15 14.03.2010   Titel:              Zitieren

Ja sorry das hab ich vergessen richtig zu posten, war wohl ne zu kurze version;-), ich habs natürlich so probiert:
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
QString name = QString( "%1%2" ).arg( suchpfad->text() ).arg( dateien.at( i ) );
        QFile datei( name );
        if( !datei.open( QIODevice::ReadOnly ) )
        {
            QMessageBox::critical( this, "Fehler", QString( "Die Datei '%1' konnte nicht geöffnet werden" ).arg( name ), QMessageBox::Ok );
        }
        else
        {
            // TextStream erzeugen
            QTextStream streamWort( &datei );
            QChar ch;
            QString wort;
            // solange die Datei nicht fertig gelesen wurde
            while( !streamWort.atEnd() )
            {
                // eingelesenes Wort im QString test speichern
                streamWort >> ch;
                wort = ch;
                // vergleichen ob gesuchtes Wort in wort ist
                if( wort == suchwort)
                {
                    // dateiname in ergebnis hinzufügen
                    ergebnis.append( name );
                }
            }
        }
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
QString name = QString( "%1%2" ).arg( suchpfad->text() ).arg( dateien.at( i ) );
QFile datei( name );
if( !datei.open( QIODevice::ReadOnly ) )
{
QMessageBox::critical( this, "Fehler", QString( "Die Datei '%1' konnte nicht geöffnet werden" ).arg( name ), QMessageBox::Ok );
}
else
{
// TextStream erzeugen
QTextStream streamWort( &datei );
QChar ch;
QString wort;
// solange die Datei nicht fertig gelesen wurde
while( !streamWort.atEnd() )
{
// eingelesenes Wort im QString test speichern
streamWort >> ch;
wort = ch;
// vergleichen ob gesuchtes Wort in wort ist
if( wort == suchwort)
{
// dateiname in ergebnis hinzufügen
ergebnis.append( name );
}
}
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
QString name = QString( "%1%2" ).arg( suchpfad->text() ).arg( dateien.at( i ) );
        QFile datei( name );
        if( !datei.open( QIODevice::ReadOnly ) )
        {
            QMessageBox::critical( this, "Fehler", QString( "Die Datei '%1' konnte nicht geöffnet werden" ).arg( name ), QMessageBox::Ok );
        }
        else
        {
            // TextStream erzeugen
            QTextStream streamWort( &datei );
            QChar ch;
            QString wort;
            // solange die Datei nicht fertig gelesen wurde
            while( !streamWort.atEnd() )
            {
                // eingelesenes Wort im QString test speichern
                streamWort >> ch;
                wort = ch;
                // vergleichen ob gesuchtes Wort in wort ist
                if( wort == suchwort)
                {
                    // dateiname in ergebnis hinzufügen
                    ergebnis.append( name );
                }
            }
        }


Vielleicht kann mir jetzt jemand helfen:-P
l'abra d'or
Mitglied

Benutzerprofil
Anmeldungsdatum: 26.12.2009
Beiträge: 1201
Beitrag l'abra d'or Mitglied 14:45:27 14.03.2010   Titel:              Zitieren

Da hast du ja deutlich mehr verändert...
Du weißt hoffentlich dass QChar != QString...
http://doc.qt.nokia.com/4.6/qstring.html#operator-eq-7
Ich denke nicht dass du das willst...
Du machst ja auch nicht streamWort, sondern streamZeichen...
fr33g
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.01.2010
Beiträge: 803
Beitrag fr33g Mitglied 15:57:04 14.03.2010   Titel:              Zitieren

Sorry verstehe grad net was du meinst?
Also ich will ja einfach nur die pdf einlesen und in nem QString oder sonst was haben.
Aber das funzt ja leider net, dachte es geht vll indem ich den TextStream in ein QChar mache und von dort in nen QString.

Weißt du denn wie ich das Problem lösen kann??
Gruß freeG
l'abra d'or
Mitglied

Benutzerprofil
Anmeldungsdatum: 26.12.2009
Beiträge: 1201
Beitrag l'abra d'or Mitglied 16:02:29 14.03.2010   Titel:              Zitieren

fr33g schrieb:
Weißt du denn wie ich das Problem lösen kann??

Ja. indem du endlich mit den Versuchen aufhörst ein PDF mittels TextStream zu lesen.
Das geht nicht! Öffne doch einfach mal ein PDF mit nem Texteditor.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%PDF-1.4
%����
5 0 obj
<< /S /GoTo /D (section*.1) >>
endobj
8 0 obj
(Contents)
endobj
9 0 obj
<< /S /GoTo /D (section*.2) >>
endobj
12 0 obj
(List of Tables)
endobj
13 0 obj
<< /S /GoTo /D (section*.3) >>
endobj
16 0 obj
(List of Figures)
endobj
17 0 obj
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%PDF-1.4
%&#65533;&#65533;&#65533;&#65533;
5 0 obj
<< /S /GoTo /D (section*.1) >>
endobj
8 0 obj
(Contents)
endobj
9 0 obj
<< /S /GoTo /D (section*.2) >>
endobj
12 0 obj
(List of Tables)
endobj
13 0 obj
<< /S /GoTo /D (section*.3) >>
endobj
16 0 obj
(List of Figures)
endobj
17 0 obj
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%PDF-1.4
%&#65533;&#65533;&#65533;&#65533;
5 0 obj
<< /S /GoTo /D (section*.1) >>
endobj
8 0 obj
(Contents)
endobj
9 0 obj
<< /S /GoTo /D (section*.2) >>
endobj
12 0 obj
(List of Tables)
endobj
13 0 obj
<< /S /GoTo /D (section*.3) >>
endobj
16 0 obj
(List of Figures)
endobj
17 0 obj

Ich lass dich mal raten, was das für ein PDF ist.
PDF ist kein PlainText! Wenn du unbedingt versuchen willst das PDF selber zu "entschlüsseln" musst du dir die Spezifikation anschauen. WIkipedia wird dir weiter helfen.

Punkt.

Und wie du drauf kommst dass der Umweg über nen QChar ne Lösung ist, versteh ich auch nicht...
Ich denke da gibt es noch einiges an Misverständnissen.
fr33g
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.01.2010
Beiträge: 803
Beitrag fr33g Mitglied 19:16:50 14.03.2010   Titel:              Zitieren

Okidoki dankeschön=)

dann lese ich mal noch ein bisschen und erkundige mich mal noch=)

Aber danke

Also ich habs jetzt mal mit Poppler probiert, denk mal so wie ichs jetzt habe würde es auch funktionieren...
Jedoch bekomme ich immer eine Fehlermeldung beim builden, und zwar bekomm ich 4 warnungen undefined reference to imp___ZN7Poppler8Document4loadERK7QStringRK10QByteArrayS6_
und eben noch 3 andere aber ähnliche Meldungen.

Weiß auch net was ich mache, habe einfach so inkludiert:
#include "C:/..blablabla/poppler-qt4.h"

Wisst ihr vll wo der Fehler liegt?

gruß freeG


Zuletzt bearbeitet von fr33g am 16:28:04 15.03.2010, insgesamt 1-mal bearbeitet
C/C++ Forum :: Andere GUIs - Qt, GTK+, wxWidgets ::  QFile wortweise einlesen  
Gehen Sie zu Seite Zurück  1, 2
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.