Interpretar un Texto

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Hola gente, tengo una duda, y es como interpretar un texto con un script y que junte una valué con lo que contenga la valué, ejemplo
m1=google.com
ams=amsspecialist.com
ams2=redtuVe.com

y que por ejemplo lo ponga en listbox como el m1 como el nombre y el google.com como la data.
Perdón si no me explico bien :sorry:

PD: si alguien tiene una guía o información de la función string.format, pasen mela plz XD

:SOS: :SOS: :SOS: :SOS: :SOS:

No entendi pero quiero ayudar...

explicate mejor entiendo poco pero intentare hacer algo con tus palabras

Si las variables las nombras tu mismo manualmente, entonces podrías hacerlo así:
sTabla = {"m1", "ams", "ams2"};
nTabla = {"google.com", "amsspecialist.com", "redtuVe.com"};

for x, z in pairs (sTabla) do
 ListBox.AddItem("ListBox1", z, nTabla[x]);
end
Si te das cuenta, m1 y google.com están en las misma posición en las tablas (lugar 1) y así sucesivamente con ams y amsspecialist.com (lugar 2)...............

Explica un poco mejor, como obtienes las variables, o algo con que apoyarnos para ayudarte y darte la mejor manera de hacer las cosas

El temas es que yo tenia este codigo:
Get_ItemData = ListBoxEx.GetItemDataEx("Plugin1", e_Index);
Get_ModsNames = INIFile.GetValueNames(Get_ItemData, "Mods");
Tree.RemoveNode("Tree1", "0");
Tree.InsertNode("Tree1", "1", {Text="Mods",Data="",Expanded=true});

for sIndex, Values in pairs (Get_ModsNames) do
	Get_Urls = INIFile.GetValue(Get_ItemData, "Mods", Values);
	Get_ToolTip = ListBoxEx.GetItemToolTipText("Plugin1", e_Index, true);
	Get_Description = INIFile.GetValue(Get_ItemData, "Info", "Description");
	Label.SetText("pack.name", Get_ToolTip.."");
	Label.SetText("count.mods.in.pack","Count Mods in pack: "..sIndex.."");
	Paragraph.SetText("Paragraph1", Get_Description);
	Tree.InsertNode("Tree1", "1."..sIndex, {Text=Values.."",Data=Get_Urls,Checked=true});
end
este código esta bien, pero solo sirve con archivos, ahora estoy usando MySQL y es mas complicado :hypno:

dowsher
Ese es el problema yo no decido lo que abra en la tabla

:hypno: Lo que quieres es ese mismo Script pero para MySQL?

no todo el código, solo el script que lee el contenido de la columna mods
esto es lo que estaría en la columna
m1=google.com
ams=amsspecialist.com
ams2=redtuVe.com

obvia mente el contenido baria

Supongamos que en tu base de datos tienes la siguiente tabla:
Imagen
Entonces el Script seria algo así:
Get_Urls = MySQL.QueryToTable("select * from MODS"); -- Obtiene todos los campos de la tabla "MODS"
  if Application.GetLastError() == 0 then
   for nRow, x in pairs (Get_Urls) do -- Obtiene las filas de la tabla
    variable = Get_Urls[nRow][1]; -- Obtiene el contenido de la fila "nRow" y la columna "1"
    contenido = Get_Urls[nRow][2]; -- Obtiene el contenido de la fila "nRow" y la columna "2"
    ListBoxEx.AddItem("Plugin1", variable, "", contenido, "", 0, LBXITEM_HTML, 0, nil, nil, nil);
   end
  end
end
Esto es lo que necesitas?

esta es mi db
Imagen
la db es lo de menos
lo que quiero es que lea este texto
m1=google.com
ams=amsspecialist.com
ams2=redtuVe.com
y por ejemplo mandar lo que hai antes de el = como nombre de un listbox, y lo hay despues del = como data de m1 :lol:

Entonces seria algo así:
Get_Urls = MySQL.QueryToTable("select * from modpack_db");
  if Application.GetLastError() == 0 then
   for nRow, x in pairs (Get_Urls) do
    nStr = Get_Urls[nRow][4]; -- -- Obtiene el contenido de la celda de la fila "nRow" y la columna "4" de tu DB
    rStr = nStr:sub(nStr:find("="), -1); -- Abajo explico que hace esto
    nText = nStr:gsub(rStr, ""); -- Abajo explico que hace esto
    nData = rStr:gsub("=", ""); -- Abajo explico que hace esto
    ListBoxEx.AddItem("Plugin1", nText, "", nData, "", 0, LBXITEM_HTML, 0, nil, nil, nil);
   end
  end
Suponiendo que obtuviste de tu DB m1=google.com
nStr = Get_Urls[nRow][4]; -- Esto seria "m1=google.com"
nStr:find("=") -- Busca la primera aparición de "=" en el String "nStr" (posición 3 en "m1=google.com")
rStr = nStr:sub(nStr:find("="), -1) -- Obtiene un SubString de nStr que comienza en donde se encontró "=" (en la linea anterior te explique) y termina en -1 (-1 es la longitud del String "nStr"), retornaria "=google.com"
nText = nStr:gsub(rStr, ""); -- Remplaza "rStr" por "" en el string "nStr", retorna "m1"
nData = rStr:gsub("=", ""); -- Remplaza "=" por "" en el string "rStr", retorna "google.com"

Espero haber podido ayudarte. Si tienes dudes en preguntar si tienes dudas.
Suerte con tu proyecto :friends:

no entiendo lo de
MySQL.QueryToTable
:hypno: :hypno: :hypno:

ya esta
Muchas gracias dowsher, abrazo grande desde argentina :friends: :friends: :friends: :friends:
MySQLCursor = MySQLConnection:execute("SELECT * FROM nicolasgomez.modpack_db");
for Index = 1, MySQLCursor:numrows() do
	local id, name, by, mod = MySQLCursor:fetch();
	---------------------------------------
	nStr = mod; -- -- Obtiene el contenido de la celda de la fila "nRow" y la columna "4" de tu DB
    rStr = nStr:sub(nStr:find("="), -1); -- Abajo explico que hace esto
    nText = nStr:gsub(rStr, ""); -- Abajo explico que hace esto
    nData = rStr:gsub("=", "");
    Debug.Print(nText..""..nData.."");
end

en respuesta a la pregunta original, interpretar un string como script lua puedes usar esta funcion
	function lua_dostring(sLua)
        local Return, Error = pcall(function(s)
            return loadstring(s)();
        end, sLua);

        return Return, Error;
    end

Re:

Gracias :friends: :friends: