Image Back funktion

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Image Back funktion

Beitrag von felix96 »

Hallo,
Ich brach z.Z. eine undo-funktion für ein image.
Wisst ihr wo der Fehler liegt?

Also:
Der Zurück-Button:

Code: Alles auswählen

var i: byte;
begin                              
  image1.Picture.Bitmap:=undo_array[20];//           
  for i:=20 downto 1 do undo_array[i]:=undo_array[i-1];
  image1.Repaint;
und der Klick aufs Image:

Code: Alles auswählen

inc(neuees_undo);
  MenuItem6.Enabled:=true;
if neuees_undo>=4 then
  begin
    neuees_undo:=0;
    for i:=2 to 20 do undo_array[i-1]:=undo_array[i];
    undo_array[20]:=image1.Picture.Bitmap;
  end;


und zum schluss die Variablen:

Code: Alles auswählen

neuees_undo: byte=0;
  undo_array: array[1..20] of tbitmap;


P.S. es ist einfach so, dass wenn ich aufs image klicke, dass dann nichts passiert.
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Image Back funktion[gelöst]

Beitrag von felix96 »

Ok, habs mit einem kleinen Tipp von _X_ (danke :-) jetzt auch so geschaft:

Variablen:

Code: Alles auswählen

neuees_undo: byte=0;
  undo_array: array[1..20] of tbitmap;
Zurück:

Code: Alles auswählen

var i: byte;
begin                                 
  image1.Picture.Bitmap.Canvas.Draw(0,0,undo_array[20]);
  for i:=20 downto 1 do undo_array[i].Canvas.Draw(0,0,undo_array[i-1]);
  image1.Repaint;
OnClick:

Code: Alles auswählen

inc(neuees_undo);
  MenuItem6.Enabled:=true;
if neuees_undo>=4 then
  begin
    neuees_undo:=0;
    for i:=2 to 20 do undo_array[i-1].Canvas.Draw(0,0,undo_array[i]);
    //undo_array[20]:=image1.Picture.Bitmap;
    undo_array[20].Height:=Image1.Picture.Bitmap.Height;
    undo_array[20].Width:=Image1.Picture.Bitmap.Width;
    undo_array[20].Canvas.Draw(0,0,image1.Picture.Bitmap);
  end;
Wobei es ohne "neues_undo" besser geht
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Image Back funktion[doch nicht]

Beitrag von felix96 »

Hä, wenn man öfter zurücknehmen will, gehts doch nicht?
Und ohne neues_undo auch nicht
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Image Back funktion

Beitrag von felix96 »

gelöst
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Antworten