X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcredit_manager.c;h=b26b6d1cd33b6a45950189b0443703da2fd9c30f;hb=a1dc471fac659fd6c939e1a36b93717f9e1d2caa;hp=29fdac6dbbbd062bcf3834fb629d41233f8da2df;hpb=d15721117a8d2dbd7266882c556626cd5d30b574;p=c128-kasse diff --git a/src/credit_manager.c b/src/credit_manager.c index 29fdac6..b26b6d1 100644 --- a/src/credit_manager.c +++ b/src/credit_manager.c @@ -1,6 +1,6 @@ /* * RGB2R-C128-Kassenprogramm - * (c) 2007-2008 phil_fry, sECuRE, sur5r + * © 2007-2009 phil_fry, sECuRE, sur5r * See LICENSE for license information * */ @@ -11,6 +11,9 @@ #include "config.h" #include "general.h" +#include "kasse.h" +#include "c128time.h" +#include "print.h" static char *filter = NULL; static BYTE filter_len; @@ -23,12 +26,11 @@ static void credit_print_screen() { clrscr(); cprintf("itemz (phil_fry, sECuRE, sur5r)\r\n\r\n"); - /* 16 entries per page */ - pages = (credits.num_items / 10); + pages = (credits.num_items / CREDITS_PER_PAGE); if (current_credits_page > pages) current_credits_page = pages; cprintf("Datei: CREDITS (Seite %d von %d)\r\n\r\n", current_credits_page, pages); - for (i = (current_credits_page * 10); i < credits.num_items && i < ((current_credits_page+1) * 10); i++) { + for (i = (current_credits_page * CREDITS_PER_PAGE); i < credits.num_items && i < ((current_credits_page+1) * CREDITS_PER_PAGE); i++) { if (filter == NULL || strncmp(credits.credits[i].nickname, filter, filter_len) == 0) { if (format_euro(buffer, 10, credits.credits[i].credit) != buffer) { cprintf("Error: Could not format credit %d\r\n", credits.credits[i].credit); @@ -55,6 +57,7 @@ struct credits_t *find_credit(char *name){ * */ static void deposit_credit() { + char *time = get_time(); char *input; struct credits_t *credit; unsigned int deposit; @@ -73,9 +76,12 @@ static void deposit_credit() { credit->credit += deposit; toggle_videomode(); - cprintf("%d Cent eingezahlt fuer %s.\r\nRestguthaben: %d\r\n", deposit, credit->nickname, credit->credit); + cprintf("%d Cent eingezahlt fuer %s.\r\nRestguthaben: %d\r\n", deposit, credit->nickname); + sprintf(print_buffer, "%c%s - %d Cent eingezahlt fuer %s. Restguthaben: %d Cent\r", 17, time, deposit, credit->nickname, credit->credit); + cprintf("%s", print_buffer); toggle_videomode(); - cprintf("\r\nEinzahlung durchgefuehrt, drucke RETURN...\r\n"); + print_the_buffer(); + cprintf("\r\nEinzahlung durchgefuehrt, druecke RETURN...\r\n"); input = get_input(); toggle_videomode(); clrscr(); @@ -92,6 +98,7 @@ static void new_credit() { return; } + clrscr(); cprintf("\rNickname:\r\n"); if ((input = get_input()) == NULL || *input == '\0') return; @@ -101,6 +108,10 @@ static void new_credit() { return; strcpy(credits.credits[credits.num_items].nickname, name); credits.credits[credits.num_items].credit = credit; + + sprintf(print_buffer, "%cGuthaben mit %d Cent fuer %s angelegt\r", 17, credit, name); + print_the_buffer(); + credits.num_items++; free(name); } @@ -144,7 +155,7 @@ void credit_manager(){ case 's': save_credits(); break; case 'f': - if (current_credits_page < (credits.num_items / 16)) + if (current_credits_page < (credits.num_items / CREDITS_PER_PAGE)) current_credits_page++; break; case 'b': @@ -160,6 +171,7 @@ void credit_manager(){ filter = NULL; break; case 'z': + save_credits(); return; default: cprintf("Unbekannter Befehl, druecke RETURN...\r\n");