From 80274416a43b79d2bce9de2dbd3a5a0b688dad6a Mon Sep 17 00:00:00 2001 From: Syndamia Date: Mon, 13 Jun 2022 20:42:37 +0300 Subject: Autocommit at 13.06.2022 @ 20:42 --- src/Models/Table.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src/Models/Table.cpp') 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& buffer) { + if (in.peek() == '-' || in.peek() == '+') + buffer.add(in.get()); +} + void D(std::ifstream& in, List& buffer) { while (in.peek() >= '0' && in.peek() <= '9') buffer.add(in.get()); @@ -36,12 +41,19 @@ void A(std::ifstream& in, List& buffer) { void Table::readFromFile(std::ifstream& inFile) { while (inFile.peek() != EOF) { + List buffer; W(inFile); - if (inFile.peek() == '"') inFile.get(); - - if (inFile.peek() == '=') { - List 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 { + } } } -- cgit v1.3.1-23-gd82d