Página 1 de 1
Se puede hacer Undo ?
Publicado: 07 Jul 2011 10:35
por CIRCEX
Al pulsar doble click sobre un item de un listbox este se me borra, lo quiero así,,,, pero que pasa si me equivoco y quiero deshacer ese borrado. Existe algun script para un button que me haga undo de esa operacon de borrado ?
Gracias de veras atodos!
Re: Se puede hacer Undo ?
Publicado: 07 Jul 2011 10:53
por rafaxplayer
- Cada vez que borras tendrias que realizar un registro en un ini o algo con los datos del item borrado
- Asignale un numero de registros 10 o así.
- Cuando le des al botón undo añada al listbox con los datos del ini el item borrado , contando desde el ultimo.
Algo así... si se puede hacer.
Re: Se puede hacer Undo ?
Publicado: 07 Jul 2011 11:31
por Ceone
si quieres hacer undo... por ejemplo gestionado por INI seria así:
(te pongo el codigo y abajo un ejemplo)
Delete:
Seleccionado = ListBox.GetSelected("ListBox1");
-- Detecta si Seleccionado no es valor real o es nil.
if Seleccionado then
-- Filtro para detectar si Num_Undo es nil o por la contra
-- es ya un numero entonces se suma 1 a Num_Undo.
if Num_Undo == nil then
Num_Undo = 1;
else
Num_Undo = Num_Undo+1;
end
-- Loop para guardar los items en el archivo Undo.dat.
Num_total = ListBox.GetCount("ListBox1");
INIFile.SetValue("AutoPlay\\Docs\\Undo.dat", "Undo"..Num_Undo, "Total", Num_total);
for count = 1, Num_total do
Text_I = ListBox.GetItemText("ListBox1", count);
Data_I = ListBox.GetItemData("ListBox1", count);
INIFile.SetValue("AutoPlay\\Docs\\Undo.dat", "Undo"..Num_Undo, "Text"..count, Text_I);
INIFile.SetValue("AutoPlay\\Docs\\Undo.dat", "Undo"..Num_Undo, "Data"..count, Data_I);
end
-- Y por ultimo se elimina el item deseado.
ListBox.DeleteItem("ListBox1", Seleccionado[1]);
end
Undo:
-- Detecta si existe el archivo que contiene los datos del undo.
if File.DoesExist("AutoPlay\\Docs\\Undo.dat") then
-- Detecta si Num_Undo no es nil.
if Num_Undo ~= nil then
-- Loop para eliminar todos los items de la lista.
Num_total_A = ListBox.GetCount("ListBox1");
for count = 1, Num_total_A do
ListBox.DeleteItem("ListBox1", 1);
end
-- Loop para añadir los items anteriores a la lista.
Num_total_B = INIFile.GetValue("AutoPlay\\Docs\\Undo.dat", "Undo"..Num_Undo, "Total");
for count = 1, Num_total_B do
Text_I = INIFile.GetValue("AutoPlay\\Docs\\Undo.dat", "Undo"..Num_Undo, "Text"..count);
Data_I = INIFile.GetValue("AutoPlay\\Docs\\Undo.dat", "Undo"..Num_Undo, "Data"..count);
ListBox.AddItem("ListBox1", Text_I, Data_I);
end
-- Elimina "Undo"..Num_Undo para que no restaure de nuevo estos datos.
INIFile.DeleteSection("AutoPlay\\Docs\\Undo.dat", "Undo"..Num_Undo);
-- Resta 1 a Num_Undo.
Num_Undo = Num_Undo-1;
-- Este filtro detecta si Num_Undo es igual o menos a 0 y lo fija en nil.
if Num_Undo <= 0 then
Num_Undo = nil;
end
else
-- Este mesaje es lanzado cuando no existen undos.
Dialog.Message("Información", "No existen datos que restaurar.");
end
end
Ejemplo APZ:
- HIDE: ON
- Hidebb Message Hidden Description
Re: Se puede hacer Undo ?
Publicado: 07 Jul 2011 12:22
por abood1987
thanks
Re: Se puede hacer Undo ?
Publicado: 08 Jul 2011 00:04
por CIRCEX
GRacias, pero al usar ams 7.5 no puedo usar xButton,
Por cierto, es posible instalar y que funcione ams 7.5 en windows 7 a 64 bits ?
Re: Se puede hacer Undo ?
Publicado: 08 Jul 2011 00:24
por xxsolracxx
gracias
Re: Se puede hacer Undo ?
Publicado: 08 Jul 2011 14:05
por CIRCEX
GRacias un millon.......... si funciona el undo !!!!!!!, no es necesario usar xButton como en el ejemplo, simplemete un button para delete y otro button para el undo, ese es el requisito.
Por cierto:::::
Funciona AMS 7.5 en windows 7 a 64 bits ???
Re: Se puede hacer Undo ?
Publicado: 20 Abr 2018 21:41
por luasqlite
Gracias
Re: Se puede hacer Undo ?
Publicado: 12 May 2018 15:34
por hdd.utilities
graças
Re: Se puede hacer Undo ?
Publicado: 28 Ene 2021 16:09
por lazkopat
thnak you