Página 1 de 1

Duda Ini Obtener varias values

Publicado: 19 Jun 2012 02:48
por sSantoss
Hola gente De Amsspecialist .. Verán surgió una de mis otras dudas..

mi duda es la siguiente
quiero poder obtener todas las values y sus datas de una seccion de ini

osea si el ini es asi

[Version]
V1DK=1002
V2DK=1003

quiero obtener el Las 2 values y las 2 datas y mi duda es esa .. se puede?' y si se pude como se hace?
nunca habia tratado de obtener 2 o mas values o datas de un ini por eso ahora quiero poder obtenerlas todas de manera separada

Re: Duda Ini Obtener varias values

Publicado: 19 Jun 2012 08:13
por rafaxplayer
Claro que se puede , hay funciones de INI que obtienen tablas con estos datos , mira esta función que utiliza todas las acciones de INIFile para imprimir un string con todo el contenido:
function printINI(INIFilePath)
str = "";
tblSections = INIFile.GetSectionNames(INIFilePath);
	if (tblSections) then
		for i,v in pairs(tblSections) do
			str=str.."\r\n".."["..v.."]".."\r\n";
			tblValueNames= INIFile.GetValueNames(INIFilePath, v);
				for x,n in pairs(tblValueNames) do
				str=str..n.." = "..INIFile.GetValue(INIFilePath, v, n).."\r\n";
				end
		end
		return str;
	end

end
Modo de uso , por ejemplo:
Debug.ShowWindow(true);
Debug.Print(printINI("Bookmarks.ini"));-- suponiendo que el archivo ini este en la raiz del proyecto

Re: Duda Ini Obtener varias values

Publicado: 19 Jun 2012 10:47
por Thedary
rafaxplayer escribió:Claro que se puede , hay funciones de INI que obtienen tablas con estos datos , mira esta función que utiliza todas las acciones de INIFile para imprimir un string con todo el contenido:
function printINI(INIFilePath)
str = "";
tblSections = INIFile.GetSectionNames(INIFilePath);
	if (tblSections) then
		for i,v in pairs(tblSections) do
			str=str.."\r\n".."["..v.."]".."\r\n";
			tblValueNames= INIFile.GetValueNames(INIFilePath, v);
				for x,n in pairs(tblValueNames) do
				str=str..n.." = "..INIFile.GetValue(INIFilePath, v, n).."\r\n";
				end
		end
		return str;
	end

end
Modo de uso , por ejemplo:
Debug.ShowWindow(true);
Debug.Print(printINI("Bookmarks.ini"));-- suponiendo que el archivo ini este en la raiz del proyecto
:o de donde sacas esas funcione rafax??

Re: Duda Ini Obtener varias values

Publicado: 19 Jun 2012 12:06
por rafaxplayer
Estas de mi cabeza, XD

Re: Duda Ini Obtener varias values

Publicado: 19 Jun 2012 18:34
por sSantoss
rafaxplayer escribió:Claro que se puede , hay funciones de INI que obtienen tablas con estos datos , mira esta función que utiliza todas las acciones de INIFile para imprimir un string con todo el contenido:
function printINI(INIFilePath)
str = "";
tblSections = INIFile.GetSectionNames(INIFilePath);
	if (tblSections) then
		for i,v in pairs(tblSections) do
			str=str.."\r\n".."["..v.."]".."\r\n";
			tblValueNames= INIFile.GetValueNames(INIFilePath, v);
				for x,n in pairs(tblValueNames) do
				str=str..n.." = "..INIFile.GetValue(INIFilePath, v, n).."\r\n";
				end
		end
		return str;
	end

end
Modo de uso , por ejemplo:
Debug.ShowWindow(true);
Debug.Print(printINI("Bookmarks.ini"));-- suponiendo que el archivo ini este en la raiz del proyecto
Wow.. Estupendo pero tengo un problema
el script obtiene todo el ini Yo quiero obtener todas las valúes solamente de 1 sección Por separadas.. osea intento hacer un código que obtenga la primera valué ... se repita pero esta vez obtenga la segunda... :friends:

Re: Duda Ini Obtener varias values

Publicado: 19 Jun 2012 22:43
por rafaxplayer
joder , la funcion te demuestra que se puede obtener todo , solo tienes que adaptarlo a tus necesidades

Re: Duda Ini Obtener varias values

Publicado: 19 Jun 2012 22:53
por sSantoss
rafaxplayer escribió:joder , la funcion te demuestra que se puede obtener todo , solo tienes que adaptarlo a tus necesidades
pero no se como adaptarla.. para que busque una sola seccion :S

Re: Duda Ini Obtener varias values

Publicado: 20 Jun 2012 06:28
por rafaxplayer
INIFile.GetValueNames te retorna una tabla con todos los values del la sección que le indicas por ejemplo:
Debug.ShowWindow(true);

tblValueNames= INIFile.GetValueNames("larutadelINI", "Nombreseccion");

for x=1,Table.Count(tblValueNames) do
Debug.Print(tblValueNames[x].."\r\n");
end
Luego tienes INIFile.GetValue con la cual obtienes la data de cada value:
Debug.ShowWindow(true);

tblValueNames= INIFile.GetValueNames("larutadelINI", "Nombreseccion");

for x=1,Table.Count(tblValueNames) do
valuename=tblValueNames[x];
Data = INIFile.GetValue("larutadelINI", "Nombreseccion",valuename);
Debug.Print(valuename.." = "..Data.."\r\n");
end
Espero que asi lo veas mas claro ;)

Re: Duda Ini Obtener varias values

Publicado: 21 Jun 2012 02:04
por Thedary
Rafaxplayer :D siempre ayudando...

Re: Duda Ini Obtener varias values

Publicado: 03 Jul 2012 09:54
por sSantoss
Gracias rafaxplayer esto si q me ayudo :friends: eres el :num1: