Página 1 de 1

Para que sirven las funciones

Publicado: 22 Abr 2011 23:09
por Thedary
Bueno la cuestion es que en el ejemplo de el Api de Dropbox de Ceone y Pabloko vi algunas funciones que me parecieron un poco extrañas ya que soy un novato todavia. :P y por mas que las lei no las puede entender...

Sera que me Pueden explicar.. como funcionan y que son..

Código: Seleccionar todo

function lua_dostring(sLua)
	local Return, Error = pcall(function(s)
	return loadstring(s)();
	end, sLua);
	return Return, Error;
end

Código: Seleccionar todo

function DelimitedStringToTable(DelimitedString, Delimiter)
	tbReturn = {};
	local strWorking;
	local nPos = nil;
	local strData;
	local nTableIndex = 1;
	local nDelimiterLength = String.Length(Delimiter);
	
	if(nDelimiterLength < 1)then
		tbReturn[nTableIndex] = DelimitedString;
		return tbReturn;
	end
	
	strWorking = DelimitedString;
	nPos = String.Find(strWorking,Delimiter);
	while(nPos ~= -1)do
		strData = String.Left(strWorking,nPos-1);
		tbReturn[nTableIndex] = strData;
		nTableIndex = nTableIndex + 1;
		local nLength = String.Length(strWorking);
		strWorking = String.Right(strWorking,nLength - (nPos + (nDelimiterLength-1)));
		nPos = String.Find(strWorking,Delimiter);
	end
	if(strWorking ~= "")then
		tbReturn[nTableIndex] = strWorking;
	end
	
	return tbReturn;
end

Código: Seleccionar todo

function DeleteItemsRepeat(strObject)
	local tLBOut = {};
	local nLBcnt = ListBox.GetCount(strObject);
	for x = 1,nLBcnt do
		local sLBText = ListBox.GetItemText(strObject, x);
		local sLBData = ListBox.GetItemData(strObject, x);
		tLBOut[sLBText] = {data=sLBData};	
	end
	ListBox.DeleteItem(strObject, LB_ALLITEMS);
	for i,v in pairs(tLBOut) do
		ListBox.AddItem(strObject, i, tLBOut[i]["data"]);
	end
end

Re: Para que sirven las funciones

Publicado: 22 Abr 2011 23:39
por Ceone
lua_dostring = esta función es para ejecutar un script. sin mas ni mas...

Ejemplo:
Stringfeo = [[
function fea(Value)
    -- esta es una funcion fea
    a = 1
    b = a+a+a+1
    c = a+b+Value
    return c
end

result = fea(5);
Dialog.Message("", result);]]

lua_dostring(Stringfeo);

Si haces esto ejecutara el contenido del string y como resultado te
lanzara un Dialog.Message diciéndote el valor de retorno de la function fea :D

-------------------------------------------------------------------


DelimitedStringToTable = es para delimitar un string en formato tabla.

Ejemplo:
stringdemierda = "joder|mierda|de|string|infinito"

result = DelimitedStringToTable(stringdemierda, "|")
de este modo ahora result contiene una tabla con todo los elementos del string separados por "|".


-------------------------------------------------------------------

DeleteItemsRepeat = Para eliminar los items repetidos de un objeto de listbox. Esta funcion es de rafax asi que el sabe mas de ella que yo... pero basicamente es para eso.

Re: Para que sirven las funciones

Publicado: 23 Abr 2011 00:05
por Thedary
ok gracias