스프레드시트 계산기SC아주 오래된 콘솔 기반 프로그램입니다. 이름에서 알 수 있는 것과 정확히 일치합니다. 매뉴얼 페이지에서 작업을 실행 취소하는 방법을 찾을 수 없습니다. 현재 RCS와 함께 사용하고 있는데,즉. 주요 변경을 수행하기 전에 RCS에서 수동으로 버전을 생성하고 필요에 따라 해당 버전으로 다시 순환하십시오. 이 작업을 수행하는 더 좋은 방법이 있는지 궁금합니다. 감사해요.
답변1
"sc"를 기반으로 터미널 스프레드시트를 만들고 있습니다. 실행 취소/다시 실행, 매핑 및 기타 기능이 있습니다. 관심이 있으시면 다음을 살펴보십시오. https://github.com/andmarti1424/scim
답변2
이것은 잘못된 희망일 수도 있지만 Fedora의 7.16RPM 소스를 사용하면 취소되는 것 같습니다.아마도 데비안 패키지 소스일 것입니다., "Yank" 및 "Pull" 기능과 일부 전략 조정이 포함됩니다.
예를 들어, sc.c의 1140행에서 = 명령은 한 행을 변경합니다.
case '=':
if (locked_cell(currow, curcol))
break;
/* set mark 0 */
savedrow[27] = currow;
savedcol[27] = curcol;
savedstrow[27] = strow;
savedstcol[27] = stcol;
/* btiffin, yank current cell to buffer 0 */
yankr(lookat(currow, curcol), lookat(currow, curcol));
(void) sprintf(line,"let %s = ", v_name(currow, curcol));
linelim = strlen(line);
insert_mode();
break;
yankr
"x" 명령이나 "yy" 명령과 같이 현재 셀 내용을 "0" 버퍼에 넣으려면 호출하세요 . 따라서 간단한 입력만으로 실수가 발생한 경우 "pp"를 사용하면 이전 셀 내용을 다시 되돌릴 수 있습니다.
이것은 틀렸을 수도 있지만 여기서는 그 매력이 발휘됩니다. 다음은 yankr
범위 작업 입니다 . 언뜻 보면 yankr(start, end)
문제가 발생했을 때 Pull 명령을 사용하기 위해 더 이상 50개 정도의 전략 호출이 필요하지 않습니다. 최소한 레벨에 도달하세요.
처음 네 가지 실험은 성공적이었습니다.
= LET, < LEFTSTRING, > RIGHTSTRING and \ LABEL
사용시 "엣지" 느낌이 sc
대폭 감소되었습니다. 사용 사례는 단순한 스프레드시트가 아니라 외부 스크립트에서 스프레드시트를 구동하고 간단한 호출로 popen
셀 값을 설정/가져오는 것 ,그런데 COBOL에서는 GnuCOBOL.
주의하세요, 이건 오늘만이에요. 치명적인 결함이 있는 마음에 대한 간단한 해결책처럼 보일 수 있는 것이 내일 발견될 수도 있습니다. 글쎄, 이제 생각해보세요. "게시"를 누르기 전에 읽어보세요. 버퍼 "0"이 아닐 수도 있습니다. 소스 코드를 읽고 어쨌든 "게시"를 누르세요.