Página 1 de 1

Duda con código

Publicado: 27 Sep 2013 14:02
por djmanuel11
Hola tengo este código en un xbutton y queria ponerlo para que si la variable Directorio es nula (nil), salga un dialogo diciendo que no se ha añadido ninguna ruta. Lo he intentado de varias formas y no consigo hacerlo, por lo tanto haber si me podeis hechar una mano. La variable Directorio es información guardada en una base de datos. Gracias
tSelected = ListBox.GetSelected("Lista");
if (tSelected == nil) then
Dialog.Message("Información", "Por favor seleccione un programa de la lista.", MB_OK, MB_ICONINFORMATION)
else
nRecordID = String.ToNumber(ListBox.GetItemData("Lista", tSelected [1]));
local Directorio = sRuta_Carpeta
local Destino = Dialog.FolderBrowse("Seleccionar Carpeta:", _DesktopFolder);
if Destino ~= "CANCEL" then
local ruta = String.SplitPath(Directorio);
local Copiar = ""..Destino.."\\"..ruta.Filename.."";

local Final = Copiar
Folder.Create(Final);
Folder.Copy(""..Directorio.."", ""..Final.."");

end
end

Publicado: 27 Sep 2013 14:51
por brordo
Tinenes que asignar un valor y no una selección.

sSelected = ListBox.GetSelected("Lista");
tDataSelected = ListBox.GetItemData("Lista", sSelected[1]);
if (tDataSelected == nil) then
Dialog.Message("Información", "Por favor seleccione un programa de la lista.", MB_OK, ...


No soy programador lo sé a fuerza de haber practicado, y la solución es está por que he sido testigo, a menos que no me esté equivocando, espero que te sirva de ayuda...

Publicado: 27 Sep 2013 14:52
por brordo
Si no funciona prueba el tDataSelected = ListBox.GetItemData("Lista", sSelected);

Publicado: 27 Sep 2013 15:34
por djmanuel11
Muchas gracias brordo voy a probra haber si me funciona. Un saludo

Publicado: 27 Sep 2013 15:47
por djmanuel11
Bueno pues ya he conseguido que me funcione el código. Pero ahora el problema es como le pongo que compruebe solo la variable Directorio.
tSelected = ListBox.GetSelected("Lista");
if (tSelected == nil) then
Dialog.Message("Información", "Por favor seleccione un programa de la lista.", MB_OK, MB_ICONINFORMATION)
elseif (tDataSelected == nil) then
tDataSelected = ListBox.GetItemData("Lista", tSelected[1]);
Dialog.Message("Información", "No has introducido ninguna ruta para este programa.", MB_OK, MB_ICONINFORMATION)
else
nRecordID = String.ToNumber(ListBox.GetItemData("Lista", tSelected [1]));
local Directorio = sRuta_Carpeta
local Destino = Dialog.FolderBrowse("Seleccionar Carpeta:", _DesktopFolder);
if Destino ~= "CANCEL" then
local ruta = String.SplitPath(Directorio);
local Copiar = ""..Destino.."\\"..ruta.Filename.."";

local Final = Copiar
Folder.Create(Final);
Folder.Copy(""..Directorio.."", ""..Final.."");

end
end


Publicado: 27 Sep 2013 16:17
por djmanuel11
Bueno ya lo he hecho.
tSelected = ListBox.GetSelected("Lista_Musica");
if (tSelected == nil) then
Dialog.Message("Información", "Por favor seleccione un programa carpeta de música de la lista.", MB_OK, MB_ICONINFORMATION)
elseif(sRuta_Carpeta_Musica == "") then
Dialog.Message("Información", "No has introducido ninguna ruta para esta carpeta de música.", MB_OK, MB_ICONINFORMATION)
else
nRecordID = String.ToNumber(ListBox.GetItemData("Lista_Musica", tSelected [1]));
local Directorio = sRuta_Carpeta_Musica
local Destino = Dialog.FolderBrowse("Seleccionar Carpeta:", _DesktopFolder);
if Destino ~= "CANCEL" then
local ruta = String.SplitPath(Directorio);
local Copiar = ""..Destino.."\\"..ruta.Filename.."";

local Final = Copiar
Folder.Create(Final);
Folder.Copy(""..Directorio.."", ""..Final.."");
end
end