3

verifone vx520で、ある行のテキストを反転させ、別の行を反転させずに正常に表示したい。私は inverse_toggle() 関数を使用しますが、この関数は行ではなくページ全体を反転します。ある行だけを反転させ、別の行を通常どおりに表示するにはどうすればよいですか?

ここに私のコードがあります:

int display = open(DEV_CONSOLE, 0);
inverse_toggle();
write(display,"first line to inverse\n",22); //i want to inverse just this line
write(display,"second line shown normally\n",27);//i want to show this line normally
4

1 に答える 1

1

inverse_toggleまたはで遊んだsetinverseことはありませんが、あなたがそれを元に戻していないことに気付きました。これを試して:

int display = open(DEV_CONSOLE, 0);
inverse_toggle();
write(display,"first line to inverse\n",22);
inverse_toggle(); // new line
write(display,"second line shown normally\n",27);

さらに制御するには、 を使用しますsetinverse。また、チェックしてくださいdisplay_at。よりもユーザーフレンドリーなオプションであることがわかると思いますwrite

int display = open(DEV_CONSOLE, 0);
setinverse(1); // explicitly turn inverse on
display_at(1, // x
           1, // y
           "first line to inverse", // no /n needed since we are specifying x and y
           NO_CLEAR); //defined in ACLCONIO.H. Other options are CLR_LINE and CLR_EOL
setinverse(0); // explicitly turn inverse off
display_at(1, 2, display,"second line shown normally", NO_CLEAR);

それがうまくいかない場合は、代わりにフォントツールを使用して新しいフォントを作成することができます (ただし、より多くの作業が必要になります)。

于 2015-05-27T17:02:29.653 に答える