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:( QIODevice::ReadOnly
QIODevice::ReadWrite
int MainWindow::wczytaj_dane() { QFile odczyt( "kontakty" ); if( !odczyt.open( QIODevice::ReadWrite | QIODevice::Text ) ) { QMessageBox w( this ); w.setText( "NIE odczytano z pliku :(" ); w.exec(); return odczyt.error(); } QTextStream in( & odczyt ); nowy = new osoby; nowy->imie = in.readLine(); nowy->nazwisko = in.readLine(); nowy->adres = in.readLine(); nowy->telefon = in.readLine(); nowy->email = in.readLine(); wektor.push_back( nowy ); 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...? |
|
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. |
|
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 |
|
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 |
|
« 1 » |