You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeedu/kstars/kstars/ksfilereader.cpp

62 lines
2.1 KiB

/***************************************************************************
ksfilereader.cpp - description
-------------------
begin : Tue Jan 28 2003
copyright : (C) 2003 by Heiko Evermann
email : heiko@evermann.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include <tqfile.h>
#include <tqstring.h>
#include "ksfilereader.h"
KSFileReader::KSFileReader(TQFile& file) {
// read the whole file at once. This works well at least for the smaller files.
TQByteArray data = file.readAll();
TQString sAll = TQString::fromUtf8( data.data(), data.size() );
// split into list of lines
lines = TQStringList::split( "\n", sAll );
// how many lines did we get?
numLines = lines.size();
// set index to start
curLine = 0;
// we do not need the file any more
file.close();
}
KSFileReader::~KSFileReader(){
}
bool KSFileReader::hasMoreLines() {
return (curLine < numLines);
}
TQString& KSFileReader::readLine(){
// hint: use curLine as index, after that increment curLine
// This means that the programming language c++ should better be renamed to ++c,
// otherwise the name means: improve the c programming language, but use it the
// way it was before the improvements...
return lines[curLine++];
}
bool KSFileReader::setLine(int i) {
if (i <= numLines) {
curLine = i;
return true;
} else {
return false;
}
}
#include "ksfilereader.moc"