diff options
| Commit | 80274416a43b79d2bce9de2dbd3a5a0b688dad6a (patch) | |
|---|---|---|
| Author | 2022-06-13 20:42:37 +0300 | |
| Committer | 2022-06-13 20:42:37 +0300 | |
| Files | 5f971cb2a1642790c0375894e10512484dea739c /src | |
| FMI-OOP-P2_Tables-80274416a43b79d2bce9de2dbd3a5a0b688dad6a.tar FMI-OOP-P2_Tables-80274416a43b79d2bce9de2dbd3a5a0b688dad6a.tar.gz FMI-OOP-P2_Tables-80274416a43b79d2bce9de2dbd3a5a0b688dad6a.zip | ||
| Parent | 6d9930c848f18296867cebbf6f93b2e7c4f0e1b2 (diff) | |
Autocommit at 13.06.2022 @ 20:42
1 files changed, 16 insertions, 4 deletions
| -rw-r--r-- | src/Models/Table.cpp | 20 |
diff --git a/src/Models/Table.cpp b/src/Models/Table.cpp index 3724d3a..d19fbed 100644 --- a/src/Models/Table.cpp +++ b/src/Models/Table.cpp @@ -24,6 +24,11 @@ void W(std::ifstream& in) { while (in.peek() == ' ') in.get(); } +void P(std::ifstream& in, List<char>& buffer) { + if (in.peek() == '-' || in.peek() == '+') + buffer.add(in.get()); +} + void D(std::ifstream& in, List<char>& buffer) { while (in.peek() >= '0' && in.peek() <= '9') buffer.add(in.get()); @@ -36,12 +41,19 @@ void A(std::ifstream& in, List<char>& buffer) { void Table::readFromFile(std::ifstream& inFile) { while (inFile.peek() != EOF) { + List<char> buffer; W(inFile); - if (inFile.peek() == '"') inFile.get(); - - if (inFile.peek() == '=') { - List<char> buffer; + if (inFile.peek() == '"') { + inFile.get(); A(inFile, buffer); + buffer.add('\0'); + + cells[0][0] = (buffer[0] == '=') + ? (Cell*)new CellFormula(buffer.raw_data(), &cells) + : (Cell*)new CellString(buffer.raw_data()); + } + else { + } } } |
