Modul:Kembox/Chembox Thermochemistry
Kembox/Chembox Thermochemistry[mi ez?] • [dokumentáció: mutat, ] • [tesztek: létrehozás]
local csopfej = "Termokémia"
local boxtbl = { -- a paraméterek sorrendje és infóboxbeli felirata. Az 1-es sorszám fenntartva csopfej-nek
DeltaHf = { 2, "[[Standard képződési entalpia|Std. képződési<br>entalpia]] Δ<sub>f</sub>''H''<sup><s>o</s></sup><sub>298</sub>" },
DeltaHc = { 3, "[[Égés standardentalpiája|Égés standard-<br/>entalpiája]] Δ<sub>c</sub>''H''<sup><s>o</s></sup><sub>298</sub>" },
Entropy = { 4, "[[Standard moláris entrópia|Standard moláris<br>entrópia]] ''S''<sup><s>o</s></sup><sub>298</sub>" },
HeatCapacity = { 5, "[[Hőkapacitás]], ''C''" },
}
boxtbl["Entrópia"] = boxtbl.Entropy -- Chembox_új
boxtbl["standard_moláris_entrópia"] = boxtbl.Entropy -- Vegyület_infobox
boxtbl["Hőkapacitás"] = boxtbl.HeatCapacity -- Chembox_új
boxtbl["hőkapacitás"] = boxtbl.HeatCapacity -- Vegyület_infobox
boxtbl["sec_combustion"] = boxtbl.DeltaHc -- Drugbox
boxtbl["standard_képződési_entalpia"] = boxtbl.DeltaHf -- Vegyület_infobox
boxtbl["képződéshő"] = boxtbl.DeltaHf -- Vegyület_infobox
boxtbl["ÉgésiEntalpia"] = boxtbl.DeltaHc -- Gyógyszeresdoboz
local munka = {} -- { { sorsz, címke }, érték }
local eredm = {} -- { címke, érték } rendezve
function egysor(nev,ertek)
n = string.gsub(nev,' ','_')
if boxtbl[n] -- a boxtbl tábla (lásd feljebb) az ismert paramétereket és azok sorrendjét tartalmazza
then if ertek and #ertek > 0 then table.insert(munka,{boxtbl[n],ertek}) end -- az üres paramétereket nem írjuk ki
-- else -- a hívó sablon hibás paramétert kapott a szócikkből
end
end
-- A munka-beli értékek rendezése és kiírása
local function rendez(hivo)
if next(munka)
then -- van megadott paraméter
local kozos = require("Module:Kembox/kozos")
eredm[1] = csopfej
kozos.adatcsoport(munka,eredm) -- munka rendezése és átmásolása eredm-be
return kozos.kiir(eredm,hivo)
end
return ""
end
-- Kívülről is hívható függvények
local p = {}
-- Hívás sablonból
function p.Chembox_Thermochemistry(frame)
local hivo = frame.args['infobox'] -- hívó sablon
for nev,ertek in frame:getParent():argumentPairs()
do egysor(nev,ertek)
end
return rendez(hivo)
end
-- Hívás modulból
function p.lua(partbl,hivo)
for nev,ertek in pairs(partbl)
do egysor(nev,ertek)
end
return rendez(hivo)
end
return p;