OSDN Git Service

安定してきた
authoryamat0jp <yamat0jp@yahoo.co.jp>
Sat, 25 Sep 2021 12:15:25 +0000 (21:15 +0900)
committeryamat0jp <yamat0jp@yahoo.co.jp>
Sat, 25 Sep 2021 12:15:25 +0000 (21:15 +0900)
Undo.pas
Unit1.dfm
Unit1.pas

index cb921fd..6771af2 100644 (file)
--- a/Undo.pas
+++ b/Undo.pas
@@ -43,9 +43,12 @@ type
     FTop: Boolean;
   public
     procedure Execute; override;
+    procedure ReDo; override;
   end;
 
   TUndoClass = class(TComponent)
+  const
+    Max = 5;
   private
     FStack: TObjectStack;
     FReStack: TObjectStack;
@@ -290,21 +293,21 @@ end;
 procedure TUndoClass.UpBackCnt;
 begin
   inc(FBack);
-  if FBack > 5 then
+  if FBack > Max then
     FBack := 0;
 end;
 
 procedure TUndoClass.UpCount;
 begin
   inc(FCnt);
-  if FCnt > 5 then
+  if FCnt > Max then
     FCnt := 0;
 end;
 
 procedure TUndoClass.UpDelCnt;
 begin
   inc(FDel);
-  if FDel > 5 then
+  if FDel > Max then
     FDel := 0;
 end;
 
@@ -396,7 +399,20 @@ begin
     FMemo.SelStart := FPos;
     FMemo.SelText := #13#10;
     if FTop = false then
-      FMemo.SelStart:=FMemo.SelStart+1;
+      FMemo.SelStart := FMemo.SelStart + 1;
+  end;
+end;
+
+procedure TUnDelRet.ReDo;
+var
+  i: integer;
+begin
+  if FMemo <> nil then
+  begin
+    FMemo.SelStart := FPos;
+    i := FMemo.CaretPos.Y;
+    FMemo.Lines[i] := FMemo.Lines[i] + FMemo.Lines[i + 1];
+    FMemo.Lines.Delete(i + 1);
   end;
 end;
 
index adda4a2..00c98db 100644 (file)
--- a/Unit1.dfm
+++ b/Unit1.dfm
@@ -145,9 +145,6 @@ object Form1: TForm1
     Panels = <
       item
         Width = 50
-      end
-      item
-        Width = 50
       end>
   end
   object TabControl1: TTabControl
@@ -220,7 +217,7 @@ object Form1: TForm1
     Left = 200
     Top = 88
     Bitmap = {
-      494C010106000800840010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+      494C0101060008008C0010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
       0000000000003600000028000000400000002000000001002000000000000020
       0000000000000000000000000000000000000000000000000000000000000000
       0000000000000000000000000000000000000000000000000000000000000000
index fc39c30..41d542a 100644 (file)
--- a/Unit1.pas
+++ b/Unit1.pas
@@ -305,7 +305,6 @@ procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
 begin
   if charmodi = true then
     Undo.ResetCnt;
-  StatusBar1.Panels[1].Text := charmodi.ToString;
 end;
 
 function TForm1.returnChar(c: TIndxChar): Char;