Un des trucs pour lequel ChatGPT est particulièrement nul, c'est les regexp.
Un des trucs pour lequel ChatGPT est particulièrement nul, c'est les regexp.
Hello,
Je me motive à (re)(re)avancer dans un projet perso. Je cherche a faire un formulaire dont les options dépendent d'un 1er fichier de config pour créér un second fichier de config.
En gros, mon fichier de config :
categorie1
option1,descriptif de l'option, valeur par default, valeurs possibles
option2,descriptif de l'option, valeur par default, valeurs possibles
categorie2
option1,descriptif de l'option, valeur par default, valeurs possibles
option2,descriptif de l'option, valeur par default, valeurs possibles
Affiche un formulaire
Cat1
\option1 avec menu deroulant/autre
\option2 avec menu deroulant/autre
Cat2
\option1 avec menu deroulant/autre
\option2 avec menu deroulant/autre
Et cela génère un fichier final.
Comme je n'ai pas envie de réinventer la roue, est-ce que vous avez une librairie à me conseiller pour parser des fichiers de config ?
Pour la partie graphique, je suis sous windows (VSCode + mingw), j'avoue ne pas avoir étudier le truc. Le but c'est d'avoir quelque chose de vraiment bidon avec des boutons, boites de dialogues et du texte en C ou C++. Si en plus cela peut etre compatible linux sans tout réécrire, ce serait encore plus cool ^^
Si quelqu'un peut m'orienter, cela serait cool.
Merki
C++ et GUI portable je pense automatiquement à Qt. Qt peut aussi parser son propre format de fichier de config (ini-like) ou les classiques XML et JSON.
Bon, j'ai un probleme avec Qt, me suis dit que j'allais testé avec wxWidgets des fois que j'ai un probleme d'install sauf que cela ne change rien.
En gros, le compileur ne va pas chercher dans les sous repertoires (ce qui n'a rien d'illogique), donc je me retrouve avec des "fatal error: wx/defs.h: No such file or directory". Je pensais que VSCode gérait le bousin mais à priori pas du tout. Actuellement, sur l'ensemble de ce que j'ai fait, je n'ai jamais eu ce cas de figure en C.
Est-ce que c'est ma configuration de VSCode qui n'ai pas bonne et donc il ne génère pas la bonne ligne de compilation avec tous les fichiers nécessaires ?
Je test le programme par defaut :
Qui me donne :Code:// wxWidgets "Hello World" Program // For compilers that support precompilation, includes "wx/wx.h". #include <wxprec.h> #ifndef WX_PRECOMP #include <wx.h> #endif [...]
Le fichier wxprec.h est dans \msys64\mingw64\include\wx-3.2\wx\ et \msys64\mingw64\include\ fait bien partie du PATHCode:fatal error: wxprec.h: No such file or directory
La programmation est une course entre le développeur, qui s’efforce de produire des applications à l’épreuve des imbéciles, et l’univers qui s’efforce de produire de meilleurs imbéciles... L’univers a une bonne longueur d’avance !!!
Aucun, directement le compilateur ?
Mon fichier c_cpp_properties.json
Code:{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", "\\msys64\\mingw64\\include\\wx-3.2\\**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "compilerPath": "\\msys64\\mingw64\\bin\\gcc.exe", "cStandard": "c17", "cppStandard": "gnu++17", "intelliSenseMode": "windows-gcc-x64" } ], "version": 4 }
Il manque sûrement des options : dans la doc, la commande "wx-config" est mentionnée pour avoir les options. Sinon utilise cmake.
Pour Qt, il faut être fou pour vouloir mettre les options de compilations à la main. Les deux possibilités raisonnables sont qmake ou cmake.
J'ai aucun avis sur la question, je prends ce qu'on me donne. Comme pour l'instant j'ai jamais eu ce type de probleme ... :D
Comment que je fais ? une doc ?
Pour Qt + cmake : https://doc.qt.io/qt-6/cmake-manual.html
Je ne conspue pas VScode que j'utilise actuellement.
Mais ça marcherait mieux sur CLion. Il te fait un CMake par défaut déjà tuné pour Qt.
Hello ! Quelqu'un aurait une petit idée de la font utilisé sur ces screens ?
https://github.com/nvim-flutter/flut...readme-ov-file
Il suffit de demander : https://github.com/nvim-flutter/flut...nvim/issues/77
La police Fira Code: « free monospaced font with programming ligatures », c'est le bien ! Merci.
https://github.com/tonsky/FiraCode
WTF hahaha
J'ai trouvé ça sympa![]()
Produit par Napalm Record, rien que ça.
J'en profite pour relancer d'un vieux clip réalisé par la distribe linux Suze et qui rend les informaticiens cool, même si on est plus sur de l'administration serveur :
Envoyé par scie_sauteuse
Bonjour à tous![]()
Tout d'abord, je commence par retirer d'un coup sec le pansement qui fait mal : je n'ai absolument aucune connaissance ni compétence en programmation. Zero. Nada. Walou.
J'ai en début de semaine, j'ai eu une idée : étant prof d'anglais en collège, j'ai eu l'idée de proposer à mes élèves un Wordle de verbes irréguliers.
Le principe serait (à mes yeux de béotien, je m'excuse par avance si, au contraire, mon idée est plus complexe à mettre en place) assez classique : une grille, un verbe au prétérit à retrouver, avec les lettres bien placées en vert, les lettre mal placée en orange, et les absentes en gris.
J'ai fait comme n'importe qui dans mon cas aurait fait : j'ai demandé à ChatGPT de me coder mon idée![]()
Il m'a appris comment uploader un fichier html sur GitHub pour le mettre en ligne, mais concernant le code en lui-même, il arrive à me sortir une base de travail, mais perfectible, j'ai l'impression.
En effet, je lui ai demandé ceci :
Code:Je suis professeur d'anglais, et je ne sais pas coder. Peux-tu me me coder une page html sur le principe du jeu "Wordle", dans lequel les élèves devraient trouver un verbe irrégulier caché ? Mais peux-tu inclure les contraintes suivantes : > les élèves ont 5 tentatives pour trouver la bonne réponse > la grille de cases est visible > une lettre bien placée sera en vert, une lettre présente dans le mot mais mal placée sera en orange, une lettre absente sera grisée > les tentatives restantes sont représentées visuellement sous forme de lignes > lorsqu'un élève entre une réponse, sa réponse reste affichée, et il écrit sur la ligne du dessous > le verbe à trouver est choisi aléatoirement dans la liste ci-dessous > un score montrant la plus longue série de bonnes réponses est affiché sous la grille Voici la liste des verbes à trouver : beat became began bet bit bled broke brought built burnt bought cast caught chose came cost cut did drew dreamt drank drove ate fell fed felt fought found flew forbade forgot forgave got gave went grew hung had heard hid hit held hurt kept knew learnt left let lost made meant met paid put read rose ran said saw sold sent shot showed shut sang sat slept smelt spoke spent stole swam took taught tore told thought threw understood woke won wrote was were
Il me propose ce code :
Code:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Irregular Verb Wordle</title> <style> body { font-family: Arial, sans-serif; text-align: center; } .grid { display: grid; grid-template-columns: repeat(5, 50px); gap: 5px; justify-content: center; margin-top: 20px; } .cell { width: 50px; height: 50px; border: 2px solid #ccc; font-size: 24px; display: flex; align-items: center; justify-content: center; } .correct { background-color: green; color: white; } .present { background-color: orange; color: white; } .absent { background-color: grey; color: white; } .attempts { margin-top: 10px; } #score { margin-top: 20px; font-size: 18px; } </style> </head> <body> <h1>Irregular Verb Wordle</h1> <div id="grid" class="grid"></div> <input type="text" id="guess" maxlength="5" autofocus> <button onclick="checkGuess()">Submit</button> <div id="attempts" class="attempts"></div> <div id="score">Longest Streak: 0</div> <script> const verbs = ["beat", "became", "began", "bet", "bit", "bled", "broke", "brought", "built", "burnt", "bought", "cast", "caught", "chose", "came", "cost", "cut", "did", "drew", "dreamt", "drank", "drove", "ate", "fell", "fed", "felt", "fought", "found", "flew", "forbade", "forgot", "forgave", "got", "gave", "went", "grew", "hung", "had", "heard", "hid", "hit", "held", "hurt", "kept", "knew", "learnt", "left", "let", "lost", "made", "meant", "met", "paid", "put", "read", "rose", "ran", "said", "saw", "sold", "sent", "shot", "showed", "shut", "sang", "sat", "slept", "smelt", "spoke", "spent", "stole", "swam", "took", "taught", "tore", "told", "thought", "threw", "understood", "woke", "won", "wrote", "was", "were"]; let word = verbs[Math.floor(Math.random() * verbs.length)]; let attempts = 5; let streak = 0; let longestStreak = 0; function createGrid() { let grid = document.getElementById("grid"); grid.innerHTML = ""; for (let i = 0; i < 5 * 5; i++) { let cell = document.createElement("div"); cell.classList.add("cell"); grid.appendChild(cell); } } function checkGuess() { let guess = document.getElementById("guess").value.toLowerCase(); if (guess.length !== word.length || !verbs.includes(guess)) { alert("Invalid word!"); return; } let grid = document.getElementById("grid"); let cells = grid.children; let rowStart = (5 - attempts) * 5; for (let i = 0; i < word.length; i++) { if (guess[i] === word[i]) { cells[rowStart + i].textContent = guess[i]; cells[rowStart + i].classList.add("correct"); } else if (word.includes(guess[i])) { cells[rowStart + i].textContent = guess[i]; cells[rowStart + i].classList.add("present"); } else { cells[rowStart + i].textContent = guess[i]; cells[rowStart + i].classList.add("absent"); } } if (guess === word) { alert("Correct! The word was " + word); streak++; longestStreak = Math.max(streak, longestStreak); document.getElementById("score").textContent = "Longest Streak: " + longestStreak; resetGame(); return; } attempts--; if (attempts === 0) { alert("Game over! The word was " + word); streak = 0; resetGame(); } document.getElementById("guess").value = ""; } function resetGame() { word = verbs[Math.floor(Math.random() * verbs.length)]; attempts = 5; createGrid(); } createGrid(); </script> </body> </html>
Qui, une fois mis en ligne, donne ceci.
Une idée de comment améliorer mon projet, s'il vous plait ?
Ou bien mon ambition est trop grande, et je ferai mieux de laisser ça de côté ?![]()
Merci par avance, et gros bisous, les copains![]()
Il suffit de demander à Expert CPC
Avec la version avec raisonnement d'expert CPC, il arrive à ce résultat : https://jsfiddle.net/hbs2e8v9/
La demande à l'expert et sa réponse : https://forum.canardpc.com/threads/1...1#post14574412
Oh punaise ! Chapeau, et surtout un immense merci
C'est exactement ce que j'avais en tête
Je vais voir si jamais je peux y incorporer une image en arrière plan (quand je serai face a mon ordi), mais c'est vraiment parfait !
J'ai presque honte de ne pas avoir pensé à ExpertCPC pour ça
Merci du fond du coeur, Awake !
C'est cool l'IA quand même pour ça.
L'intelligence artificielle ne remplace pas la compétence humaine, j'en ai bien conscience![]()
Sans l'aide de Awake, mon idée n'aurai pas vue le jour, et je comprend tout à fait les limites ou les cas de conscience que l'utilisation de l'ia pourrait impliquer.
Moi qui n'ai jamais mis les doigts dans une ligne de code, ça me donne envie de m'y intéresser, (tout) petit bout par (tout) petit bout
Ca n'a l'air de rien, mais j'ai réussi à mettre le code en ligne, à changer la couleur de 3 lignes de textes, et ça me rend super content
Prochaines étapes : faire en sorte que l'arrière-plan soit adapté à la taille de l'écran (portrait ou paysage), et ajouter un petit logo en bas de l'écran![]()