Hallo,
Ik ben bezig met het schrijven van een beveiligingssysteem dat elektronica kan aansturen voor een schoolproject. Nu moet het dus ook "graphisch" zijn in DOS.
Dus het gebruiken van de textcolor() functie is verplicht.
Maar nu heb ik het volgende probleem:
Ik heb dus mijn main functie en daarin roep ik een functie aan die een kader maakt op het scherm, zonder kleur. En een titel bovenin die in defineer in de funtie, in kleur welke ik ook weer defineer in de functie.
Dus:
Hoe dan ook. Dat gaat goed, ik gebruik cputs() om de kleuren text te schrijven en printf() om de normale text te schrijven.
Maar het moment dat ik in mijn menutje kies om naar een andere functie te gaan, in dit geval AdminLogin(), dan krijg ik opeens een blauw kader, met blauwe titel, en alles in het blauw
Hier heb ik dus niet om gevraagd.
Ga ik weer terug naar m'n hoofd functie dan is alles opeens rood (uitgaande van het feit dat de username/password niet goed was, dan krijg je rode text).
Maar om het venster te printen gebruik ik geen cprintf() of cputs(), dus alleen als ik kleur wil gebruik ik dus cputs() en de rest is gewoon printf(). Dan zou je toch zeggen dat het moet lukken? In mijn main() werkt het wel, maar het moment dat ik overstap, werkt het niet meer.
Wat doe ik fout?
Dit is trouwens de main():
En dit werkt dus niet, dan wordt alles opeens blauw:
Ik ben bezig met het schrijven van een beveiligingssysteem dat elektronica kan aansturen voor een schoolproject. Nu moet het dus ook "graphisch" zijn in DOS.
Dus het gebruiken van de textcolor() functie is verplicht.
Maar nu heb ik het volgende probleem:
Ik heb dus mijn main functie en daarin roep ik een functie aan die een kader maakt op het scherm, zonder kleur. En een titel bovenin die in defineer in de funtie, in kleur welke ik ook weer defineer in de functie.
Dus:
code:
1
| MainFrame(9, "Dit is de titel met de kleur 9"); |
Hoe dan ook. Dat gaat goed, ik gebruik cputs() om de kleuren text te schrijven en printf() om de normale text te schrijven.
Maar het moment dat ik in mijn menutje kies om naar een andere functie te gaan, in dit geval AdminLogin(), dan krijg ik opeens een blauw kader, met blauwe titel, en alles in het blauw
Hier heb ik dus niet om gevraagd.
Ga ik weer terug naar m'n hoofd functie dan is alles opeens rood (uitgaande van het feit dat de username/password niet goed was, dan krijg je rode text).
Maar om het venster te printen gebruik ik geen cprintf() of cputs(), dus alleen als ik kleur wil gebruik ik dus cputs() en de rest is gewoon printf(). Dan zou je toch zeggen dat het moet lukken? In mijn main() werkt het wel, maar het moment dat ik overstap, werkt het niet meer.
Wat doe ik fout?
Dit is trouwens de main():
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| int main() {
while(MainMenu.choice != 1 || MainMenu.choice != 2)
{
clrscr();
//print mainframe on the screen
//check vars.h for tech. documentation
//on the integers used for the colors.
MainFrame(9, "Business Software Alliance - Software Security System");
/************* DIT WERKT DUS WEL **************/
//print menu on the screen
DisplayMainMenu();
//react to user input at MainMenu()
if (MainMenu.choice == 1)
{
//goto login screen for the administrator
AdminLogin();
}
else if (MainMenu.choice == 2)
{
//boot the application which allows users to login and borrow software
//from the safe, upon scanning of the software.
CDSafe();
}
else
{
//if user did not choose a correct option, sound a 'beep'
SideLine(16);
textcolor(12);
cprintf("Please choose one of the options from the Menu. Press any key to continue.\n");
printf("\a");
getch();
}//end if
}//end while
return 0;
} |
En dit werkt dus niet, dan wordt alles opeens blauw:
code:
1
2
3
4
5
6
7
8
9
10
11
| void AdminLogin()
{
clrscr();
MainFrame(9, "Business Software Alliance - Administrator Login");
SideLine(17);
printf("Enter your username and password, or if you don't have that, type 'exit'");
/****** Hier is nog meer code maar dat is niet relevant, hier is het dus al mis gegaan, alles is hier dus BLAUW. En dat moet niet. */ |