Comment convertir une chaîne de tableau en code...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Shadow
Messages : 1373
Inscription : mer. 04/nov./2015 17:39

Comment convertir une chaîne de tableau en code...

Message par Shadow »

Salut,

Alors je ne demande pas de code, juste quelques info, jme débrouille pour le reste.
J'ai beaucoup de mal à me réprésenter un tableau sous forme de chaîne de caractères.
Comment ça s’interprète, comment ça se lit ?
Est ce que ce code de conversion est correcte ?:

Code : Tout sélectionner

"[123, [234, Def], Abc, [345, [456, Mno, 567], Jkl], Ghi]"

Dim Tableau.s(1, 2, 3)

Tableau.s(0, 0, 0) = "123"
Tableau.s(0, 1, 0) = "234"
Tableau.s(0, 1, 1) = "Def"
Tableau.s(0, 0, 1) = "Abc"
Tableau.s(0, 2, 0) = "345"
Tableau.s(1, 0, 0) = "456"
Tableau.s(1, 0, 1) = "Mno"
Tableau.s(1, 0, 2) = "567"
Tableau.s(0, 2, 1) = "Jkl"
Tableau.s(0, 0, 3) = "Ghi"
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Comment convertir une chaîne de tableau en code...

Message par falsam »

Converti le tableau en une chaîne JSON ;)
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Shadow
Messages : 1373
Inscription : mer. 04/nov./2015 17:39

Re: Comment convertir une chaîne de tableau en code...

Message par Shadow »

falsam a écrit :Converti le tableau en une chaîne JSON ;)
Pas bête du tous ça mais j'aimerais le faire aussi moi même pour un future projet.
Merci.
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
Mindphazer
Messages : 639
Inscription : mer. 24/août/2005 10:42

Re: Comment convertir une chaîne de tableau en code...

Message par Mindphazer »

falsam a écrit :Converti le tableau en une chaîne JSON ;)
Taquin ! :wink:
Bureau : Win10 64bits
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Avatar de l’utilisateur
SPH
Messages : 4726
Inscription : mer. 09/nov./2005 9:53

Re: Comment convertir une chaîne de tableau en code...

Message par SPH »

j'aime bien manier les chaines.
J'aurais voulu aidé (si si) mais je n'ai rien compris a l'exemple et je ne vois pas le but... Donc !...

:cry:
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Comment convertir une chaîne de tableau en code...

Message par falsam »

Shadow a écrit :J'ai beaucoup de mal à me réprésenter un tableau sous forme de chaîne de caractères.

Code : Tout sélectionner

Dim Tableau.s(1, 2, 3)

Tableau.s(0, 0, 0) = "123"
Tableau.s(0, 1, 0) = "234"
Tableau.s(0, 1, 1) = "Def"
Tableau.s(0, 0, 1) = "Abc"
Tableau.s(0, 2, 0) = "345"
Tableau.s(1, 0, 0) = "456"
Tableau.s(1, 0, 1) = "Mno"
Tableau.s(1, 0, 2) = "567"
Tableau.s(0, 2, 1) = "Jkl"
Tableau.s(0, 0, 3) = "Ghi"

If CreateJSON(0)
  InsertJSONArray(JSONValue(0), Tableau())
  Debug ComposeJSON(0)
EndIf
résultat
[[["123","Abc","","Ghi"],["234","Def","",""],["345","Jkl","",""]],[["456","Mno","567",""],["","","",""],["","","",""]]]
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Mindphazer
Messages : 639
Inscription : mer. 24/août/2005 10:42

Re: Comment convertir une chaîne de tableau en code...

Message par Mindphazer »

Mais grands Dieux explique ce que tu veux faire exactement !?
Bureau : Win10 64bits
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Avatar de l’utilisateur
SPH
Messages : 4726
Inscription : mer. 09/nov./2005 9:53

Re: Comment convertir une chaîne de tableau en code...

Message par SPH »

Merci falsam :!:

Mais, comme d'autres, je ne vois pas DU TOUT a quoi ca peut servir :!: :!: :!: :arrow: :|

Ou ca tombe, il y a une autre façon super facile de faire... si seulement shadow pouvait nous renseigner...
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Shadow
Messages : 1373
Inscription : mer. 04/nov./2015 17:39

Re: Comment convertir une chaîne de tableau en code...

Message par Shadow »

Merci pour votre aide à tous.

C'est des petites chose que je veux faire comme ça...
Des petites chose qui serviront plus tard.

Par exemple traducteur / interpréteur de code...
Puis ça m’occupe et ça m'apprends aussi !

C'est vraie que mon code de la chaîne de tableau n'est pas clair, pas bon aussi.
Je voudrais faire deux procédure:

Code : Tout sélectionner

Procedure ConvertStringToArray(String.s)
EndProcedure

Procedure ConvertArrayToString(String.s)
EndProcedure
Je tatone un peu, mais Falsam ma données une vois à suivre...
Bon après c'est bien d’essayer de le faire sois même pour apprendre :)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: Comment convertir une chaîne de tableau en code...

Message par kernadec »

bjr @Ombré
peut être que c'est ce genre truc que tu cherche :?:

Cordialement

Code : Tout sélectionner

Dim a$(15)

a$(0)  = Chr(9)+";--Copie de code source PB dans un tableau--" 
a$(1)  = "If OpenWindow(0, 0, 0, 200, 200,"+Chr(34)+"DrawText Exemple"+Chr(34)+", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)"
a$(2)  = "   If CreateImage(0, 200, 200) And StartDrawing(ImageOutput(0))"
a$(3)  = "      DrawingMode(#PB_2DDrawing_Transparent)"
a$(4)  = "      Box(0, 0, 200, 200, RGB(255, 255, 255))"
a$(5)  = "      For i = 1 To 30"
a$(6)  = "        DrawText(Random(200), Random(200), "+Chr(34)+"Hello World!"+Chr(34)+", RGB(Random(255), Random(255), Random(255)))"
a$(7)  = "       Next i"
a$(8)  = "     StopDrawing()"
a$(9)  = "      ImageGadget(0, 0, 0, 200, 200, ImageID(0))"
a$(10) = "    EndIf"  
a$(11) = "                     "
a$(12) = "   Repeat"
a$(13) = "    Event = WaitWindowEvent()"
a$(14) = "   Until Event = #PB_Event_CloseWindow"
a$(15) = "EndIf"


For i = 0 To 15
  
  Debug a$(i)    
  
Next i

ou peut être comme ça,

Code : Tout sélectionner

a$ + Chr(9)+";--Copie de code source PB dans un tableau--"+ Chr(13) + Chr(10)
a$ + "If OpenWindow(0, 0, 0, 200, 200,"+Chr(34)+"DrawText Exemple"+Chr(34)+", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)"+ Chr(13) + Chr(10)
a$ + "   If CreateImage(0, 200, 200) And StartDrawing(ImageOutput(0))"+ Chr(13) + Chr(10)
a$ + "      DrawingMode(#PB_2DDrawing_Transparent)"+ Chr(13) + Chr(10)
a$ + "      Box(0, 0, 200, 200, RGB(255, 255, 255))"+ Chr(13) + Chr(10)
a$ + "      For i = 1 To 30"+ Chr(13) + Chr(10)
a$ + "        DrawText(Random(200), Random(200), "+Chr(34)+"Hello World!"+Chr(34)+", RGB(Random(255), Random(255), Random(255)))"+ Chr(13) + Chr(10)
a$ + "       Next i"+ Chr(13) + Chr(10)
a$ + "     StopDrawing()"+ Chr(13) + Chr(10) 
a$ + "      ImageGadget(0, 0, 0, 200, 200, ImageID(0))"+ Chr(13) + Chr(10)
a$ + "    EndIf"+ Chr(13) + Chr(10)   
a$ + "                     "+ Chr(13) + Chr(10) 
a$ + "   Repeat"+ Chr(13) + Chr(10)
a$ + "    Event = WaitWindowEvent()"+ Chr(13) + Chr(10)
a$ + "   Until Event = #PB_Event_CloseWindow"+ Chr(13) + Chr(10)
a$ + "EndIf"+ Chr(13) + Chr(10)


Debug a$
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Comment convertir une chaîne de tableau en code...

Message par falsam »

Ha ha Kernadec. Ou as tu cherché cette idée ? Sors de la tête de Shadow. Ça va te rendre fou ;)
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Mindphazer
Messages : 639
Inscription : mer. 24/août/2005 10:42

Re: Comment convertir une chaîne de tableau en code...

Message par Mindphazer »

"@Ombré"
J'adore !! surtout si tu le dis avec l'accent :mrgreen:
Bureau : Win10 64bits
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Avatar de l’utilisateur
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: Comment convertir une chaîne de tableau en code...

Message par kernadec »

bjr Mindphazer

d'après ce qu il a dit vouloir faire donc voilà... 8O :mrgreen: :mrgreen:

Ombré à écrit a écrit : Par exemple traducteur / interpréteur de code...
Puis ça m’occupe et ça m'apprends aussi !
Shadow
Messages : 1373
Inscription : mer. 04/nov./2015 17:39

Re: Comment convertir une chaîne de tableau en code...

Message par Shadow »

Bonjour,

@kernadec, non rien à voir du tout :wink:
Je te remercie quand même :)

Moi je cherche à convertir une chaîne de caractères qui contient des tableaux vers du code PB et inversement :)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
Ar-S
Messages : 9477
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Comment convertir une chaîne de tableau en code...

Message par Ar-S »

je cherche à convertir une chaîne de caractères qui contient des tableaux vers du code PB
Tu veux interpréter ceci ou cela, tu apprends à te servir des regex. Il y a plein d'exemples (et non je ne vais pas en proposer un de plus).
Mot clé :arrow: CreateRegularExpression
Avec les regex, tu vas scinder ta chaine de caractères donc récupérer les morceaux à interpréter.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre