Página 1 de 2
db a ListBoxEx
Publicado: 21 Oct 2014 06:08
por NicolasG
Perdón por hacer casi el mismo post que antes pero la verdad es que no logro hacer lo que tengo en mente,
la cosa es asi:
tengo esta tabla en mi db

Quiero conseguir el contenido de Mods
quitarle el = y enviar el resultado a un ListBoxEx como lo que ahí antes de = como nombre y lo que ahí después del = como tooltip
aclaro no pido código, solo ayuda(aunque.. xD, no mentira

), y con total sinceridad no tengo ni la mas puta idea de como hacerlo, quiero decir se como conseguir el contenido de Mods y como agregarlo al ListBoxEx, pero nose como quitarle los = y repetir el código con cada ams=etc
no se si me doy a entender

Publicado: 21 Oct 2014 07:27
por rafaxplayer
Hay una funcion "DelimiterStringtotable" la cual si como parámetro delimiter le metes el "=" te dara una tabla con los substrings 1,google,amsspecialist por ejemplo.
Con esto ya tienes algo con lo que empezar.
Nota: La función creo que esta por la seccion de scripts en "Ejemplos y Plantillas".
Publicado: 21 Oct 2014 07:29
por NicolasG
ya reviso, gracias rafa
alguna información extra?
Publicado: 21 Oct 2014 07:43
por NicolasG
la encontré acá la dejo
viewtopic.php?f=23&t=343
Publicado: 21 Oct 2014 07:59
por rafaxplayer
Exacto.

Publicado: 21 Oct 2014 13:13
por comprotodo201480
Retirado por no ser el codigo correcto...

Publicado: 21 Oct 2014 13:30
por comprotodo201480
Retirado por no ser el codigo correcto...

Publicado: 21 Oct 2014 17:11
por NicolasG
ya, veo que responderte los pm es algo total mente inútil....
Ya tengo todo el código echo pero el TextFile.ReadToTable no lee rows, retorna nil en todos los casos que intente
Publicado: 21 Oct 2014 17:15
por NicolasG
el codigo es este
Get_ID = ListBoxEx.GetSelectedItem("Plugin2");
resulta = ListBoxEx.GetItemDataEx("Plugin2", Get_ID);
MySQLCursor = MySQLConnection:execute("SELECT Mods FROM "..db_name..".modpacklist_db WHERE id="..resulta.." ");
Get = MySQLCursor:fetch({},"a");
TextFile.WriteFromString(_TempFolder.."\\mo.d", Get.Mods, false);
tFruits = TextFile.ReadToTable(_TempFolder.."\\mo.d");
for index,fruit in pairs (tFruits) do
nPipePos = String.Find(fruit, "=", 1, false);
sItemData = String.Mid(fruit, nPipePos+1, -1);
sItemText = String.Left(fruit, nPipePos-1);
ListBoxEx.AddItem("Plugin2", sItemText.."", sItemData.."", "", "", 0, LBXITEM_HTML, 0, nil, nil, nil);
end
pero quiero no quiero crear ningún archivo,y párese que TextFile.ReadToTable solo lee el contenido de archivos
Publicado: 21 Oct 2014 18:19
por comprotodo201480
Retiro todo lo anterior hasta el apz, la verdad no se que es lo que necesitas...
El código que hice lee un row llamado Mods y lo incrusta a a un ListBoxEx , en ningun momento dice que lee un archivo txt , lee un row y no un txt
Ese row internamente contiene informacion que es serapara por un String y no tiene nada que ver el apz de el ejemplo con los anteriores mios o que te envie por PM.
Que pena haberte molestado...
Mire....que es un row y no un .txt lo que esta leyendo y podes cambiar el tipo de string en tu caso por el =.
for nRow = 1, tSeleccion.Rows do
sMods = tSeleccion.Data[nRow]["Mods"];
nPipePos = String.Find(sMods, "|", 1, false);
sItemData = String.Mid(sMods, nPipePos+1, -1);
sItemText = String.Left(sMods, nPipePos-1);
nIndex = ListBoxEx.AddItem("Plugin1", sItemText, sItemData, sItemData, "", 3, 1, 0, {16777215,16764057,16764057,16764057,16764057});
ListBoxEx.SetItemGStyle("Plugin1", nIndex, HORIZONTAL, LBXISTATE_NORMAL);
ListBoxEx.SetItemVisible("Plugin1", nIndex, true);
end
end
Publicado: 21 Oct 2014 19:36
por Dow Sher
y Yo pregunto.......
¿Porque mejor no hacer mas columnas en la base de datos y evitarse tantos líos?
Utilizando el Plugin MySQL que viene en el Power Pack el Script seria algo así:
_Connection = MySQL.Connect('Host', 'Username', 'Password', 'Database');
if _Connection ~= 0 then
Dialog.Message("Error", "Connection failed: (" .. MySQL.GetError() .. ")", MB_OK, MB_ICONSTOP);
else
Get_Mods = MySQL.QueryToTable("select * from TABLE");
if Application.GetLastError() ~= 0 then
Dialog.Message("MySQL Actions Plugin", "Query failed: (" .. MySQL.GetError() .. ")", MB_OK, MB_ICONSTOP);
else
for nRow, x in pairs (Get_Mods) do
Mod = Get_Mods[nRow][7]; -- ¿Porque el 7? La columna Mods es la columna numero 7 de izquierda a derecha
nEquals_POS = String.Find(Mod, "=", 1);
sItemText = String.Left(Mod, nEquals_POS-1);
sItemData = String.Mid(Mod, nEquals_POS+1, -1);
ListBoxEx.AddItem("Plugin1", sItemText, "", sItemData, "", 0, LBXITEM_HTML, 0, nil, nil, nil);
end
end
end
¿Dudas?
Publicado: 21 Oct 2014 20:05
por comprotodo201480
Dow...veo que usaste parte del código para la lectura del String, cosa que a Nicolas no le sirve, esperemos que ya halla solucionado por otros medios su problema y deje mi código quieto si no le sirvio para sus dudas.
Publicado: 22 Oct 2014 06:22
por Dow Sher
Pues esos Scripts funcionan a la perfección, no entiendo que es lo que no le funciona a NicolasG
Publicado: 22 Oct 2014 13:42
por comprotodo201480
Dow...
No manches..en serio?
Me tome el trabajo de hacerle hasta un apz que me trasnoche arto en ello y no estoy en contra de Rafax pero dijo eso con un "DelimiterStringtotable" yo quede en una nube voladora

y me puse las pilas en el tema consulte por mas de 4 horas e hise pruebas y pruebas y sali regañado por Nicolas, para mi fue muy frustrante y no voy a volver a aportar asi al foro, ya se por que los admin solo aportan mini codigos.
Rafax eres el mejor manito el resultado fue muy bueno te lo dedico a voz
Descripcion:
Sin importar si atras de este codigo hay sql,Mysql,sqlite,sqlite3 esta es la solucion a esas dudas de separar el contenido de una row con un String no importa el tipo, aca importa que funciona. sMods es la variable a modificar.
nPipePos = String.Find(sMods, "=", 1, false);
sItemData = String.Mid(sMods, nPipePos+1, -1);
sItemText = String.Left(sMods, nPipePos-1);
Saludes y corrijo el tooltip en el ListBoxEx
ListBoxEx.AddItem("Plugin1", sItemText, sItemData, sItemData, "", 0, LBXITEM_HTML, 0, nil, nil, nil);
Publicado: 22 Oct 2014 14:47
por rafaxplayer
jejeje mini codigos? no has mirado todo el contenido del foro? el 80 % es de los admin , lo que yo no puedo solucionar a 100% un script erroneo o apz , primero, por tiempo y luego porque asi no se aprende nada solo se hace copy paste.
Aunque si he echo 1000 apzs y soluciones completas cuando he podido o me han dado todo el source del proyecto.
Aquí lo que pasa que la peña da mucha pregunta ambigua "¿como puedo hacer esto? pssss , empieza con algo y ves resolviendo dudas una a una, no te hacer el proyecto entero , por eso los mini-codigos para que vaya haciendo una cosa detrás de la otra ,consultando ayudas y haciendo búsquedas como has echo tu con la función que dije

.
Re: db a ListBoxEx
Publicado: 22 Oct 2014 15:29
por NicolasG
rafa, ya e solucionado mi problema,

Publicado: 22 Oct 2014 16:07
por comprotodo201480
Rafax como pido la baja del foro me aburrio esta MIERDA DE AMS
Re:
Publicado: 22 Oct 2014 16:32
por rafaxplayer
comprotodo201480 escribió:Rafax como pido la baja del foro me aburrio esta MIERDA DE AMS
trankilo ya te la doy.
Publicado: 22 Oct 2014 22:35
por carsonzillo
que carajo le ha pasado al comprotodo?
Publicado: 22 Oct 2014 23:17
por comprotodo201480
Carsonzillo...
Nada en comun un c****n NICOLASG que se cree que por ser del polo sur es mejor y daria 1 millon de lo k sea que uso mi codigo despues de insultarme, yo no soy nada con el que respete , opine pero mas decente. 6 horas haciendole un codigo y lo uso yo se que si por que esa es la solucion y dijo que me falataba atencion . el resto del foro son unos cheveres muy especiales.
Saludos