【问题标题】:how to inverse a text in verifone vx520如何在verifone vx520中反转文本
【发布时间】:2015-08-09 09:27:59
【问题描述】:

我想反转一行中的文本,而另一行正常显示,并且在 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

【问题讨论】:

    标签: point-of-sale verifone


    【解决方案1】:

    我从来没有玩过inverse_togglesetinverse,但我注意到你并没有将其切换回来。试试这个:

    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);
    

    如果这不起作用,您可以随时使用字体工具来制作新字体(尽管这样会更有效)。

    【讨论】:

    • 当使用 inverse_toggle() 时,整个页面将是反向的。而对于 display_at,我没有找到任何像 gotoxy(x,y) 这样的函数,而且它不能正常工作并且反转整个页面。
    • 那么您可能需要创建或找到一种反色字体。
    • 我刚刚检查了使用window 命令是否有帮助,但它似乎没有(唉)。我认为您将无法使用字体创建工具。好消息是您可以只加载现有字体,然后使用“反向”命令​​。坏消息是你必须对每个字符都这样做——我不知道有一种方法可以一次“反转”整个字体。至于“display_at”,那是 aclconio.h` 文件的一部分。
    猜你喜欢
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 2015-07-13
    • 2016-02-25
    • 1970-01-01
    相关资源
    最近更新 更多