Modul:Kembox/Chembox Thermochemistry

A Wikipédiából, a szabad enciklopédiából

Kembox/Chembox Thermochemistry[mi ez?] • [dokumentáció: mutat, szerkeszt] • [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;