Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Prog2
/
labor_peldak
/
lab_04
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
c44db125
authored
Feb 27, 2019
by
Szeberényi Imre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
_WINX
parent
392b94f3
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
11 additions
and
12 deletions
+11
-12
console.cpp
+6
-6
console.h
+5
-6
No files found.
console.cpp
View file @
c44db125
...
@@ -9,10 +9,10 @@
...
@@ -9,10 +9,10 @@
#include <iostream>
#include <iostream>
#include <iomanip>
#include <iomanip>
#if
_WINX
#if
defined(_WINX)
#include <conio.h>
#include <conio.h>
#include <windows.h>
#include <windows.h>
#elif
_UNIX
#elif
defined(_UNIX)
#include <termios.h> //termios, TCSANOW, ECHO, ICANON
#include <termios.h> //termios, TCSANOW, ECHO, ICANON
#include <unistd.h> //STDIN_FILENO
#include <unistd.h> //STDIN_FILENO
#endif
#endif
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
/// Noname névtér.
/// Noname névtér.
/// Csak ebből a fájlból érhető el
/// Csak ebből a fájlból érhető el
namespace
{
namespace
{
#if
_WINX
#if
defined(_WINX)
void
clrscr
()
{
void
clrscr
()
{
HANDLE
hstdout
=
GetStdHandle
(
STD_OUTPUT_HANDLE
);
HANDLE
hstdout
=
GetStdHandle
(
STD_OUTPUT_HANDLE
);
CONSOLE_SCREEN_BUFFER_INFO
csbi
;
CONSOLE_SCREEN_BUFFER_INFO
csbi
;
...
@@ -44,7 +44,7 @@ void gotoxy(int x, int y) {
...
@@ -44,7 +44,7 @@ void gotoxy(int x, int y) {
SetConsoleCursorPosition
(
hstdout
,
dwCursorPosition
);
SetConsoleCursorPosition
(
hstdout
,
dwCursorPosition
);
}
}
#elif
_UNIX
#elif
defined(_UNIX)
/// Kihasználjuk, hogy ANSI terminál
/// Kihasználjuk, hogy ANSI terminál
void
clrscr
()
{
void
clrscr
()
{
...
@@ -113,14 +113,14 @@ Console::~Console() {
...
@@ -113,14 +113,14 @@ Console::~Console() {
int
Console
::
getch
()
{
int
Console
::
getch
()
{
/// segédmakró
/// segédmakró
#define C(c, k) {c,k}
#define C(c, k) {c,k}
#if
_WINX
#if
defined(_WINX)
static
keyCodes
arrows
[]
=
{
C
(
72
,
KEY_UP
),
C
(
80
,
KEY_DOWN
),
C
(
77
,
KEY_RIGHT
),
C
(
75
,
KEY_LEFT
),
C
(
0
,
0
)
};
static
keyCodes
arrows
[]
=
{
C
(
72
,
KEY_UP
),
C
(
80
,
KEY_DOWN
),
C
(
77
,
KEY_RIGHT
),
C
(
75
,
KEY_LEFT
),
C
(
0
,
0
)
};
int
ch
=
::
_getch
();
int
ch
=
::
_getch
();
if
(
ch
==
0xE0
)
{
/// windows ezt a kódot adja a nyílbillentyűk előtt
if
(
ch
==
0xE0
)
{
/// windows ezt a kódot adja a nyílbillentyűk előtt
ch
=
::
_getch
();
/// utána jön a billentyű kódja
ch
=
::
_getch
();
/// utána jön a billentyű kódja
return
trCode
(
ch
,
arrows
);
return
trCode
(
ch
,
arrows
);
}
}
#elif
_UNIX
#elif
defined(_UNIX)
static
keyCodes
arrows
[]
=
{
C
(
'A'
,
KEY_UP
),
C
(
'B'
,
KEY_DOWN
),
C
(
'C'
,
KEY_RIGHT
),
C
(
'D'
,
KEY_LEFT
),
C
(
0
,
0
)
};
static
keyCodes
arrows
[]
=
{
C
(
'A'
,
KEY_UP
),
C
(
'B'
,
KEY_DOWN
),
C
(
'C'
,
KEY_RIGHT
),
C
(
'D'
,
KEY_LEFT
),
C
(
0
,
0
)
};
int
ch
=
::
_getch
();
int
ch
=
::
_getch
();
if
(
ch
==
0x1b
)
{
/// ANSI módban ezt adja be a terminál a nyilak előtt
if
(
ch
==
0x1b
)
{
/// ANSI módban ezt adja be a terminál a nyilak előtt
...
...
console.h
View file @
c44db125
...
@@ -6,12 +6,11 @@
...
@@ -6,12 +6,11 @@
#ifndef CONSOLE_H
#ifndef CONSOLE_H
#define CONSOLE_H
#define CONSOLE_H
// VS: alatt nem megy #define _UNIX defined(__linux__) || defined(__sun)
#define _WINX defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
#if defined(__linux__) || defined(__sun)
#define _UNIX defined(__linux__) || defined(__sun)
#define _UNIX
#endif
#if !defined(_WINX) && !defined(_UNIX)
#if defined(_WIN32) || defined(_WIN64)
# error "OS?"
#define _WINX
#endif
#endif
/**
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment