Jaehui-Lee / CLI-Excel

Excel program running in CLI environment
0 stars 0 forks source link

Find command #4

Open plug4564 opened 3 years ago

plug4564 commented 3 years ago

설명

엑셀 내에서 Find 명령어 구현 엑셀에 입력된 모든 값들을 읽고 해당하는 Cell을 ncurses를 통해 표현 ex) find 10, find great

TODO

plug4564 commented 3 years ago

excel.cpp

else if (command == "find")
{
    print_table(to);
    return 5;
}
void Excel::print_table(string look_for = "")
{
    ...
    current_table->print_table(look_for);
    ...
}

첫 번째 명령어가 find이면 print_table(to)가 실행되고 찾고자 하는 input이 변수로 들어간다 찾고자 하는 변수(look_for)는 Table::print_table(string)함수에 넘겨지고 출력 된다

table.cpp

void Table::print_table(string look_for = "")
{
    s = data_table[i][j]->stringify();
    if ( look_for != "" && look_for == s )
        wattron(win, COLOR_PAIR(1));
    wprintw(win, s.c_str());
    if ( look_for != "" && look_for == s )
        wattroff(win, COLOR_PAIR(1));
}

look_for을 모든 cell의 값과 비교하여 값이 같으면 main에서 정의한 COLOR_PAIR(1)의 컬러로 출력 되게 한다.