UndoBuffer wirkt bis/ab wann?

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

UndoBuffer wirkt bis/ab wann?

Beitrag von Manfred »

Hi,

ich habe einige Probleme zu verstehen ab wann, oder bis wann ein UndoBuffer wirkt?

ab/bis wann sind UndoBuffer und EditBuffer gleich bzw. unterschiedlich? Gibt es da Unterschiede zu Xbase++ pur und express++? Alles was ich bisher getestet hatte, ergab dass UndoBuffer und editbuffer() denselben Inhalt hatten. Ja wo muß ich denn abfragen um einen Unterschied feststellen zu können?

Ich habe ein Eingabefeld, in dem ein Text steht. Diesen Text möchte ich per Button in ein Editierfeld kopieren um es dann zu editieren.

Code: Alles auswählen

objekt:oTitel1_n:setData(objekt:titel1)
Wenn ich jetzt einen Vergleich mache objekt:oTitel1:undobuffer und objekt:oTitel1:editbuffer() steht in beiden das gleiche drin. Changed klappt auch nicht. Wie soll man denn da eine Änderung feststellen können?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: UndoBuffer wirkt bis/ab wann?

Beitrag von Herbert »

Manfred, wenn du kopierst, hast du nichts verändert. :roll:
:changed wird erst dann zu wahr, wenn du ein Zeichen des Editfeldes änderst.
Undobuffer ist offenbar express, kenn ich nicht.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: UndoBuffer wirkt bis/ab wann?

Beitrag von Manfred »

Herbert

UndoBuffer -> DataRef()
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: UndoBuffer wirkt bis/ab wann?

Beitrag von brandelh »

Man muss changed := .t. setzen, wenn man den Inhalt per Programm geändert hat und beim Speichern abfragt ob das Control:changed wurde ;-)
So wie ich das verstanden habe, kann man nach Eingaben VOR dem Speichern (also vor getData wegen datalink) per Methode den alten Inhalt wieder herstellen.
Z.B. mit rechter Maustaste oder einem anderen Button auf dem Fenster.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: UndoBuffer wirkt bis/ab wann?

Beitrag von Manfred »

Ja,

ich bin schon schwer gefrustet. Ich dachte das würde so einfach mal eben kurz gehen. Aber das mit dem UndoBuffer hat irgendwie nicht das auf dem Nacken, was ich erwartet hatte.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Re: UndoBuffer wirkt bis/ab wann?

Beitrag von Markus Walter »

Hallo Manfred,

:changed, :Original und :get:buffer verhalten sich unter Express nicht unbedingt, wie ich es erwarten würde (bzw. wie man es vom "alten" GET-System gewohnt ist. Insbesondere Datumsfelder verhalten sich da anders als Char, bzw. Num-Felder. Roger überschreibt wohl die betroffenen Eigenschaften je nach Situation. changed ist z. B. "nicht zuverlässig" bei Fensterwechseln (wie Alt-Tab o. ä.), sprich verhält sich anders als das changed im "alten" Get-System.
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: UndoBuffer wirkt bis/ab wann?

Beitrag von Manfred »

Hi Markus,

Danke nochmal für den Hinweis. Ich habe es jetzt vorübergehend mit dc_getorigupdate() und ID gemacht. Ich frage damit eben gezielt das einzelne Feld ab. Es liefert mir im Moment genau das Ergebnis was ich brauche. Tja, man kann eben nicht alles haben. :doubt:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Re: UndoBuffer wirkt bis/ab wann?

Beitrag von Markus Walter »

Hallo Manfred,

ich würde mir auch dabei genau anschauen, was die Funktion liefert, wenn z. B. ein Fensterwechsel zwischendurch erfolgt ist. Ich vermute mal, Roger wird auch bei dieser Funktion die entsprechenden Eigenschaften miteinander vergleichen.
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: UndoBuffer wirkt bis/ab wann?

Beitrag von Manfred »

au weiah,

muß ich dann wirklich mal berücksichtigen, bzw. prüfen. Danke
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: UndoBuffer wirkt bis/ab wann?

Beitrag von UliTs »

So lange man nicht mit Copy und Paste etwas in ein Eingabefeld einfügt, funktioniert :changed unter xBase++ wunderbar.
Damit auch bei Copy und Paste :changed auf TRUE gesetzt wird, habe ich mal mit Hilfe von Till eine wunderschöne Klassenerweiterung geschrieben :-) 8) .

Bei :SetData wird :changed auf FALSE gesetzt und der :undoBuffer neu geschrieben.

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Re: UndoBuffer wirkt bis/ab wann?

Beitrag von Markus Walter »

Hallo Uli,

mag sein, aber Manfred hatte explizit nach Express gefragt und da bin ich in einige Probleme gelaufen, was :changed angeht (z. B. bei Datumsfeldern, Fokuswechsel, Picture-Klauseln)...
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: UndoBuffer wirkt bis/ab wann?

Beitrag von brandelh »

Wenn man z.B. einen Vorgabetext in das Control einfügt und diesen auch speichern lassen will,
muss man changed := .t. setzen. Genauso bei meinen eigenen Controls, wer den Editbuffer
manipuliert, muss changed so setzen wie man es braucht.
Alles kein Problem, seit man die selbst ändern kann, das war nicht immer so.

Wenn ICH einen UNDO Button anbieten will und mit dem Standard Undo nicht zurecht komme,
dann speichere ich halt den Satz doppelt z.B. in einem Array, was solls ?
Etwas mehr Arbeit, aber volle Kontrolle ;-)
Gruß
Hubert
Antworten