我试图创建这个程序,我在stdscr上并排打印两个窗口。我创建了课程菜单'要在一个地方宣布整个屏幕的所有内容,我会创建一个菜单'主要的对象(' menu_principal')但没有任何反应。我添加了两个函数来查看我的对象是否正在创建,它是。
为什么不显示窗户?
以下是课程':
class menu{
public:
menu(int row, int col){
display = newwin((row-4), (col/2), 2, 0);
getmaxyx(display, drow, dcol);
help = newwin((row-4), (col/2), 2, (col/2));
getmaxyx(help, hrow, hcol);
refresh();
box(display, 0, 0);
wrefresh(display);
box(help, 0,0);
wrefresh(help);
refresh();
}
int prueba1(){
return (this->drow);
}
int prueba2(){
return (this->hrow);
}
private:
int y, x, drow, dcol, hrow, hcol;
WINDOW * display;
WINDOW * help;
};
以下是主要内容的一部分:
int main(int argc, char const *argv[]) {
int row=0, col=0;
initscr();
refresh();
cbreak();
getmaxyx(stdscr, row, col);
menu* menu_principal = new menu(row, col);
refresh();
cout << row;
cout << menu_principal->prueba1();
cout << menu_principal->prueba2();
答案 0 :(得分:0)
简单的 program Files2;
{$mode objfpc}{$H+}
uses
SysUtils;
var
TotalBytes : Int64;
f : file of byte;
FileName : String;
begin
FileName := ChangeFileExt(ParamStr(0), '.BU'); // get name of this app
AssignFile(f, FileName);
Reset(f);
try
TotalBytes := System.FileSize(f);
writeln('Size of ', FileName, ' = ', TotalBytes, ' bytes');
readln;
finally
CloseFile(f);
end;
end.
调用会覆盖特定于窗口的 refresh()
和 wrefresh(display)
。如果样本完整,有人可以指向执行此操作的特定代码行。
( wrefresh(help)
调用没有多大帮助:您应该将该信息写入文件而不是屏幕。)