Página 1 de 2

MenuHelper.dll

Publicado: 15 Abr 2012 04:34
por j2a2foros
Hola, :pc: por ahi lei sobre como hacer reportes sqlite [AlucarWarez], se menciona una DLL en la ayuda
MenuHelper.dll, donde puedo encontrarlo para descargarlo? :SOS:

Re: MenuHelper.dll

Publicado: 15 Abr 2012 07:07
por bariza-dz
HIDE: ON
Hidebb Message Hidden Description

Re: MenuHelper.dll

Publicado: 15 Abr 2012 08:51
por Agotaras123
Aqui te dejo el enlace para descargar la DLL para realizar reportes con bases de datos en SQLite mediante S
cripting HTML.
HIDE: ON
Hidebb Message Hidden Description



Sqcript Global Fuctions
function RightAlignMenuItem(nNumItems)
	--hacer nNumItems que tiene un valor
	if nNumItems == nil then
	nNumItems = 0;
	end
	
	--hacer nNumItems que es numérico
	nNumItems = String.ToNumber(nNumItems);
	
	--llamar a la DLL
	n = DLL.CallFunction("AutoPlay\\Docs\\MenuHelper.dll", "RightAlign", Application.GetWndHandle()..","..nNumItems, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
end
function SQLiteToHTML(ParentDB, ParentRS, ChildDB, sFileOut)
	--Poner la mesa formateo editando las variables de los valores por debajo
	local BorderColorSet = "#000000"
	local BorderWidthSet = "1"
	local HeadBgColorSet = "#bcc5d0"
	local HeadFontSet = "Verdana"
	local HeadFontSizeSet = "4"
	local DetailBgColorSet = "#ffffff"
	local DetailFontSet = "Verdana"
	local DetailFontSizeSet = "2"

	--NO EDITAR - Formatos de las variables anteriores como html listo para combinar en el html principal. - NO EDITAR
	local BorderColor = "bordercolor=\""..BorderColorSet.."\""
	local BorderWidth = "border=\""..BorderWidthSet.."\""
	local HeadBgColor = "bgcolor=\""..HeadBgColorSet.."\""
	local HeadFont = "<font face=\""..HeadFontSet.."\" size=\""..HeadFontSizeSet.."\">"
	local DetailBgColor = "bgcolor=\""..DetailBgColorSet.."\""
	local DetailFont = "<font face=\""..DetailFontSet.."\" size=\""..DetailFontSizeSet.."\">"
	--FIN NO EDITAR

	local n;
	local strFile;
	local strHTML;
	
	local tblQ = SQLite.QueryToTable(db, ParentRS);
	
	--el progreso conjunto metros máximo y mostrar el metro
	StatusDlg.SetMeterRange(0, tblQ.Rows);
	StatusDlg.Show(0, false);
	
	if tblQ and tblQ.Rows > 0 then
		strHTML = "<table "..BorderWidth.." width=\"100%\" style=\"border-collapse: collapse\" "..BorderColor.." cellpadding=\"2\">\r\n";
		
		--Encabezados de la columna
		strHTML = strHTML .. "<tr>\r\n";
		for m=1, tblQ.Columns do
			strHTML = strHTML .. "<td "..HeadBgColor.." nowrap>"..HeadFont .. tblQ.ColumnNames[m] .. "</td>\r\n";
		end
		strHTML = strHTML .. "\r\n</tr>";

		--Llene la tabla
		for n=1, tblQ.Rows do
			strHTML = strHTML .. "<tr>\r\n";
			for m=1, tblQ.Columns do
				strHTML = strHTML .. "<td "..DetailBgColor.." nowrap>"..DetailFont.. tblQ.Data[n][tblQ.ColumnNames[m]] .. "</td>\r\n";
			end
			strHTML = strHTML .. "\r\n</tr>";
			--Añadir celda que abarca todas las columnas para asegurar al niño la tabla registros
			if ChildDB ~= "" then
				--strHTML = strHTML .. "<td width=\"100%\" colspan=\""..tblQ.Columns.."\" bgcolor=\"#F9EFCA\">".."Order Details </td>\r\n";
				--strHTML = strHTML .. "\r\n</tr>";
				--Call the AddChildRec function to load in any child records. 
				ChildHTML = AddChildRecs(ChildDB, "Select OrderID AS [Order ID], ShipName AS [Enviado a Nombre], Freight AS [carga de carga] from Orders where CustomerID = \'"..tblQ.Data[n][tblQ.ColumnNames[1]].."\'");
				if ChildHTML ~= nil then
					strHTML = strHTML .. "<td width=\"100%\" colspan=\""..tblQ.Columns.."\" bgcolor=\"#F9EFCA\">"..ChildHTML;
				end
				
			end
			
			--Actualización de metro de estado
			StatusDlg.SetTitle("Generando Reporte . . .");
			StatusDlg.SetMessage("Generando Reporte . . . Por Favor Espere . . .");
			StatusDlg.SetMeterPos(n);
			
		end
		strHTML = strHTML .. "</table>";

	end
	
	--leer en el archivo de plantilla
	strFile = TextFile.ReadToString("AutoPlay\\Docs\\Template.htm");
	
	--Buscar posición de la tabla, y se sustituye espacio reservado con tabla generada
	strFile = String.Replace(strFile, "<!--~TABLE~-->", strHTML, false);
	
	--escribir en el fichero
	TextFile.WriteFromString(sFileOut, strFile, false);
	
	--Ocultar el contador Satus
	StatusDlg.Hide();
end

function AddChildRecs(db, RS)
	--Poner la mesa formateo editando las variables de los valores por debajo
	local BorderColorSet = "#000000";
	local BorderWidthSet = "0";
	local HeadBgColorSet = "#bcc5d0";
	local HeadFontSet = "Verdana";
	local HeadFontSizeSet = "1";
	local DetailBgColorAlt1Set = "#ffffff"; --Para la fila alternativo sombreado
	local DetailBgColorAlt2Set = "#ffffff"; --Para la fila alternativo sombreado
	local DetailFontSet = "Verdana";
	local DetailFontSizeSet = "1";

	--NO EDITAR - Formatos de las variables anteriores como html listo para combinar en el html principal. - NO EDITAR
	local BorderColor = "bordercolor=\""..BorderColorSet.."\"";
	local BorderWidth = "border=\""..BorderWidthSet.."\"";
	local HeadBgColor = "bgcolor=\""..HeadBgColorSet.."\"";
	local HeadFont = "<font face=\""..HeadFontSet.."\" size=\""..HeadFontSizeSet.."\">";
	local DetailBgColorAlt1 = "bgcolor=\""..DetailBgColorAlt1Set.."\"";
	local DetailBgColorAlt2 = "bgcolor=\""..DetailBgColorAlt2Set.."\"";
	local DetailFont = "<font face=\""..DetailFontSet.."\" size=\""..DetailFontSizeSet.."\">";
	--FIN NO EDITAR

	local n;
	local strHTML;
	local DetailBgColor
	
	local tblQ = SQLite.QueryToTable(db, RS);
	if tblQ and tblQ.Rows > 0 then
		strHTML = "<table "..BorderWidth.." width=\"100%\" style=\"border-collapse: collapse\" "..BorderColor.." cellpadding=\"2\">\r\n";
		
		--Añadir pequeña columna Encabezados
		strHTML = strHTML .. "<tr>\r\n";

		for m=1, tblQ.Columns do
			strHTML = strHTML .. "<td "..HeadBgColor.." nowrap>"..HeadFont ..  tblQ.ColumnNames[m] .. "</td>\r\n";
		end
		strHTML = strHTML .. "\r\n</tr>";

		--Llene la tabla secundaria
		for n=1, tblQ.Rows do
			strHTML = strHTML .. "<tr>\r\n";
			
			--Aplicar alternativa fila sombreado
			OddEvenRow = Math.Mod(n, 2)
			if OddEvenRow == 0 then
				DetailBgColor = DetailBgColorAlt1
			else
				DetailBgColor = DetailBgColorAlt2
			end
			
			for m=1, tblQ.Columns do
				
				strHTML= strHTML .. "<td "..DetailBgColor.." nowrap>"..DetailFont.. tblQ.Data[n][tblQ.ColumnNames[m]] .. "</td>\r\n";

			end
			strHTML = strHTML .. "\r\n</tr>";
		end
		strHTML = strHTML .. "</table>";
	end

--Devuelve el HTML para generar la función de los padres
return strHTML
end
Script On Show de tu Formulario adaptandolo a tu(s) tablas.
Web.LoadURL("Web1", "AutoPlay\\Docs\\plantilla.htm");
ParentQuery = "SELECT Proveedor, Contacto, Telefono, Fax, Email, Direccion from Proveedores ORDER BY RecordID";


SQLiteToHTML(db, ParentQuery, "", "AutoPlay\\Docs\\plantilla.htm");		

Web.LoadURL("Web1", "AutoPlay\\Docs\\plantilla.htm");
Bueno esta es la manera de usarla tu puedes adaptar tu script a tus necesidades y conveniencia espero te sea de ayuda esta dll y script.

Re: MenuHelper.dll

Publicado: 15 Abr 2012 16:02
por xxsolracxx
Interesante

Re: MenuHelper.dll y mas.. XD

Publicado: 15 Abr 2012 21:13
por j2a2foros
Gracias, agotaras123 :ohyeah: claro que me sirve lo necesitaba de urgencias y por supuesto que esto es interesante, voy a ponerme a ensayar... :pc:,

Ahora si no es mucha molestia, queria saber como hacer relaciones en sqlite, al igual que en acces, pero por supuesto en ams, me he documentado bastante, he leido foros, pero aun no consigo hacer eso :SOS: , [Soy novato], pero en realidad quiero hacerlo.. me refiero exactamente a tener varias tablas, y a consultar informacion de varias de ellas, tal vez con un ejemplo seria suficiente.. por eso necesitaba el menuhelper.dll, teniendo ya las relaciones, de esta manera podria hacer los reportes... :pc:
Yo seguiré trabajando en eso....
.... "Con un buen ejemplo seria suficiente :friends: , "

Re: MenuHelper.dll y mas.. XD

Publicado: 20 Abr 2012 17:07
por Ceone
j2a2foros escribió:
Imagen

compañero si puedes ahórrate los gif en el foro! ;)

Re: MenuHelper.dll

Publicado: 20 Abr 2012 22:31
por Agotaras123
En las consultas SQL que hagas en tu script debes de crear index para poder hacer tus realciones ejemplo de ello.

SQL CREATE INDEX Syntax

Crea un índice en una tabla. Los valores duplicados están permitidos:

CREATE INDEX index_Nombre
ON Nombre_Tabla (Nombre_Columna)


Esto es si quieres indexar pero las relaciones debes de hacerlas de igual manera

para que sea un poco mas funcional usas esto mejor:


SQL UNION Syntax

SELECT Nombre_Columna(s) FROM Nombre_Tabla1
UNION
SELECT Nombre_Columna(s) FROM Nombre_Tabla2


El operador UNION sólo selecciona valores distintos por defecto, Para permitir que los valores duplicados, usa UNION ALL.

Bueno espero ayas comprendido un poco lo que te explique.

Re: MenuHelper.dll

Publicado: 21 Abr 2012 05:43
por j2a2foros
O.K lo de los GIF, ceone y nuevamente gracias Agotaras123 (sin el gif), aprecio mucho el que compartas tus conocimientos :yes:
"El conocimiento es libre"

Re: MenuHelper.dll

Publicado: 21 Abr 2012 05:48
por Agotaras123
de nada estamos para ayudar en lo que podamos.

Re: MenuHelper.dll

Publicado: 21 Abr 2012 12:31
por mensajero1
Como siempre Agotaras eres un maestro....

Publicado: 23 Abr 2013 09:21
por MURATBOY31
thnaksss

Publicado: 28 Abr 2013 10:49
por MrDinZ
thanks

Publicado: 18 Jun 2013 03:41
por a.miguel
Interesante

Publicado: 28 Jul 2013 02:10
por omegacjfenix
gracias :yes:

Publicado: 22 May 2014 17:55
por hassan2526
thanks

Re: MenuHelper.dll

Publicado: 22 Jun 2015 06:10
por Luma
Thank You

Re: MenuHelper.dll

Publicado: 22 Jun 2015 21:59
por FRAPIDS
Gracias ...

Re: MenuHelper.dll

Publicado: 30 Sep 2015 22:29
por hddutilite
manda pra mim

Re: MenuHelper.dll

Publicado: 23 Mar 2016 03:31
por Zimmer Gunderzen
Gracias :friends:

Re: MenuHelper.dll

Publicado: 07 Feb 2018 01:22
por usamakey
tnks my friend