Se puede hacer Undo ?

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
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!
- 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.
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
thanks
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 ?
gracias
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 ???
Gracias :pc:
graças