From c47ee03b1295245d623c883b1dd637101879c368 Mon Sep 17 00:00:00 2001 From: s490129 Date: Thu, 13 Jun 2024 22:38:24 +0200 Subject: [PATCH] Upload files to "/" --- SQLiteToProlog.java | 83 ++++++++++++++++++++++++ SQLiteToPrologConverter.class | Bin 0 -> 2869 bytes style.css | 116 ++++++++++++++++++++++++++++++++++ tasks.db | Bin 0 -> 12288 bytes todo.html | 18 ++++++ 5 files changed, 217 insertions(+) create mode 100644 SQLiteToProlog.java create mode 100644 SQLiteToPrologConverter.class create mode 100644 style.css create mode 100644 tasks.db create mode 100644 todo.html diff --git a/SQLiteToProlog.java b/SQLiteToProlog.java new file mode 100644 index 0000000..5c10e49 --- /dev/null +++ b/SQLiteToProlog.java @@ -0,0 +1,83 @@ +import java.io.BufferedWriter; +import java.io.FileWriter; +import java.io.IOException; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +public class SQLiteToProlog { + + public static void main(String[] args) { + SQLiteToPrologConverter converter = new SQLiteToPrologConverter("tasks.db", "prolog.pl"); + try { + converter.convert(); + System.out.println("Data has been written to prolog.pl"); + } catch (Exception e) { + e.printStackTrace(); + } + } +} + +class SQLiteToPrologConverter { + private String dbPath; + private String prologFilePath; + + public SQLiteToPrologConverter(String dbPath, String prologFilePath) { + this.dbPath = dbPath; + this.prologFilePath = prologFilePath; + } + + public void convert() throws ClassNotFoundException, SQLException, IOException { + Connection conn = null; + Statement stmt = null; + ResultSet rs = null; + + try { + // Ładowanie klasy sterownika JDBC SQLite + Class.forName("org.sqlite.JDBC"); + + // Nawiązywanie połączenia z bazą danych SQLite + conn = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + stmt = conn.createStatement(); + rs = stmt.executeQuery("SELECT * FROM tasks"); + + // Tworzenie pliku Prolog i zapis danych + BufferedWriter writer = new BufferedWriter(new FileWriter(prologFilePath)); + writer.write("has_duplicates(List) :- "); + writer.newLine(); + writer.write("\tmember(X, List),"); + writer.newLine(); + writer.write("\tselect(X, List, Rest), "); + writer.newLine(); + writer.write("\tmember(X, Rest), !."); + writer.newLine(); + writer.write("collect_todos(Ys) :-"); + writer.newLine(); + writer.write("\tfindall(Y, todo(_, Y), Ys)."); + writer.newLine(); + writer.write("todos_have_duplicates :-"); + writer.newLine(); + writer.write("\tcollect_todos(Ys),"); + writer.newLine(); + writer.write("\thas_duplicates(Ys)."); + writer.newLine(); + while (rs.next()) { + int id = rs.getInt("id"); + String task = rs.getString("task"); + + // Formatowanie wiersza jako relacji Prolog + String prologFact = String.format("todo(%d, '%s').", id, task.replace("'", "\\'")); + writer.write(prologFact); + writer.newLine(); + } + + writer.close(); + } finally { + if (rs != null) rs.close(); + if (stmt != null) stmt.close(); + if (conn != null) conn.close(); + } + } +} diff --git a/SQLiteToPrologConverter.class b/SQLiteToPrologConverter.class new file mode 100644 index 0000000000000000000000000000000000000000..cc1675ae20ba20810ab418dac81d27c03de58d0a GIT binary patch literal 2869 zcma)8TXz&y7XD7BldA3%1UrB&Q1_ABHpxYZ!^cz-S!J zIIiP_nhRc4y^cFuJyXL_Jw z$v~>k5dgQHK=hWxB)w#II-NXOR4t_w-oG4KLj6o^zx242En zhz^xJ1AoQiEKY6LouzE5ZKv0!HeI)Z$&tx3^jX8-4E!B03y3zFIo+n=6$7v0H3P5X z4FmsBX}bAZB=iO_Q$=X4*<<~?$h2vXfLbbz;u3+roRu~)8PrQLnYyaw7bKa1eyvBw z%C2)R0CH-@%U;X$ykW;5aH@7`8M6W#mN%wvA%0+xa2Xs4aa*o4$X=Op++lN;FyFaK z`KIl&m3IAx+2tc40JzFa zpIc%34w<$&t#Z3&TKeIvw*Rt4rM)7`bEc)}N@hNk{*CE+P)c^0PfyDZm^nj2OV<+;;Z=d%hyUv{h0sPUX?TxQ;u=hV?fsM_*;a9BOWbCb~yDx9op zbx<)t=%nxs}T+Su}Yu02O2g3I1%MXW41^w5(s*%Q`<#Jeq7uY){;F5jzSC*qPIk(WJIy=cB6&%HLfbR}iC3 zUK&|a*+rxUc3(jk<8BxD2)lCnFNnkfk);0Rrz}Ggz89OB$<1Pmn#oc5|Ad7Ew()B_ zYj7K-+W4N!Ajz_(SkQKs@(@eeN9jS&Y{EmeMs7Dy> t2Vzu?AbQ=}0WRx=X^y@h$HvY{xlIX9=2@H^T-_M>YtrakX89;czY8%+j!st#C&an25vVvN+m?R2M9m_0uX=z1Rwwb2tWV=5P-nH6i8+T%Ldv6@`L5_6qrD7X9U})Q-RTe*~$xM zKhaDlbClW}^+vRjYW{xqOf3rK1C7Oel&uYgiH$wMb^=Y|t{v!9L9qCu(b`1c=DGZ0 k)KDM*0SG_<0uX=z1Rwwb2tWV=5LhRH6c;v+e;6oy0|$U->i_@% literal 0 HcmV?d00001 diff --git a/todo.html b/todo.html new file mode 100644 index 0000000..4f8df4b --- /dev/null +++ b/todo.html @@ -0,0 +1,18 @@ + + + + + + To-Do List + + + + + + + + + +
    + +