🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
31 messages
31 total messages Started by JS Wed, 11 Jan 2017 17:13
Undo/Redo
#345531
Author: JS
Date: Wed, 11 Jan 2017 17:13
9 lines
1076 bytes
Witam
Poradźcie jak zrobić funkcję Undo/Redo w programie, który operuje na 
kilkunastu (całkiem niemałych) tablicach rekordów? Kolejność modyfikacji 
tablic jest dowolna, a rekordy w poszczególnych tablicach są 
caaałkowicie różne.
Jakiś sprytny pomysł?

Pozdrawiam
JS
Re: Undo/Redo
#345532
Author: Sebastian Biały
Date: Wed, 11 Jan 2017 19:32
22 lines
1646 bytes
On 2017-01-11 18:13, JS wrote:
> Poradźcie jak zrobić funkcję Undo/Redo w programie, który operuje na
> kilkunastu (całkiem niemałych) tablicach rekordów?

a) owrapować je obiektowo

b) metody modyfikujące niczego nie zmieniają, ale tworzą mapę *wyjątków*

c) metody czytające w pierwszej kolejności widzą mapę wyjątków

d) jesli mapa jest dośc duża lub zaistnieje inna potrzeba wyjątki sa 
przepisywane do kopii struktury (można to zrobić w tle).

e) warto zainteresować sie pojeciem pamięci transakcyjnej (zrealizowanej 
softwareowo, jak w Clojure)

f) zastanowić sie nad wielopozomowymi wyjątkami (lista map) co ułatwia 
cofanie o wiele poziomów

> Jakiś sprytny pomysł?

Zależy od problemu i od spodziewanej wydajności *czytania*.
Re: Undo/Redo
#345533
Author: zpksoft
Date: Thu, 12 Jan 2017 08:44
17 lines
1888 bytes
W dniu środa, 11 stycznia 2017 18:13:57 UTC+1 użytkownik JS napisał:
> Witam
> Poradźcie jak zrobić funkcję Undo/Redo w programie, który operuje na 
> kilkunastu (całkiem niemałych) tablicach rekordów? Kolejność modyfikacji 
> tablic jest dowolna, a rekordy w poszczególnych tablicach są 
> caaałkowicie różne.
> Jakiś sprytny pomysł?
> 
> Pozdrawiam
> JS

Ja bym zrobił tak: dla każdej tabeli założył bym tabelę z historią.
Program podczas edycji zapamiętywał by swoją ścieżkę edycji. Undo-redo- poruszanie się po tej ścieżce do tyłu-przodu po to, żeby wiedzieć o jaką tabelę i rekord chodzi. 

Dosyć proste.

Paweł
Re: Undo/Redo
#345534
Author: J-23
Date: Thu, 12 Jan 2017 14:25
32 lines
2363 bytes
W dniu 12.01.2017 o 09:44, zpksoft pisze:
> W dniu środa, 11 stycznia 2017 18:13:57 UTC+1 użytkownik JS napisał:
>> Witam
>> Poradźcie jak zrobić funkcję Undo/Redo w programie, który operuje na
>> kilkunastu (całkiem niemałych) tablicach rekordów? Kolejność modyfikacji
>> tablic jest dowolna, a rekordy w poszczególnych tablicach są
>> caaałkowicie różne.
>> Jakiś sprytny pomysł?
>>
>> Pozdrawiam
>> JS
>
> Ja bym zrobił tak: dla każdej tabeli założył bym tabelę z historią.
> Program podczas edycji zapamiętywał by swoją ścieżkę edycji. Undo-redo- poruszanie się po tej ścieżce do tyłu-przodu po to, żeby wiedzieć o jaką tabelę i rekord chodzi.
>
> Dosyć proste.

Tak naprawdę stopień trudności tego zadania zależy od tego jak masz 
zorganizowany kod w tej chwili. Jeżeli masz zrobiony odpowiedni podział 
na modułu/funkcje i ten kod jest "zadbany" to wystarczy zapoznać się z 
zasadą wzorca memento

https://pl.wikipedia.org/wiki/Pami%C4%85tka_(wzorzec_projektowy)

Gorzej kiedy mamy do czynienia ze zjawiskiem zwanym "Spaghetti code"

To jak już to zapiszemy jest sprawą drugorzędną czy to będą "tabele 
historii" czy tabela w bazie danych to nie ma znaczenia w fazie 
projektowania najważniejsza jest organizacja tego co masz do chwili obecnej

Pozdrawiam
J-23
Re: Undo/Redo
#345535
Author: zpksoft
Date: Thu, 12 Jan 2017 15:57
39 lines
3241 bytes
W dniu czwartek, 12 stycznia 2017 15:25:20 UTC+1 użytkownik J-23 napisał:
> W dniu 12.01.2017 o 09:44, zpksoft pisze:
> > W dniu środa, 11 stycznia 2017 18:13:57 UTC+1 użytkownik JS napisał:
> >> Witam
> >> Poradźcie jak zrobić funkcję Undo/Redo w programie, który operuje na
> >> kilkunastu (całkiem niemałych) tablicach rekordów? Kolejność modyfikacji
> >> tablic jest dowolna, a rekordy w poszczególnych tablicach są
> >> caaałkowicie różne.
> >> Jakiś sprytny pomysł?
> >>
> >> Pozdrawiam
> >> JS
> >
> > Ja bym zrobił tak: dla każdej tabeli założył bym tabelę z historią.
> > Program podczas edycji zapamiętywał by swoją ścieżkę edycji. Undo-redo- poruszanie się po tej ścieżce do tyłu-przodu po to, żeby wiedzieć o jaką tabelę i rekord chodzi.
> >
> > Dosyć proste.
> 
> Tak naprawdę stopień trudności tego zadania zależy od tego jak masz 
> zorganizowany kod w tej chwili. Jeżeli masz zrobiony odpowiedni podział 
> na modułu/funkcje i ten kod jest "zadbany" to wystarczy zapoznać się z 
> zasadą wzorca memento
> 
> https://pl.wikipedia.org/wiki/Pami%C4%85tka_(wzorzec_projektowy)
> 
> Gorzej kiedy mamy do czynienia ze zjawiskiem zwanym "Spaghetti code"
> 
> To jak już to zapiszemy jest sprawą drugorzędną czy to będą "tabele 
> historii" czy tabela w bazie danych to nie ma znaczenia w fazie 
> projektowania najważniejsza jest organizacja tego co masz do chwili obecnej
> 
> Pozdrawiam
> J-23

Pisząc o tabelach przechowujących historię miałem na myśli oczywiście dodatkowe tabele w bazie. W moich rozwiązaniach jest to standardem. Choć nie wykorzystuję tego w undo-redo.

Poza tym pytający nie pisał o organizacji kodu tylko pytał o pomysł realizacji undo-redo na bazie danych.

Paweł
Re: Undo/Redo
#345536
Author: Roman Tyczka
Date: Thu, 12 Jan 2017 17:17
10 lines
1187 bytes
On Thu, 12 Jan 2017 07:57:14 -0800 (PST), zpksoft wrote:

> Poza tym pytający nie pisał o organizacji kodu tylko pytał 
> o pomysł realizacji undo-redo na bazie danych.

Ani słowa nie ma o bazie danych, co palisz, że masz takie omamy?

-- 
pozdrawiam
Roman Tyczka
Re: Undo/Redo
#345537
Author: J-23
Date: Thu, 12 Jan 2017 20:53
27 lines
2400 bytes
W dniu 12.01.2017 o 18:17, Roman Tyczka pisze:
> On Thu, 12 Jan 2017 07:57:14 -0800 (PST), zpksoft wrote:
>
>> Poza tym pytający nie pisał o organizacji kodu tylko pytał
>> o pomysł realizacji undo-redo na bazie danych.
>
> Ani słowa nie ma o bazie danych, co palisz, że masz takie omamy?
>

Są słowa o tablicach i danych:

cytuje : "Poradźcie jak zrobić funkcję Undo/Redo w programie, który 
operuje na kilkunastu (całkiem niemałych) tablicach rekordów?"

Można wysnuć wniosek, że chodzi o tabele w bazie danych (Na upartego też 
można przykleić że mogą być to rekordy w pamięci) ale autor idze na 
skróty myślowe bo zastanawia się "jak zapisać poszczególne kroki w bazie 
danych" a nie jak "zorganizować strukturę pozwalającą zapisać do bazy 
danych." a problem przywracania to tak naprawdę jest problemem 
organizacji zapisu poszczególnych kroków

Nie ma moim zdaniem co wymyślać koła na nowo i szukać rozwiązań 
partyzanckich. No chyba że w kodzie jest brak jakiejkolwiek organizacji 
wtedy operacja "Undo/Redo" będzie wyglądała na karkołomną.

Pozdrawiam
J-23
Re: Undo/Redo
#345538
Author: JS
Date: Fri, 13 Jan 2017 18:04
37 lines
2573 bytes
W dniu 2017-01-12 o 21:53, J-23 pisze:
> W dniu 12.01.2017 o 18:17, Roman Tyczka pisze:
>> On Thu, 12 Jan 2017 07:57:14 -0800 (PST), zpksoft wrote:
>>
>>> Poza tym pytający nie pisał o organizacji kodu tylko pytał
>>> o pomysł realizacji undo-redo na bazie danych.
>>
>> Ani słowa nie ma o bazie danych, co palisz, że masz takie omamy?
>>
>
> Są słowa o tablicach i danych:
>
> cytuje : "Poradźcie jak zrobić funkcję Undo/Redo w programie, który
> operuje na kilkunastu (całkiem niemałych) tablicach rekordów?"
>
> Można wysnuć wniosek, że chodzi o tabele w bazie danych (Na upartego też
> można przykleić że mogą być to rekordy w pamięci) ale autor idze na
> skróty myślowe bo zastanawia się "jak zapisać poszczególne kroki w bazie
> danych" a nie jak "zorganizować strukturę pozwalającą zapisać do bazy
> danych." a problem przywracania to tak naprawdę jest problemem
> organizacji zapisu poszczególnych kroków
>
> Nie ma moim zdaniem co wymyślać koła na nowo i szukać rozwiązań
> partyzanckich. No chyba że w kodzie jest brak jakiejkolwiek organizacji
> wtedy operacja "Undo/Redo" będzie wyglądała na karkołomną.
>
> Pozdrawiam
> J-23
Nie robię żadnej bazy danych, jest po prostu kilkanaście tablic:
aaa: array [1..xxxx] of "jakiś tam rekord";

Na razie rzeźbię dodatkowe tablice z historią, ale myślałem, że jest 
jakiś sprytniejszy sposób.
W każdym razie dzięki za porady.

Pozdrawiam
JS
Re: Undo/Redo
#345548
Author: Roman Tyczka
Date: Fri, 13 Jan 2017 18:27
28 lines
1929 bytes
On Thu, 12 Jan 2017 21:53:03 +0100, J-23 wrote:

>> Ani słowa nie ma o bazie danych, co palisz, że masz takie omamy?
>>
> 
> Są słowa o tablicach i danych:
> 
> cytuje : "Poradźcie jak zrobić funkcję Undo/Redo w programie, który 
> operuje na kilkunastu (całkiem niemałych) tablicach rekordów?"

Nadal tu bazy danych nie widzę.
 
> Można wysnuć wniosek, że chodzi o tabele w bazie danych (Na upartego też 
> można przykleić że mogą być to rekordy w pamięci) ale autor idze na 
> skróty myślowe bo zastanawia się "jak zapisać poszczególne kroki w bazie 
> danych" 

Gdzie to wyczytałeś?? Też coś wciągasz? Omajngot.

> a nie jak "zorganizować strukturę pozwalającą zapisać do bazy 
> danych." a problem przywracania to tak naprawdę jest problemem 
> organizacji zapisu poszczególnych kroków

Ludzie, czytajcie ze zrozumieniem, to naprawdę nie boli.

-- 
pozdrawiam
Roman Tyczka
Re: Undo/Redo
#345546
Author: J-23
Date: Fri, 13 Jan 2017 21:02
35 lines
2488 bytes
W dniu 13.01.2017 o 19:27, Roman Tyczka pisze:
> On Thu, 12 Jan 2017 21:53:03 +0100, J-23 wrote:
>
>>> Ani słowa nie ma o bazie danych, co palisz, że masz takie omamy?
>>>
>>
>> Są słowa o tablicach i danych:
>>
>> cytuje : "Poradźcie jak zrobić funkcję Undo/Redo w programie, który
>> operuje na kilkunastu (całkiem niemałych) tablicach rekordów?"
>
> Nadal tu bazy danych nie widzę.
>
>> Można wysnuć wniosek, że chodzi o tabele w bazie danych (Na upartego też
>> można przykleić że mogą być to rekordy w pamięci) ale autor idze na
>> skróty myślowe bo zastanawia się "jak zapisać poszczególne kroki w bazie
>> danych"
>
> Gdzie to wyczytałeś?? Też coś wciągasz? Omajngot.
>

Podałem cytat i podałem dwa warianty: okazał się wariant numer dwa 
(tablice w pamięci)

>> a nie jak "zorganizować strukturę pozwalającą zapisać do bazy
>> danych." a problem przywracania to tak naprawdę jest problemem
>> organizacji zapisu poszczególnych kroków
>
> Ludzie, czytajcie ze zrozumieniem, to naprawdę nie boli.
>

Także sam czytaj ze zrozumieniem potem pouczaj.

Pozdrawiam
J-23
Re: Undo/Redo
#345539
Author: zpksoft
Date: Fri, 13 Jan 2017 21:59
52 lines
3768 bytes
W dniu piątek, 13 stycznia 2017 19:04:08 UTC+1 użytkownik JS napisał:
> W dniu 2017-01-12 o 21:53, J-23 pisze:
> > W dniu 12.01.2017 o 18:17, Roman Tyczka pisze:
> >> On Thu, 12 Jan 2017 07:57:14 -0800 (PST), zpksoft wrote:
> >>
> >>> Poza tym pytający nie pisał o organizacji kodu tylko pytał
> >>> o pomysł realizacji undo-redo na bazie danych.
> >>
> >> Ani słowa nie ma o bazie danych, co palisz, że masz takie omamy?
> >>
> >
> > Są słowa o tablicach i danych:
> >
> > cytuje : "Poradźcie jak zrobić funkcję Undo/Redo w programie, który
> > operuje na kilkunastu (całkiem niemałych) tablicach rekordów?"
> >
> > Można wysnuć wniosek, że chodzi o tabele w bazie danych (Na upartego też
> > można przykleić że mogą być to rekordy w pamięci) ale autor idze na
> > skróty myślowe bo zastanawia się "jak zapisać poszczególne kroki w bazie
> > danych" a nie jak "zorganizować strukturę pozwalającą zapisać do bazy
> > danych." a problem przywracania to tak naprawdę jest problemem
> > organizacji zapisu poszczególnych kroków
> >
> > Nie ma moim zdaniem co wymyślać koła na nowo i szukać rozwiązań
> > partyzanckich. No chyba że w kodzie jest brak jakiejkolwiek organizacji
> > wtedy operacja "Undo/Redo" będzie wyglądała na karkołomną.
> >
> > Pozdrawiam
> > J-23
> Nie robię żadnej bazy danych, jest po prostu kilkanaście tablic:
> aaa: array [1..xxxx] of "jakiś tam rekord";
> 
> Na razie rzeźbię dodatkowe tablice z historią, ale myślałem, że jest 
> jakiś sprytniejszy sposób.
> W każdym razie dzięki za porady.
> 
> Pozdrawiam
> JS

Myślałem, że to baza danych :)
U mnie w bazach odpowiednie triggery załatwiają kwestię historii.

Dla Twojego przypadku utworzył bym listę zawierającą elementy. Każdy z nich byłby rekordem złożonym z:
- nazwy tablicy którego dotyczy wpis
- numeru rekordu tablicy
- bloba (paczki binarnej zawierającej historyczną zawartość rekordu tablicy)

I teraz wystarczy poruszanie się po tej liście.

W bazie danych mają sens tablice historyczne, tutaj myślę, że takie rozwiązanie będzie właściwsze.

Paweł
Re: Undo/Redo
#345545
Author: arivald
Date: Sat, 14 Jan 2017 07:10
69 lines
3960 bytes
W dniu 2017-01-13 o 19:04, JS pisze:
> W dniu 2017-01-12 o 21:53, J-23 pisze:
>> W dniu 12.01.2017 o 18:17, Roman Tyczka pisze:
>>> On Thu, 12 Jan 2017 07:57:14 -0800 (PST), zpksoft wrote:
>>>
>>>> Poza tym pytający nie pisał o organizacji kodu tylko pytał
>>>> o pomysł realizacji undo-redo na bazie danych.
>>>
>>> Ani słowa nie ma o bazie danych, co palisz, że masz takie omamy?
>>>
>>
>> Są słowa o tablicach i danych:
>>
>> cytuje : "Poradźcie jak zrobić funkcję Undo/Redo w programie, który
>> operuje na kilkunastu (całkiem niemałych) tablicach rekordów?"
>>
>> Można wysnuć wniosek, że chodzi o tabele w bazie danych (Na upartego też
>> można przykleić że mogą być to rekordy w pamięci) ale autor idze na
>> skróty myślowe bo zastanawia się "jak zapisać poszczególne kroki w bazie
>> danych" a nie jak "zorganizować strukturę pozwalającą zapisać do bazy
>> danych." a problem przywracania to tak naprawdę jest problemem
>> organizacji zapisu poszczególnych kroków
>>
>> Nie ma moim zdaniem co wymyślać koła na nowo i szukać rozwiązań
>> partyzanckich. No chyba że w kodzie jest brak jakiejkolwiek organizacji
>> wtedy operacja "Undo/Redo" będzie wyglądała na karkołomną.
>>
>> Pozdrawiam
>> J-23
> Nie robię żadnej bazy danych, jest po prostu kilkanaście tablic:
> aaa: array [1..xxxx] of "jakiś tam rekord";
>
> Na razie rzeźbię dodatkowe tablice z historią, ale myślałem, że jest
> jakiś sprytniejszy sposób.
> W każdym razie dzięki za porady.
>
> Pozdrawiam
> JS

Nie wiem co już masz, ale ja bym rozpoczął od wzorca "polecenie" 
(https://pl.wikipedia.org/wiki/Polecenie_(wzorzec_projektowy)).

Po pierwsze, sama kolejka poleceń da Ci strukturę Undo/Redo.

Po drugie, metody Do, Undo, Redo implementujesz dla jednego polecenia, 
optymalizując tylko dla niego. Np. polecenie "zmień rekord X w tabeli Y" 
wystarczy że zapamięta poprzednią wartość zmienionego rekordu. Polecenie 
"powiększ tabelę" musi zapamiętać jedynie poprzedni rozmiar. W poleceniu 
zapamiętujesz jedynie minimalny zestaw danych niezbędny do odtworzenia 
poprzedniego stanu.

Po trzecie, bardziej skomplikowane zadania można realizować jako zestaw 
prostych poleceń połączonych razem w jedno złożone polecenie (polecenie 
z listą poleceń, które w metodach Do / Undo wykonuje wszystkie 
pod-polecenia z listy w odpowiedniej kolejności), dzięki czemu będziesz 
miał jedną pozycję w menu undo.

I jak zrefaktorujesz program żeby modyfikował dane wyłącznie 
poleceniami, będziesz miał stosunkowo tanią i zarządzalną logikę Undo/Redo.


I teraz jak masz skomplikowaną operację zmiany wieku rekordów na raz, to 
możesz ją sobie zaimplementować jako złożone polecenie, np. jako serię 
operacji "zmień rekord X w tabeli Y", a każda z nich sama zapamięta 
poprzednią wartość.


-- 
Arivald
Re: Undo/Redo
#345549
Author: re
Date: Sat, 14 Jan 2017 18:07
18 lines
1746 bytes

Użytkownik "J-23"

>> Poza tym pytający nie pisał o organizacji kodu tylko pytał
>> o pomysł realizacji undo-redo na bazie danych.
>
> Ani słowa nie ma o bazie danych, co palisz, że masz takie omamy?
>

Są słowa o tablicach i danych:

cytuje : "Poradźcie jak zrobić funkcję Undo/Redo w programie, który
operuje na kilkunastu (całkiem niemałych) tablicach rekordów?"

Można wysnuć wniosek, że chodzi o tabele w bazie danych ...
---
Nie bardzo. Tablica to nie tabela. 
Re: Undo/Redo
#345550
Author: Roman Tyczka
Date: Sat, 14 Jan 2017 19:14
23 lines
1761 bytes
On Sat, 14 Jan 2017 19:07:00 +0100, re wrote:

>>> Poza tym pytający nie pisał o organizacji kodu tylko pytał
>>> o pomysł realizacji undo-redo na bazie danych.
>>
>> Ani słowa nie ma o bazie danych, co palisz, że masz takie omamy?
>>
> 
> Są słowa o tablicach i danych:
> 
> cytuje : "Poradźcie jak zrobić funkcję Undo/Redo w programie, który
> operuje na kilkunastu (całkiem niemałych) tablicach rekordów?"
> 
> Można wysnuć wniosek, że chodzi o tabele w bazie danych ...
> ---
> Nie bardzo. Tablica to nie tabela.

O! I tu kolega ujął sedno. A Ci, którzy nie odróżniają tablicy od tabeli
niech sobie kupią jakąś książkę z podstawami pascala i /lub baz danych.

-- 
pozdrawiam
Roman Tyczka
Re: Undo/Redo
#345551
Author: J-23
Date: Sat, 14 Jan 2017 21:54
10 lines
1841 bytes
W dniu 14.01.2017 o 20:14, Roman Tyczka pisze:
> O! I tu kolega ujął sedno. A Ci, którzy nie odróżniają tablicy od tabeli
> niech sobie kupią jakąś książkę z podstawami pascala i /lub baz danych.

Hehe. Znawco dopiero teraz to wiesz jak Ci Kolega podpowiedział? Sam 
tego sedna jakoś nie mogłeś ująć... Dalsza dyskusja jest bezcelowa a 
odpowiadam tylko dla tego, bo nie lubię jak ktoś stara się być 
mądrzejszy od radia :)

Pozdrawiam
Re: Undo/Redo
#345552
Author: Roman Tyczka
Date: Sun, 15 Jan 2017 12:49
24 lines
1798 bytes
On Sat, 14 Jan 2017 22:54:20 +0100, J-23 wrote:

> W dniu 14.01.2017 o 20:14, Roman Tyczka pisze:
>> O! I tu kolega ujął sedno. A Ci, którzy nie odróżniają tablicy od tabeli
>> niech sobie kupią jakąś książkę z podstawami pascala i /lub baz danych.
> 
> Hehe. Znawco dopiero teraz to wiesz jak Ci Kolega podpowiedział? Sam 
> tego sedna jakoś nie mogłeś ująć... 

Tia, a świstak siedzi i nadal nie kuma wątku :-)

> Dalsza dyskusja jest bezcelowa a odpowiadam tylko dla tego, 

dlatego - piszemy razem 

> bo nie lubię jak ktoś stara się być mądrzejszy od radia :)

Radio jest dość głupawe, nie sądzisz? ;-)

> Pozdrawiam

-- 
pozdrawiam
Roman Tyczka
[ot]Re: Undo/Redo
#345553
Author: J-23
Date: Sun, 15 Jan 2017 19:07
32 lines
2379 bytes
W dniu 15.01.2017 o 13:49, Roman Tyczka pisze:
> On Sat, 14 Jan 2017 22:54:20 +0100, J-23 wrote:
>
>> W dniu 14.01.2017 o 20:14, Roman Tyczka pisze:
>>> O! I tu kolega ujął sedno. A Ci, którzy nie odróżniają tablicy od tabeli
>>> niech sobie kupią jakąś książkę z podstawami pascala i /lub baz danych.
>>
>> Hehe. Znawco dopiero teraz to wiesz jak Ci Kolega podpowiedział? Sam
>> tego sedna jakoś nie mogłeś ująć...
>
> Tia, a świstak siedzi i nadal nie kuma wątku :-)

Jak się nie wie co napisać to się pisze duperele tak jak napisałeś to o 
świstaku

>
>> Dalsza dyskusja jest bezcelowa a odpowiadam tylko dla tego,
>
> dlatego - piszemy razem
>

Fakt mój błąd.

>> bo nie lubię jak ktoś stara się być mądrzejszy od radia :)
>
> Radio jest dość głupawe, nie sądzisz? ;-)
>

Ja lubię słuchać opinii innych. Słuchanie nie zmusza mnie do tego by 
przyjmować lub negować wszystko tak jak robisz to ty, ale wyciągać wnioski

Pozdrawiam
Re: [ot]Re: Undo/Redo
#345554
Author: Roman Tyczka
Date: Sun, 15 Jan 2017 19:26
34 lines
2501 bytes
On Sun, 15 Jan 2017 20:07:16 +0100, J-23 wrote:

>>> W dniu 14.01.2017 o 20:14, Roman Tyczka pisze:
>>>> O! I tu kolega ujął sedno. A Ci, którzy nie odróżniają tablicy od tabeli
>>>> niech sobie kupią jakąś książkę z podstawami pascala i /lub baz danych.
>>>
>>> Hehe. Znawco dopiero teraz to wiesz jak Ci Kolega podpowiedział? Sam
>>> tego sedna jakoś nie mogłeś ująć...
>>
>> Tia, a świstak siedzi i nadal nie kuma wątku :-)
> 
> Jak się nie wie co napisać to się pisze duperele tak jak napisałeś to o 
> świstaku

Powiedz czego konkretnie nie zrozumiałeś z moich wypowiedzi w tym wątku?
Zacznij od pierwszej, bo ona jest kluczowa, potem przemyśl i przeproś za
puste czepialstwo. 
 
>>> bo nie lubię jak ktoś stara się być mądrzejszy od radia :)
>>
>> Radio jest dość głupawe, nie sądzisz? ;-)
> 
> Ja lubię słuchać opinii innych. Słuchanie nie zmusza mnie do tego by 
> przyjmować lub negować wszystko tak jak robisz to ty, ale wyciągać wnioski

wszystko - duże słowo, aż tak mnie znasz, że wiesz co i jak robię?

W tym wątku wyskoczyłeś jak filip z konopii, żeby mnie pouczać, że źle
zrozumiałem OP, a tak naprawdę Ty go źle zrozumiałeś, przyznaj się do tego
uczciwie i nie brnij w to bagno.

-- 
pozdrawiam
Roman Tyczka
Re: [ot]Re: Undo/Redo
#345555
Author: J-23
Date: Sun, 15 Jan 2017 22:17
60 lines
4176 bytes
W dniu 15.01.2017 o 20:26, Roman Tyczka pisze:
> On Sun, 15 Jan 2017 20:07:16 +0100, J-23 wrote:
>
>>>> W dniu 14.01.2017 o 20:14, Roman Tyczka pisze:
>>>>> O! I tu kolega ujął sedno. A Ci, którzy nie odróżniają tablicy od tabeli
>>>>> niech sobie kupią jakąś książkę z podstawami pascala i /lub baz danych.
>>>>
>>>> Hehe. Znawco dopiero teraz to wiesz jak Ci Kolega podpowiedział? Sam
>>>> tego sedna jakoś nie mogłeś ująć...
>>>
>>> Tia, a świstak siedzi i nadal nie kuma wątku :-)
>>
>> Jak się nie wie co napisać to się pisze duperele tak jak napisałeś to o
>> świstaku
>
> Powiedz czego konkretnie nie zrozumiałeś z moich wypowiedzi w tym wątku?
> Zacznij od pierwszej, bo ona jest kluczowa, potem przemyśl i przeproś za
> puste czepialstwo.
>

Czepnąłem się tylko chamskiego pouczania i tyle. Nie widzę tu pustego 
czepialstwa

>>>> bo nie lubię jak ktoś stara się być mądrzejszy od radia :)
>>>
>>> Radio jest dość głupawe, nie sądzisz? ;-)
>>
>> Ja lubię słuchać opinii innych. Słuchanie nie zmusza mnie do tego by
>> przyjmować lub negować wszystko tak jak robisz to ty, ale wyciągać wnioski
>
> wszystko - duże słowo, aż tak mnie znasz, że wiesz co i jak robię?
>

Wszystko - chodziło o radio a nie o Ciebie - nie wycinaj słów z 
kontekstu w ten sposób że jest nie jasny sens wypowiedzi. Robisz to już 
drugi raz tylko po to by udowodnić swoją rację

> W tym wątku wyskoczyłeś jak filip z konopii, żeby mnie pouczać, że źle
> zrozumiałem OP, a tak naprawdę Ty go źle zrozumiałeś, przyznaj się do tego
> uczciwie i nie brnij w to bagno.
>

Moja odpowiedź a potem Arivalda były chyba najbardziej merytoryczne w 
całym tym wątku. Dla ułatwienia Tobie dodam że moją odpowiedź dotyczyła 
wzorca pamiątki, a Arivald opisał jeszcze rozwiązanie oparte o wzorzec 
polecenie. Ja nikogo nie pouczałem tylko zwróciłem Ci uwagę byś Ty nie 
pouczał bo robisz to chamsko tyle. Nie napisałem że źle go zrozumiałeś 
ani razu za to ty obciąłeś moją wypowiedź przy okazji sugerując tym 
samym że Twierdzę że chodzi o zapis do bazy danych owszem, użyłem 
takiego zwrotu ale najważniejszą część mojej wypowiedzi została obcięta.


A był tam zapis mówiący że nie chodzi o to gdzie zapisujemy a co 
zapisujemy cytuje "...a problem przywracania to tak naprawdę jest 
problemem organizacji zapisu poszczególnych kroków"

To że ktoś się pomyli w tym wypadku zpksoft nie oznacza że masz go 
pouczać w tak chamski sposób. Trochę kultury by wypadało mieć.

Pozdrawiam
Re: [ot]Re: Undo/Redo
#345556
Author: Roman Tyczka
Date: Mon, 16 Jan 2017 12:26
81 lines
4352 bytes
On Sun, 15 Jan 2017 23:17:44 +0100, J-23 wrote:

>> Powiedz czego konkretnie nie zrozumiałeś z moich wypowiedzi w tym wątku?
>> Zacznij od pierwszej, bo ona jest kluczowa, potem przemyśl i przeproś za
>> puste czepialstwo.
> 
> Czepnąłem się tylko chamskiego pouczania i tyle. Nie widzę tu pustego 
> czepialstwa

Pustego, bo niemerytorycznego. A ocena chamstwa jest mocno subiektywna. Nie
Twoim zadaniem jest dbanie o moje wychowanie, nikt Cię na policaja tej
grupy nie powoływał.
 
>>>> Radio jest dość głupawe, nie sądzisz? ;-)
>>>
>>> Ja lubię słuchać opinii innych. Słuchanie nie zmusza mnie do tego by
>>> przyjmować lub negować wszystko tak jak robisz to ty, ale wyciągać wnioski
>>
>> wszystko - duże słowo, aż tak mnie znasz, że wiesz co i jak robię?
> 
> Wszystko - chodziło o radio a nie o Ciebie - nie wycinaj słów z 
> kontekstu w ten sposób że jest nie jasny sens wypowiedzi. Robisz to już 
> drugi raz tylko po to by udowodnić swoją rację


Naprawdę śmiesz mnie pouczać w kwestii, w której sam manipulujesz??

Dwa cytaty z Ciebie:
"Wszystko - chodziło o radio a nie o Ciebie"
i poprzedni:
"przyjmować lub negować *wszystko tak jak robisz to ty*"

wytłuszczone dotyczy radia czy mnie? Kogo Ty chcesz wkręcać? Masz
czytelników za idiotów?

 
>> W tym wątku wyskoczyłeś jak filip z konopii, żeby mnie pouczać, że źle
>> zrozumiałem OP, a tak naprawdę Ty go źle zrozumiałeś, przyznaj się do tego
>> uczciwie i nie brnij w to bagno.
> 
> Moja odpowiedź a potem Arivalda były chyba najbardziej merytoryczne w 
> całym tym wątku.

Sebastiana wypowiedź była dużo bardziej konkretna od Twojej, ale mogłeś jej
nie zrozumieć i dlatego o tym nie wspominasz.

>  Dla ułatwienia Tobie dodam że moją odpowiedź dotyczyła 
> wzorca pamiątki, a Arivald opisał jeszcze rozwiązanie oparte o wzorzec 
> polecenie. Ja nikogo nie pouczałem tylko zwróciłem Ci uwagę byś Ty nie 
> pouczał bo robisz to chamsko tyle. 

Na temat grupowego policjnta już pisałem..

> Nie napisałem że źle go zrozumiałeś 
> ani razu 

Naprawdę?? A co to jest:

"Można wysnuć wniosek, że chodzi o tabele w bazie danych (Na upartego też 
można przykleić że mogą być to rekordy w pamięci)"

Wg Ciebie rekordy w tablicy są "na upartego", a można wysnuć wniosek
(ciekawe po czym??), że chodzi mu o bazę. Nadal konfabulujesz, ale nie ze
mną takie numery Bruner.

> A był tam zapis mówiący że nie chodzi o to gdzie zapisujemy a co 
> zapisujemy cytuje "...a problem przywracania to tak naprawdę jest 
> problemem organizacji zapisu poszczególnych kroków"

Mylisz się, to gdzie zapisujemy jest akurat bardzo ważne, bo medium daje
lub odbiera pewne możliwości.
 
> To że ktoś się pomyli w tym wypadku zpksoft nie oznacza że masz go 
> pouczać w tak chamski sposób. Trochę kultury by wypadało mieć.

Bo Ty tak powiedziałeś? A kim Ty jesteś, moim tatą? Idź wychowuj swoje
dzieci, EOT.

-- 
pozdrawiam
Roman Tyczka
Re: [ot]Re: Undo/Redo
#345557
Author: J-23
Date: Mon, 16 Jan 2017 14:47
121 lines
6538 bytes
W dniu 16.01.2017 o 13:26, Roman Tyczka pisze:
> On Sun, 15 Jan 2017 23:17:44 +0100, J-23 wrote:
>
>>> Powiedz czego konkretnie nie zrozumiałeś z moich wypowiedzi w tym wątku?
>>> Zacznij od pierwszej, bo ona jest kluczowa, potem przemyśl i przeproś za
>>> puste czepialstwo.
>>
>> Czepnąłem się tylko chamskiego pouczania i tyle. Nie widzę tu pustego
>> czepialstwa
>
> Pustego, bo niemerytorycznego. A ocena chamstwa jest mocno subiektywna. Nie
> Twoim zadaniem jest dbanie o moje wychowanie, nikt Cię na policaja tej
> grupy nie powoływał.
>

Merytorycznie odpowiedziałem wcześniej.:) Skoro sądzisz że Twoje 
chamskie pouczanie jest merytoryczne to gratuluje zadufania w sobie :)

>>>>> Radio jest dość głupawe, nie sądzisz? ;-)
>>>>
>>>> Ja lubię słuchać opinii innych. Słuchanie nie zmusza mnie do tego by
>>>> przyjmować lub negować wszystko tak jak robisz to ty, ale wyciągać wnioski
>>>
>>> wszystko - duże słowo, aż tak mnie znasz, że wiesz co i jak robię?
>>
>> Wszystko - chodziło o radio a nie o Ciebie - nie wycinaj słów z
>> kontekstu w ten sposób że jest nie jasny sens wypowiedzi. Robisz to już
>> drugi raz tylko po to by udowodnić swoją rację
>
>
> Naprawdę śmiesz mnie pouczać w kwestii, w której sam manipulujesz??
>
> Dwa cytaty z Ciebie:
> "Wszystko - chodziło o radio a nie o Ciebie"
> i poprzedni:
> "przyjmować lub negować *wszystko tak jak robisz to ty*"
>
> wytłuszczone dotyczy radia czy mnie? Kogo Ty chcesz wkręcać? Masz
> czytelników za idiotów?
>

Dobrze dopisze bo widać, że Twoje ograniczenie nie pozwala Ci odróżnić 
tego na jakiej podstawie to napisałem: otóż pisałem to odnosząc się do 
tego co napisałeś w tym wątku stąd słowo wszystko.

Zaraz mi napiszesz że kolejna manipulacje ale co mi tam. :)

Skoro odebrałeś to personalnie a nie jako poczynania sobie (dla jasności 
tego co piszesz w wątku) to może warto zastanowić się czy warto brać 
udział w publicznych konwersacjach :)

>
>>> W tym wątku wyskoczyłeś jak filip z konopii, żeby mnie pouczać, że źle
>>> zrozumiałem OP, a tak naprawdę Ty go źle zrozumiałeś, przyznaj się do tego
>>> uczciwie i nie brnij w to bagno.
>>
>> Moja odpowiedź a potem Arivalda były chyba najbardziej merytoryczne w
>> całym tym wątku.
>
> Sebastiana wypowiedź była dużo bardziej konkretna od Twojej, ale mogłeś jej
> nie zrozumieć i dlatego o tym nie wspominasz.
>

Jak widzisz napisałem słowo "chyba" więc to nie mi oceniać tylko 
pozostałym. Twoje zdanie może być inne nie mam nic przeciwko

>>  Dla ułatwienia Tobie dodam że moją odpowiedź dotyczyła
>> wzorca pamiątki, a Arivald opisał jeszcze rozwiązanie oparte o wzorzec
>> polecenie. Ja nikogo nie pouczałem tylko zwróciłem Ci uwagę byś Ty nie
>> pouczał bo robisz to chamsko tyle.
>
> Na temat grupowego policjnta już pisałem..
>
>> Nie napisałem że źle go zrozumiałeś
>> ani razu
>
> Naprawdę?? A co to jest:
>
> "Można wysnuć wniosek, że chodzi o tabele w bazie danych (Na upartego też
> można przykleić że mogą być to rekordy w pamięci)"
>
> Wg Ciebie rekordy w tablicy są "na upartego", a można wysnuć wniosek
> (ciekawe po czym??), że chodzi mu o bazę. Nadal konfabulujesz, ale nie ze
> mną takie numery Bruner.
>

Tutaj widać ewidentne nie zrozumienie tekstu.

"Na upartego" - stoi jak byk w nawiasie w którym jest mowa o tablicy 
przechowywanej w pamięci, a nie w bazie. Także jak widać manipulujesz po 
całości.

Sprawa jeszcze jedna zanim mnie posądzisz że jednak mówiłem o bazie 
danych cytat z zawartym na upartego napisałem po poście zpksoft - miał 
on tylko wykazać że rozumiem że zpksoft mógł się pomylić - tyle.

W takiej formie jak to wyciąłeś brzmi to dziwnie - ale jak już mówiłem 
wycinasz wypowiedzi zmieniając ich kontekst.

>> A był tam zapis mówiący że nie chodzi o to gdzie zapisujemy a co
>> zapisujemy cytuje "...a problem przywracania to tak naprawdę jest
>> problemem organizacji zapisu poszczególnych kroków"
>
> Mylisz się, to gdzie zapisujemy jest akurat bardzo ważne, bo medium daje
> lub odbiera pewne możliwości.
>

Przeczytaj posta wysłanego przez autora. Jemu nie chodziło o zapis do 
konkretnego medium a o sposób zapisu. Na tym się przejechał właśnie zpksoft

>> To że ktoś się pomyli w tym wypadku zpksoft nie oznacza że masz go
>> pouczać w tak chamski sposób. Trochę kultury by wypadało mieć.
>
> Bo Ty tak powiedziałeś? A kim Ty jesteś, moim tatą? Idź wychowuj swoje
> dzieci, EOT.
>

Wiem że kultury człowiek nie nauczy się w jeden wieczór stąd nawet tego 
ostatniego zdania nie będę komentował.

Pozdrawiam
Re: [ot]Re: Undo/Redo
#345558
Author: JS
Date: Mon, 16 Jan 2017 16:18
5 lines
1550 bytes
Panowie!!!!!!!!!!!!!!!!!!!!!!!!!

tu już nie ma cienia merytoryki tylko głupia pyskówka!!! Zamykam wątek.
Pozdrawiam
JS
Re: [ot]Re: Undo/Redo
#345559
Author: mmm
Date: Tue, 17 Jan 2017 07:49
10 lines
1693 bytes
W dniu 2017-01-16 o 17:18, JS pisze:
> Panowie!!!!!!!!!!!!!!!!!!!!!!!!!
>
> tu już nie ma cienia merytoryki tylko głupia pyskówka!!! Zamykam wątek.
> Pozdrawiam
> JS
Nie ma to jak uśmiać się przy porannej kawce :)
Się chłopaki rozkręcili !

M
Re: [ot]Re: Undo/Redo
#345561
Author: Stregor
Date: Tue, 17 Jan 2017 11:11
11 lines
1953 bytes
 >> [..] Zamykam wątek.
 >> Pozdrawiam
 >> JS
 > Nie ma to jak uśmiać się przy porannej kawce :)
 > Się chłopaki rozkręcili !

A może by im ten wątek znowu otworzyć? ;)

-- 
Pozdrawiam,
Stregor
Re: [ot]Re: Undo/Redo
#345562
Author: J-23
Date: Tue, 17 Jan 2017 15:15
18 lines
2389 bytes
W dniu 17.01.2017 o 12:11, Stregor pisze:
>>> [..] Zamykam wątek.
>>> Pozdrawiam
>>> JS
>> Nie ma to jak uśmiać się przy porannej kawce :)
>> Się chłopaki rozkręcili !
>
> A może by im ten wątek znowu otworzyć? ;)
>

:) Przyznaje trochę popłynęliśmy. Ja już w pewnym momencie kiedy to 
przestało być związane z tematem chciałem odpuścić. Pomyślałem jednak że 
chamskie zachowanie dobrze będzie choć odrobinę temperować.

Nawet jak go ponownie się otworzy czy też Tyczka wróci do dyskusji ja 
nie mam zamiaru tego kontynuować bo to nie ma sensu.

Pozdrawiam
Re: Undo/Redo
#345540
Author: wloochacz
Date: Thu, 19 Jan 2017 19:58
19 lines
2132 bytes
W dniu 2017-01-13 o 22:59, zpksoft pisze:
> W bazie danych mają sens tablice historyczne, tutaj myślę, że takie rozwiązanie będzie właściwsze.
W życiu tam tak tego nie zrobił; widziałem jedno takie rozwiązanie (a 
dokładnie - musiałem z tym syfem pracować) i nigdy więcej.
Utrzymanie tego czegoś to też niezła "zabawa"; mnóstwo roboty, zero 
radości...

Pewnie, że da się te triggery zautomatyzować (tj. napisać generator), 
ale i tak trzeba to dane gdzieś zapisać.
Trzymanie historii w produkcyjnej bazie danych, to też niezbyt 
szczęśliwe rozwiązanie, ponieważ de-facto to mnóstwo danych, które 
nikomu nie są potrzebne "na szybko".

Takie coś powinno się robić z automatu, czyli np. tak:
https://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html#TITL_85


-- 
wloochacz
Re: Undo/Redo
#345541
Author: Piotr Rezmer
Date: Sat, 21 Jan 2017 09:41
16 lines
1765 bytes
W dniu 2017-01-19 o 20:58, wloochacz pisze:

> Trzymanie historii w produkcyjnej bazie danych, to też niezbyt
> szczęśliwe rozwiązanie, ponieważ de-facto to mnóstwo danych, które
> nikomu nie są potrzebne "na szybko".

Pytanie czy jest sens w ogóle gdzieś te dane utrwalać. Zwykle undo/redo 
wykonywane jest przed zapisaniem stanu. Najczęściej jak zamykamy 
aplikację to tracimy listę operacji do przywrócenia. I jakoś nikt nie 
narzeka.


-- 
pozdrawiam
Piotr
XLR250&bmw_f650_dakar
Re: Undo/Redo
#345542
Author: wloochacz
Date: Tue, 24 Jan 2017 11:42
22 lines
2457 bytes
W dniu 2017-01-21 o 10:41, Piotr Rezmer pisze:
> W dniu 2017-01-19 o 20:58, wloochacz pisze:
>
>> Trzymanie historii w produkcyjnej bazie danych, to też niezbyt
>> szczęśliwe rozwiązanie, ponieważ de-facto to mnóstwo danych, które
>> nikomu nie są potrzebne "na szybko".
>
> Pytanie czy jest sens w ogóle gdzieś te dane utrwalać. Zwykle undo/redo
> wykonywane jest przed zapisaniem stanu. Najczęściej jak zamykamy
> aplikację to tracimy listę operacji do przywrócenia. I jakoś nikt nie
> narzeka.
Zależy co to są za dane.
W mojej branży mocno narzekają, bo każda zmiana pewnego obiektu 
biznesowego może implikować poważne reperkusje dla firmy - od poziomu 
rentowności, po potencjalne reklamacje.
Dlatego wgląd do szczegółowej historii zmian (kto, kiedy i co dokładnie 
z czego na co zmienił) jest bardzo ważna.
To nie tyle chodzi o mechanizm undo/redo, co o tzw. _AuditTrial_ - czyli 
dokładnie to co podałem w linku.

-- 
wloochacz
Re: Undo/Redo
#345544
Author: re
Date: Tue, 24 Jan 2017 14:12
23 lines
2426 bytes

Użytkownik "wloochacz"

>
>> Trzymanie historii w produkcyjnej bazie danych, to też niezbyt
>> szczęśliwe rozwiązanie, ponieważ de-facto to mnóstwo danych, które
>> nikomu nie są potrzebne "na szybko".
>
> Pytanie czy jest sens w ogóle gdzieś te dane utrwalać. Zwykle undo/redo
> wykonywane jest przed zapisaniem stanu. Najczęściej jak zamykamy
> aplikację to tracimy listę operacji do przywrócenia. I jakoś nikt nie
> narzeka.
Zależy co to są za dane.
W mojej branży mocno narzekają, bo każda zmiana pewnego obiektu
biznesowego może implikować poważne reperkusje dla firmy - od poziomu
rentowności, po potencjalne reklamacje.
Dlatego wgląd do szczegółowej historii zmian (kto, kiedy i co dokładnie
z czego na co zmienił) jest bardzo ważna.
To nie tyle chodzi o mechanizm undo/redo, co o tzw. _AuditTrial_ - czyli
dokładnie to co podałem w linku.
---
Super, ale co to ma za związek z pytaniem o undo/redo ?! 
Re: Undo/Redo
#345547
Author: wloochacz
Date: Wed, 25 Jan 2017 12:15
13 lines
1939 bytes
W dniu 2017-01-24 o 15:12, re pisze:
/ciach/

> ---
> Super, ale co to ma za związek z pytaniem o undo/redo ?!
Nie wiem czego używasz do czytania grupy, ale ja mam drzewiastą 
strukturę, która pokazuje mi, że wątek zboczył w kierunku triggerów w db.
I do tego się odniosłem.

Zresztą, co ja się będę tłumaczył...

-- 
wloochacz
Re: Undo/Redo
#345543
Author: re
Date: Mon, 30 Jan 2017 09:44
16 lines
1970 bytes

Użytkownik "wloochacz"

/ciach/

> ---
> Super, ale co to ma za związek z pytaniem o undo/redo ?!
Nie wiem czego używasz do czytania grupy, ale ja mam drzewiastą
strukturę, która pokazuje mi, że wątek zboczył w kierunku triggerów w db.
I do tego się odniosłem.

Zresztą, co ja się będę tłumaczył...
---
No nie, Ty chciałeś audyt a ciągle było o undo/redo. Ale ok, wypowiedziałeś 
się, ja też. 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads