如何批量修复此自定义“退格”选项?

时间:2017-10-04 03:09:18

标签: batch-file

我有这个自定义键盘,它基本上只包含很多文字动画;无论如何,一切都有效,除了退格功能,我需要做的是将选中的最后一个字符(%char%)转换为空白文本值。这是我保存所选文本的方法,但退格功能似乎没有做任何事情。

:enter
set nchar=%lchar%%char%
set lchar=%nchar%
goto %place%

:nback
set char=
goto %place%

它最初来自于这段代码,它只是通过少量调整来复制和粘贴以获得视觉愉悦。

:A
set char=A
set place=A
cls
echo  DONE  BACK  SPACE  QUIT
echo ________________________
echo  1  2  3  4  5  6  7  8
echo  9  0 [A] B  C  D  E  F
echo  G  H  I  J  K  L  M  N
echo  O  P  Q  R  S  T  U  V
echo  W  X  Y  Z  a  b  c  d
echo  e  f  g  h  i  j  k  l
echo  m  n  o  p  q  r  s  t
echo  u  v  w  x  y  z  !  ?
choice /c WASDE /n
if ERRORLEVEL 5 goto enter
if ERRORLEVEL 4 goto B
if ERRORLEVEL 3 goto I
if ERRORLEVEL 2 goto n0
if ERRORLEVEL 1 goto n3

2 个答案:

答案 0 :(得分:0)

阅读并关注Variables: extract part of a variable (substring)

  

可以从字符串变量中检索特定字符。

     

语法

%variable:~num_chars_to_skip%
%variable:~num_chars_to_skip,num_chars_to_keep%
     

这可能包括负数:

%variable:~num_chars_to_skip, -num_chars_to_keep%
%variable:~-num_chars_to_skip,num_chars_to_keep%
%variable:~-num_chars_to_skip,-num_chars_to_keep%
     

负数将从字符串末尾向后计数。

要从目前的类型文本中提取但最后一个字符,请使用

:nback
if not "%nchar%"=="" set "nchar=%nchar:~0,-1%"
set char=
goto %place%

答案 1 :(得分:0)

下面的代码修复了自定义Backspace选项。我还修改了“一点点”程序... frame.add(frame, new class);

Exception in thread "main" java.lang.IllegalArgumentException: adding container's parent to itself