Skip to content

Commit 74cd5e9

Browse files
committed
Odstranění system příkazů, možnost změnit locale a nějaké menší úpravy.
1 parent 0e60e69 commit 74cd5e9

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

spam.cpp

+15-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
#define NOMINMAX
2+
#define WHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE
3+
#define YELLOW FOREGROUND_RED | FOREGROUND_GREEN
4+
#define BGREEN FOREGROUND_GREEN | FOREGROUND_INTENSITY
25

36
#include <iostream>
47
#include <string>
@@ -13,10 +16,11 @@ int main() {
1316

1417
string ans;
1518
UINT codepage;
16-
string locale;
19+
string sLocale;
20+
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
1721

1822
setlocale(LC_ALL, "cs_CZ");
19-
system("Color 0E"); // Žlutá
23+
SetConsoleTextAttribute(hConsole, YELLOW);
2024

2125
cout << "Chcete editovat nastavení? (ano/ne): ";
2226
cin >> ans;
@@ -25,35 +29,37 @@ int main() {
2529

2630
cout << "\nProdleva mezi repeticemi (ms): ";
2731
cin >> delay;
28-
cout << "Prodleva nastavena na " << delay << "ms.\n\n";
32+
cout << "Prodleva nastavena na základní (" << delay << ")ms.\n\n";
2933

3034
cout << "Codepage: ";
3135
cin >> codepage;
3236

3337
cout << "Locale: ";
34-
cin >> locale;
38+
cin >> sLocale;
3539

3640
}
3741
else { // Cokoliv jiného než "ano" se bere jako ne
42+
3843
delay = 30;
3944
cout << "\nProdleva nastavena na základní (" << delay << "ms).\n";
45+
4046
codepage = 1250;
4147
locale = "cs_CZ";
48+
4249
}
43-
setlocale(LC_ALL, locale);
44-
cout << "Locale nastaven na základní (" << locale << ").\n";
50+
setlocale(LC_ALL, sLocale);
51+
cout << "Locale nastaven na základní (" << sLocale << ").\n";
4552
SetConsoleCP(codepage);
4653
cout << "Codepage nastaven na základní (" << codepage << ").\n\n";
4754

4855
cout << "(c) Petr Šácha 2022. Podporuje diakritiku.\n";
4956
cout << "Použitím programu souhlasíte se samostatností Míkovic.\n";
5057
cout << "Co chcete spamovat? -> ";
5158

52-
5359
cin.ignore(numeric_limits<streamsize>::max(), '\n'); // jinak nebude kvůli cin-u fungovat getline
5460
getline(wcin, wts);
5561

56-
system("Color 0A"); // Zelená
62+
SetConsoleTextAttribute(hConsole, BGREEN);
5763

5864
cout << "\nHotovo. Držte F12 pro spam.\n";
5965

@@ -64,5 +70,6 @@ int main() {
6470
}
6571

6672
}
73+
SetConsoleTextAttribute(hConsole, WHITE);
6774
return 0;
6875
}

0 commit comments

Comments
 (0)