Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt] - problem z odczytem pliku

Ostatnio zmodyfikowano 2010-09-20 00:15
Autor Wiadomość
dmx81
Temat założony przez niniejszego użytkownika
[Qt] - problem z odczytem pliku
» 2010-09-19 22:19:40
witam. mam problem z odczytem z pliku txt - niby wczytuje dane, ale jednak nic nie wyswietla pozniej, wczytuje liniami, kazda linie w odpowiedni qstring, pozniej te qstringi wyswietlam w odpowiednie pola - jednak te pola po odczytaniu pliku sa puste:(


C/C++
QIODevice::ReadOnly // zglasza blad otwarcia pliku<========== (ps.juz dziala w tez ReadOnly);
// a jesli:
QIODevice::ReadWrite //otwiera dobrze (ale dlaczego gorny nie chce dzialac?)
//a tu kod odpowiedzialny za czytanie z pliku
int MainWindow::wczytaj_dane()
{
    QFile odczyt( "kontakty" ); //zmienna typu qfile na plik
    if( !odczyt.open( QIODevice::ReadWrite | QIODevice::Text ) ) //warunek otwarcia pliku
    {
        QMessageBox w( this );
        w.setText( "NIE odczytano z pliku :(" );
        w.exec();
        return odczyt.error();
    }
    QTextStream in( & odczyt ); //jesli otworzy, tworzy strumien powiazany z plikiem
    nowy = new osoby; //moja klasa na kontakty, ma qstringi imie, nazw itd jak nizej
    nowy->imie = in.readLine();
    nowy->nazwisko = in.readLine();
    nowy->adres = in.readLine();
    nowy->telefon = in.readLine();
    nowy->email = in.readLine();
    wektor.push_back( nowy ); //dodaje do wektora ten kontakt
    QMessageBox w( this );
    w.setText( "odczytano z pliku" );
    w.exec();
    odczyt.close();
   
}

plik mam zapisany w postaci:
Imie
Nazwisko
Adres
Telefon
Email

plik ten zapisany jest rowniez z programu po wprowadzeniu danych i zapisuje sie dobrze, teraz chce go odczytac zalaczajac program, aby wczytac baze danych, a tu klops - zrobilem tez cos takiego, ze od razu po odczytaniu zapisuje to co niby odczytal, wchodze w ten drugi nowo zapisany plik - tam pusto, ale kursor ustawiony jest o te kilka linii nizej

PS.
in >> nowy->imie >> nowy->nazwisko >> nowy->adres >> nowy->email >> nowy->telefon;
tez nie dziala, chyba ze cos zle robie w innym miejscu :/ bo mam komunikat ze odczytano, a jak wyswietlam co odczytano, to pustka

PS. zalaczam program, czyli na poczatku laduje mi sie z pliku do wektora po czym to wyswietlam - brak jakichkolwiek wpisow, ale wektor.size()=1.   dopisuje w programie nastepny kontakt, po czym zapisuje liste kontaktow do pliku. otwieram plik - tam mam piersze kilka linijek pustych, po czym moj drugi kontakt - czyli tak jakby odczytywal pustke i ja zapisywal w moje pola imie nazwisko itd...?
P-22156
DejaVu
» 2010-09-19 23:13:39
Jak odczytujesz plik to otwieraj go tylko do odczytu. Może w tym jest jakiś problem. Napisz w notatniku najpierw plik ręcznie, skoro taka prosta jest budowa, odczytaj plik i sprawdź czy wyświetla Ci dane w programie. Może zapisywanie masz skopane skoro plik jest pusty.
P-22158
dmx81
Temat założony przez niniejszego użytkownika
» 2010-09-19 23:29:32
zapisywanie jest OK -
1. otwieram program, pierwsze otwarcie, wiec wpisuje recznie kontakt = imie,nazw itd, zapisuje, zamykam program
2. otwieram plik notanikiem - sprawdzam zawartosc pliku - jest ok, linia pod linia.
3. otwieram program, wczytuje kontakt - wczytywanie=sukces, jednak wyswietlenie tego co sie wczytalo = pustka (sprawdzam plik - zapisy w nim istnieja, nie skasowaly sie czy cos...)
4. licznik kontaktow w wektorze rozny od zera - dopisuje recznie kontak, wiec jako drugi w wektorze, zapisuje (pierwszy tot en ktory odczytalem na poczatku, ale nie widac nic - puste pola)
5. sprawdzam zapisany plik - pierwszy kontakt - puste linie, drugi kontakt - normalnie dopisane linie

czyli odczytywanie cos nie tak, wciaz proboje znalezc rozwiazanie jak odczytac z pliku, rowniez jako readonly, ale wciaz nic - dodatkowo korzystam z innych metod, jak readall - zapisuje calosc do stringa (juz nie w pola kontaktow) i wyswietlam co odczytalo i ciagle nic :(

ps. oczywiscie plik tez probowalem dopisywac recznie i tez nic, nie mam pojecia co jest grane, sprobuje w miedzy czasie zrobic inna aplikacje tylko do odczytywania i zobacze i bedzie ok
P-22159
dmx81
Temat założony przez niniejszego użytkownika
» 2010-09-20 00:15:25
jeeeeeeeeest :)

piszac kolejna odpowiedz, ze mi nie wychodzi nawet w prostej aplikacji - chcialem napisac cos w komentarzu i mnie olsnilo :) poprostu nie dawalem .txt do nazwy otwieranego pliku :P
P-22161
« 1 »
  Strona 1 z 1