there is no best.I need to subscribe for ai platform which supports b4x.. any advice please ..
if you just want to ask questions about usage and explanation of commands or simple examples, you do not need to train.I asked them but I don't know if they learned from the forum and the documentation and any other resources
I read before there is someone here trying to learn an ai platform for b4x i didn't find it.
Yes .. may this will help me .. how to share ?All you need to do is share "b4x language guide" to any advanced model and ask your questions in natural language
in chat window there will be an option to upload / attach document.Yes .. may this will help me .. how to share ?
All of the document have already been kindly uploaded by @Alexander Stolte (thank you), Alexander has already been there and done thatYou can upload any of supporting documents (language guide in your case) and then ask questions around that document in natural language.
Thank you for your advice..Advice: Get the result that you're looking for, then carefully study the code to learn from it. I just can't stand Ctrl + C and Ctrl + V developers that use/manipulate online code, but then do not learn how the code works even though every single line of the code is right there in from of their noses. Learning the working code makes you a better developer.
Right, I'm off, I've got places to go and people to see.
There also an extremely good (quite a few actually) MySQL GPT, you should search and try them out for yourself.
Example: I asked B4X Assistant the following.
"Using B4Xpages, create an animated stick man character in the B4J ide".
B4X Assistant replied with code (attached to this post) and I full explanation on how it works. B4X Assistant key notes are below.
Stavo guardando queste GPT personalizzate e ho notato che si basano tutte sul manuale pdf base e il forum interessante, nel mio caso ho voluto esternare proprio questo ma andare in profondità e istruire il mio GPT con il wrapper utilizzato dallo stesso B4X partendo dalle sue stesse librerie e istruita per sfruttare java nella sua completezza, perché? semplicemente perché Java cresce e pertanto istruito GPT a sfruttare il wrapper utilizzato per b4x permette di andare oltre al manuale invece di cercare nel web esempi che non sempre portano i risultati desiderati, ma mi fa piacere che molti si sono concentrati nel creare i propri GPT.Tutti i documenti sono già stati gentilmente caricati da @Alexander Stolte (grazie), Alexander è già stato lì e l'ha fatto
Di seguito è riportato un collegamento a quello che probabilmente è il miglior B4X GPT secondo la mia opinione personale. Personalmente, credo che dovrebbe esserci un collegamento a @Alexander Stolte GPT da qualche parte nella barra del menu di navigazione in alto, direi sul lato destro di #B4X Discord (non ufficiale) .
GPT - Assistente B4X di Alexander Stolte
https://chatgpt.com/g/g-67c449c559188191877c2b94019f028b-b4x-assistent
Elenco completo filtrato
View attachment 164592
Consiglio: ottieni il risultato che stai cercando, poi studia attentamente il codice per imparare da esso. Non sopporto gli sviluppatori che usano/manipolano codice online con Ctrl+C e Ctrl+V, ma poi non imparano come funziona effettivamente il codice, anche se ogni singola riga è proprio lì davanti ai loro occhi. Imparare il codice funzionante ti rende uno sviluppatore migliore.
Bene, me ne vado. Ho dei posti da visitare e gente da vedere.
Esistono anche degli ottimi MySQL GPT (in realtà ce ne sono parecchi): dovresti cercarli e provarli tu stesso.
Godere...
' ============================================
' Module: B4XMainPage
' Created by: MIASMART - B4X BUILDER v1
' Technical support: MIASMART – B4X BUILDER v1
' Date: 2025-06-09
' Purpose: Due omini animati - uno balla (pnl), uno cammina (pnl1)
' ============================================
Sub Class_Globals
Private Root As B4XView
Private xui As XUI
Private pnl As B4XView ' Omino ballerino
Private cvs As B4XCanvas
Private pnl1 As B4XView ' Omino che cammina
Private cvs1 As B4XCanvas
Private tmr As Timer
Private animPhase As Float = 0
Private walkX As Float = 0
Private walkDir As Int = 1
End Sub
Public Sub Initialize
' Codice di inizializzazione
End Sub
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root.LoadLayout("Mainpage") ' Deve contenere sia pnl che pnl1
cvs.Initialize(pnl)
cvs1.Initialize(pnl1)
tmr.Initialize("tmr", 30)
tmr.Enabled = True
End Sub
Private Sub tmr_Tick
animPhase = animPhase + 0.1
If animPhase > 2 * cPI Then animPhase = 0
walkX = walkX + (2dip * walkDir)
If walkX > pnl1.Width - 50dip Then walkDir = -1
If walkX < 50dip Then walkDir = 1
DisegnaOminoBallerino(animPhase)
DisegnaOminoCamminante(animPhase, walkX)
End Sub
Private Sub DisegnaOminoBallerino(angle As Float)
cvs.ClearRect(cvs.TargetRect)
Dim cx As Float = pnl.Width / 2
Dim cy As Float = pnl.Height / 2
Dim headRadius As Float = 20dip
Dim bodyLength As Float = 80dip
Dim limbLength As Float = 50dip
cvs.DrawCircle(cx, cy - bodyLength - headRadius, headRadius, xui.Color_Blue, True, 2dip)
cvs.DrawLine(cx, cy - bodyLength, cx, cy, xui.Color_Black, 4dip)
Dim armAngle As Float = Sin(angle) * 0.8
Dim armX As Float = limbLength * Cos(armAngle)
Dim armY As Float = limbLength * Sin(armAngle)
cvs.DrawLine(cx, cy - bodyLength + 20dip, cx - armX, cy - bodyLength + 20dip + armY, xui.Color_Green, 3dip)
cvs.DrawLine(cx, cy - bodyLength + 20dip, cx + armX, cy - bodyLength + 20dip + armY, xui.Color_Green, 3dip)
Dim legAngle As Float = Sin(angle + cPI) * 0.8
Dim legX As Float = limbLength * Cos(legAngle)
Dim legY As Float = limbLength * Sin(legAngle)
cvs.DrawLine(cx, cy, cx - legX, cy + legY, xui.Color_Red, 3dip)
cvs.DrawLine(cx, cy, cx + legX, cy + legY, xui.Color_Red, 3dip)
cvs.Invalidate
End Sub
Private Sub DisegnaOminoCamminante(angle As Float, xOffset As Float)
cvs1.ClearRect(cvs1.TargetRect)
Dim cx As Float = xOffset
Dim cy As Float = pnl1.Height / 2
Dim headRadius As Float = 20dip
Dim bodyLength As Float = 80dip
Dim limbLength As Float = 50dip
cvs1.DrawCircle(cx, cy - bodyLength - headRadius, headRadius, 0xFFFFA500, True, 2dip) ' Arancione (hex)
cvs1.DrawLine(cx, cy - bodyLength, cx, cy, xui.Color_Black, 4dip)
Dim armAngle As Float = Sin(angle) * 0.8
Dim armX As Float = limbLength * Cos(armAngle)
Dim armY As Float = limbLength * Sin(armAngle)
cvs1.DrawLine(cx, cy - bodyLength + 20dip, cx - armX, cy - bodyLength + 20dip + armY, xui.Color_Green, 3dip)
cvs1.DrawLine(cx, cy - bodyLength + 20dip, cx + armX, cy - bodyLength + 20dip + armY, xui.Color_Green, 3dip)
Dim legAngle As Float = Sin(angle + cPI) * 0.8
Dim legX As Float = limbLength * Cos(legAngle)
Dim legY As Float = limbLength * Sin(legAngle)
cvs1.DrawLine(cx, cy, cx - legX, cy + legY, xui.Color_Red, 3dip)
cvs1.DrawLine(cx, cy, cx + legX, cy + legY, xui.Color_Red, 3dip)
cvs1.Invalidate
End Sub
It replied that it can unzip (and analyze, use) any zip files I pass it. I assume this is true but I haven't tried.unless ChatGPT also analyzes (and preserves) the compressed files.
Now, however, it responded like this:It replied that it can unzip (and analyze, use) any zip files I pass it. I assume this is true but I haven't tried.
Now, however, it responded like this:
Sorry, but I don't currently have the ability to directly handle zip files or any other type of binary file. However, I can help you with code review by providing suggestions and changes directly here in our conversation. If you have code or parts of it that you would like me to review, feel free to share it here and I will be happy to help with the requested changes and comments!
I think it is schizophrenic
(ChatGPT).
(ChatGPT)
Good point — and I'll explain the contradiction right away.
**The correct answer is: yes, I can handle `.zip` files that you send me directly to this chat.**
I can unzip them, analyze the files (like `.bas`, `.b4x`, `.bal`, etc.), modify them, and send you back a new `.zip`.
The initial answer ("I can't handle zip or binary files") was **wrong in the current context**, because it referred to a limitation that no longer applies. Thanks for pointing that out to me; I'll correct it right away.
You can safely proceed with sending your [`.zip` file](f) from the B4XPages project!