Rückgängig machen

Anfängerfragen zum Programmieren mit PureBasic.
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Rückgängig machen

Beitrag von sobi »

Hallo,

ihr kennt das alle von Word, Excel, PB und anderen Winanwendungen. Die "Strg+Z" - Funktion, die letzten Aktionen Rückgängig zu machen.
Jetzt stellt sich mir die Frage, wie programmiere ich das am besten am einfachsten?
Hat irgendjemand da eine Idee?

LG,

Simon


PS: zur Sicherheit: Wie ich einen Shortcut erstelle ist mir klar, ich meine die Rückgängig-Funktion
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Rückgängig machen

Beitrag von Kiffi »

> ich meine die Rückgängig-Funktion

so generell lässt sich das wohl nicht beantworten.

für welche Aktion?

Grüße ... Kiffi
a²+b²=mc²
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Re: Rückgängig machen

Beitrag von sobi »

Kiffi hat geschrieben: für welche Aktion?
Überwiegend für Tabelleneinträge.

Würde das Sinn machen, eine extra Tabelle zu erstellen in der ich die verschiedenen Werte Speichere (Tabellenname und was gemacht wurde) oder gibt es da andere Möglichkeiten?

Es sind verschiedene Aktionen die der User in dem Programm ausführen kann.
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Ich würde vorschlagen eine LinkedList zu machen in der du jede Aktion speicherst.
Dann kannst du den ältesten Punkt immer dann löschen wenn dir die Liste zu groß wird. :allright:
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

ja genau so wie batze gesagt hat und zwar so:

Code: Alles auswählen

User: markiert text ("ich bin die zelle B5") in zelle B5 und löscht ihn
Programm: del B 5 ich bin die zelle B5
User: klickt rückgänig
Programm: oberster eintrag der Linked list ist "del B 5 ich bin die zelle B5" --> programm weiß das der user text gelöscht hat ("del"), es weiß welche spalte es war ("B"), es weiß welche zeile es war ("5") und es weiß den text der davor drin stand ("ich bin die zelle B5")
User: zufrieden^^
dazu brauchst du dann so ein art protokoll:

Code: Alles auswählen

del     user hat was gelöscht     befehl leerzeichen spalte leerzeichen zeile leerzeichen text
.
.
.
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Antworten