summaryrefslogtreecommitdiff
path: root/frontends/calculator/CEdev/examples/fileio_rename/src
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/calculator/CEdev/examples/fileio_rename/src')
-rw-r--r--frontends/calculator/CEdev/examples/fileio_rename/src/main.c77
1 files changed, 77 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/fileio_rename/src/main.c b/frontends/calculator/CEdev/examples/fileio_rename/src/main.c
new file mode 100644
index 0000000..6f046bb
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/fileio_rename/src/main.c
@@ -0,0 +1,77 @@
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <tice.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <fileioc.h>
+
+/* Function prototypes */
+void printText(int8_t xpos, int8_t ypos, const char *text);
+
+/* Main Function */
+void main(void) {
+ /* Declare some variables */
+ const char *oldName = "OldFile";
+ const char *newName = "NewFile";
+ char nameBuffer[10];
+ ti_var_t file;
+ bool err = true;
+
+ /* Clear the homescreen */
+ os_ClrHome();
+
+ /* Close any previously open files */
+ ti_CloseAll();
+
+ /* Delete both the new and old files if they already exist */
+ ti_Delete(oldName);
+ ti_Delete(newName);
+
+ do {
+ /* Create a file with the old name */
+ file = ti_Open(oldName, "w");
+ if (!file) break;
+
+ ti_GetName(nameBuffer, file);
+ printText(0, 0, "Old Name: ");
+ printText(10, 0, nameBuffer);
+
+ /* Close the old file */
+ ti_CloseAll();
+
+ /* Rename the old file to the new file name */
+ ti_Rename(oldName, newName);
+
+ /* Ensure the new name of the file is correct */
+ file = ti_Open(newName, "r");
+ if (!file) break;
+
+ ti_GetName(nameBuffer, file);
+ printText(0, 1, "New Name: ");
+ printText(10, 1, nameBuffer);
+
+ err = false;
+ } while (0);
+
+ /* Close all open files */
+ ti_CloseAll();
+
+ /* If an error occured, inform the user */
+ if (err == true) {
+ printText(0, 2, "An error occured");
+ }
+
+ /* Wait for a keypress */
+ while (!os_GetCSC());
+}
+
+/* Draw text on the homescreen at the given X/Y location */
+void printText(int8_t xpos, int8_t ypos, const char *text) {
+ os_SetCursorPos(ypos, xpos);
+ os_PutStrFull(text);
+}
+