Italian Primo esempio GPT B4X BUILDER (Listview Custom)

ivanomonti

Expert
Licensed User
Longtime User
👋 Vi lascio un primo esempio di Custom ListView interamente generato da GPT – B4X BUILDER, il mio assistente AI personalizzato per B4J/B4X.

Il codice funziona già abbastanza bene, anche se ci sono ancora piccoli margini di miglioramento nell’uso delle API JavaFX.
L’obiettivo è mostrare quanto può essere utile un GPT che genera direttamente codice per B4X.



💡 Come funziona?

L’utilizzo è molto semplice: basta chiedere, e il GPT restituisce il codice completo.
Certo, a volte commette errori (è normale!), ma basta copiare il log e darglielo in pasto: lui lo correggerà passo dopo passo fino a ottenere un risultato pulito e funzionante.

A casa mia si dice: la pazienza e la collaborazione sono un grande segno di forza.
E voglio iniziare io, con voi.




📝 Suggerimento importante

Dopo aver creato qualcosa, chiedete a GPT – B4X BUILDER di generare un file .md con il report completo delle difficoltà e correzioni effettuate.

Esempio di comando:

B4X:
Cosa proponi nel prompt di B4X BUILDER per correggere tutti gli errori che hai riscontrato?

📎 In allegato trovate un file .md generato automaticamente da GPT.
Serve a migliorarlo, renderlo più preciso e sempre più orientato a B4X.




📤 Se volete aiutarmi...

Quando ottenete un log .md da GPT con errori risolti o difficoltà trovate, inviatemi solo quel file, anche qui sul forum.
Cercherò di integrarlo nel sistema per rendere GPT sempre più forte, stabile e focalizzato su B4X.

Grazie a chiunque vorrà contribuire 🙏
Ivano – MIASMART GPT Project

B4X:
' ============================================
' Module: CustomListViewCD (B4XMainPage compatibile)
' Created by: ALEX – MIASMART B4X BUILDER
' Technical support: MIASMART – B4X BUILDER v1
' Date: 2025-05-26
' Purpose: Custom ListView in B4XMainPage con immagine + testo + campo note
' ============================================

Sub Class_Globals
    Dim fx As JFX
    Private Root As B4XView
    Private xui As XUI
    Private sv As ScrollPane
    Private container As Pane
End Sub

Public Sub Initialize
End Sub

Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1

    sv.Initialize("sv")
    Root.AddView(sv, 0, 0, 600dip, 600dip)

    container.Initialize("")
    container.SetLayoutAnimated(0, 0, 0, 600dip, 95dip * 10 + 10dip)

    Dim jo As JavaObject = sv
    jo.RunMethod("setContent", Array(container))

    For i = 1 To 10
        AddCDRow("CD Titolo " & i, "Artista " & i, "io.png")
    Next
End Sub

Private Sub AddCDRow(titolo As String, sottotitolo As String, imgFile As String)
    Dim riga As Pane
    riga.Initialize("")
    riga.SetLayoutAnimated(0, 0, 0, 580dip, 90dip)
    Dim joRiga As JavaObject = riga
    joRiga.RunMethod("setStyle", Array("-fx-background-color: white;"))

    Dim img As ImageView
    img.Initialize("")
    Dim bmp As B4XBitmap = xui.LoadBitmap(File.DirAssets, imgFile)
    img.SetImage(bmp)
    riga.AddNode(img, 10dip, 15dip, 60dip, 60dip)

    Dim lblTitolo As Label
    lblTitolo.Initialize("")
    lblTitolo.Text = titolo
    lblTitolo.TextSize = 16
    riga.AddNode(lblTitolo, 80dip, 10dip, 300dip, 25dip)

    Dim lblSotto As Label
    lblSotto.Initialize("")
    lblSotto.Text = sottotitolo
    lblSotto.TextSize = 12
    lblSotto.TextColor = fx.Colors.Gray
    riga.AddNode(lblSotto, 80dip, 35dip, 300dip, 20dip)

    Dim txtNote As TextField
    txtNote.Initialize("")
    txtNote.PromptText = "Note..."
    riga.AddNode(txtNote, 80dip, 60dip, 300dip, 20dip)

    container.AddNode(riga, 10dip, container.NumberOfNodes * 95dip, 580dip, 90dip)
End Sub


1748330106703.png
 

LucaMs

Expert
Licensed User
Longtime User
Mi fa piacere che tu ti dia da fare su questo argomento, è interessante e potrebbe essere utile.
Se potrò contribuire, sicuramente lo farò.

L'esempio che hai fatto, però, è del tutto inutile; perché generare codice che usa perfino JavaObject e JavaFX quando esiste già xCustomListView, multipiattaforma?
 

ivanomonti

Expert
Licensed User
Longtime User
Mi fa piacere che tu ti dia da fare su questo argomento, è interessante e potrebbe essere utile.
Se potrò contribuire, sicuramente lo farò.

L'esempio che hai fatto, però, è del tutto inutile; perché generare codice che usa perfino JavaObject e JavaFX quando esiste già xCustomListView, multipiattaforma?

Io credo che il gionale mai letto e sempre nuovo anche se datato, non so se è multipiattaforma ma puoi copiare il codice e chiedere a gpt B4X BUILDER se quel codice e multipiattaforma e vedere la risposta o la soluzione, io non ho android e ios e una rottura di coglioni per fare testing, per quello che invito a tutti voi (chi può e chi vuole) di giocarci, e gratis, migliore il GPT e di sicuro una mano, tra l'altro più sbaglia e gli passate il log e più registra gli errori che poi chiedete sempre nella stessa sessione prima di chiuderla un log, di sicuro e costruttivo per lo stesso GPT.
 

LucaMs

Expert
Licensed User
Longtime User
Io credo che il gionale mai letto e sempre nuovo anche se datato, non so se è multipiattaforma ma puoi copiare il codice e chiedere a gpt B4X BUILDER se quel codice e multipiattaforma e vedere la risposta o la soluzione, io non ho android e ios e una rottura di coglioni per fare testing, per quello che invito a tutti voi (chi può e chi vuole) di giocarci, e gratis, migliore il GPT e di sicuro una mano, tra l'altro più sbaglia e gli passate il log e più registra gli errori che poi chiedete sempre nella stessa sessione prima di chiuderla un log, di sicuro e costruttivo per lo stesso GPT.
Non è importante se il codice che ha generato sia multipiattaforma, la mia osservazione è che esiste già xCustomListView, quindi quel sorgente è del tutto superfluo.

Non devi darci il link?
 

ivanomonti

Expert
Licensed User
Longtime User
Avevo già postato il link MIASMART-B4X-BUILDER ecomunque @LucaMs come ho scritto, sono esempi semplici e banali, non importa se esiste già una Listview Custom di Erel, anzi ben venga come dire "esiste un uomo tutti gli altri sono superflui" il codice e solo un punto di ispirazione personale, e poi dovendo istruire anche GPT parto dal basso per poi arrivare a cose più complesse. Giocaci, tu sei esperto e sei bravo.
 

LucaMs

Expert
Licensed User
Longtime User
In questo campo sono del tutto INesperto.

Per ora non so se valga la pena caricare "tonnellate" di sorgenti in una custom GPT, visto che ChatGPT conosce già (e può cercare) tutto su B4X.com, a meno che non carichi tuoi sorgenti personali.

Domandina a te (come vedi, altro che "esperto"): ho posto una domanda, puoi leggerla anche tu?
 

Sagenut

Expert
Licensed User
Longtime User
Come ogni IA dovrà imparare e crescere.
Per ora offre per quel che conosce.
 

LucaMs

Expert
Licensed User
Longtime User
Rileggerò (tra poco) cosa mi ha risposto ChatGPT quando gli ho chiesto cosa siano le "custom GPT", per capirne eventuali vantaggi.

A questa domanda, Ivano non ha risposto; forse l'ho posta male (o lo sto facendo innervosire, pensa che io stia criticando lui e questo suo impegno):

Domandina a te (come vedi, altro che "esperto"): ho posto una domanda, puoi leggerla anche tu?
Intendevo dire che sono entrato in quella sua custom GPT, ho posto un paio di domande e non so se Ivano abbia facoltà di leggerle, il che potrebbe avere vantaggi (collaborazione) e svantaggi (privacy).
 

ivanomonti

Expert
Licensed User
Longtime User
Rileggerò (tra poco) cosa mi ha risposto ChatGPT quando gli ho chiesto cosa siano le "custom GPT", per capirne eventuali vantaggi.

A questa domanda, Ivano non ha risposto; forse l'ho posta male (o lo sto facendo innervosire, pensa che io stia criticando lui e questo suo impegno):


Intendevo dire che sono entrato in quella sua custom GPT, ho posto un paio di domande e non so se Ivano abbia facoltà di leggerle, il che potrebbe avere vantaggi (collaborazione) e svantaggi (privacy).
Nessuno può leggere cosa fai davvero, né sulle GPT ufficiali né su quelle personalizzate. Nemmeno i suggerimenti che dai restano salvati in modo duraturo. E non è nemmeno possibile creare un vero progetto condiviso su una GPT personalizzata: una volta pubblicata, è pubblica per tutti, e anche se la usano in un milione contemporaneamente, tu non ci guadagni nulla. Magari un giorno inventeranno un sistema di ricompense… ma ne dubito.


Il bello delle GPT personalizzate non è solo scrivere il prompt – quello lo possiamo fare tutti – ma è l’istruzione che ci metti dentro, come la strutturi e dove vuoi portarla, sia in termini di conoscenza che di progetto.


Ne ho provati tanti di modelli, ma non mi soddisfacevano: appena chiudevi la chat perdevi tutto. Con la custom invece puoi costruire qualcosa che resta, che cresce. Certo, non è la soluzione a tutto – è sempre un’AI – ma è un grande aiuto.


Io sto lavorando su un progetto web completo: PHP + JS + CSS + HTML + MySQL, con gestione utenti, privilegi, moduli, file, tutto in ambito musicale. L’AI viene addestrata passo passo. È lungo e anche un po’ noioso… ma alla fine, soddisfa.
Con la chat normale potresti anche farlo, sì… ma dopo due settimane, o un mese, ti sei già dimenticato tutto, e lei pure. Tocca rifare o riprendere da zero. GPT è potentissima per la conoscenza, ma sulla memoria è una tortura.


Questa “cazzata” fatta tutta in PHP, senza scrivere manualmente nemmeno una riga, quando sarà pronta ve la mostro. Vi tengo aggiornati.

1748362797175.png
 

LucaMs

Expert
Licensed User
Longtime User
Ciao, Ivano.

Mi era venuta una mezza idea e creare una custom GPT. Sbaglio (purtroppo non credo) o devi avere la versione Plus e pagare come minimo 20€ (o dollari?) al mese?
Non penso ne valga la pena, a meno che non si usi piuttosto frequentemente quella custom GPT.
Inoltre:
Ne ho provati tanti di modelli, ma non mi soddisfacevano: appena chiudevi la chat perdevi tutto
"perdevi tutto"; sei sicuro? Le vecchie chat "generiche" (chatgpt.com) rimangono e le risposte tengono conto di tutta la chat (suppongo che conservi anche gli allegati).
 
Top