Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Models / Table.cpp
diff options
context:
space:
mode:
Commit80274416a43b79d2bce9de2dbd3a5a0b688dad6a (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-06-13 20:42:37 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-06-13 20:42:37 +0300
Files5f971cb2a1642790c0375894e10512484dea739c /src/Models/Table.cpp
FMI-OOP-P2_Tables-80274416a43b79d2bce9de2dbd3a5a0b688dad6a.tar
FMI-OOP-P2_Tables-80274416a43b79d2bce9de2dbd3a5a0b688dad6a.tar.gz
FMI-OOP-P2_Tables-80274416a43b79d2bce9de2dbd3a5a0b688dad6a.zip
Parent6d9930c848f18296867cebbf6f93b2e7c4f0e1b2 (diff)
Autocommit at 13.06.2022 @ 20:42
1 files changed, 16 insertions, 4 deletions
-rw-r--r--src/Models/Table.cpp20
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 {
+
}
}
}