| Autor |
Nachricht |
guenni81
Autor
Benutzerprofil
Anmeldungsdatum: 01.08.2004
Beiträge: 2138
|
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
|
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 .
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
|
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
|
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
|
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
|
l'abra d'or Mitglied
14:45:27 14.03.2010 Titel: |
|
Zitieren |
|
 |
fr33g
Mitglied
Benutzerprofil
Anmeldungsdatum: 07.01.2010
Beiträge: 803
|
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
|
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
%����
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
%����
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
|
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 |
|
 |