Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

102 commentaire(s) de Geff sur des sources sur tout CodeS-SourceS

Le : 11/02/2005 11:00:54
Source : GESTION DE SMILEYS AVEC RICHTEXTBOX
J'ai une méthode peut etre plus simple pour afficher des smileys

Vous avez besoin de ::

1 Form
1 RichTextBox (RTB)
2 PictureBox (Temp_PIC et Smileys_PIC)
1 TextBox (Texte)
1  CommandButton (Command1)

Dans Smileys_Pic se trouve une image qui est un tableau de smileys

Voici le code ::

Public Sub ShowMessage(Msg As String)
Dim Smile As Variant
Dim Key As Byte
Dim SmilePos_CL As New Collection
Dim Cmp As Integer

    'Scan toute la chaine de caractère
    For i = 1 To Len(Msg)
        Key = 0
        'Boucle sur la collection des smileys
        For Each Smile In Smileys_CL
            'Si le smiley courant est détecté
            If Mid(Msg, i, Len(Smile)) = Smile Then
                'Ajoute le type et la position du smiley dans la collection
                SmilePos_CL.Add Key
                SmilePos_CL.Add i - 1 + Cmp
                'Supprime le smiley détecté de la chaine
                Msg = Left(Msg, i - 1) + " " + Right(Msg, Len(Msg) - (i + Len(Smile)))
                Cmp = Cmp + 1
                Exit For
            End If
            Key = Key + 1
        Next
    Next
    'Affiche le texte épuré (sans smileys, ni graphique ni texte) dans le RTB
    RTB.Text = Msg
    'Ajoute les smileys détectés
    For i = 1 To SmilePos_CL.Count Step 2
        PasteSmiley SmilePos_CL(i), SmilePos_CL(i + 1)
    Next
End Sub

Public Sub PasteSmiley(Key As Byte, Pos As Integer)
Dim x as byte
Dim y as byte
    
    'Trouve la position du smiley selon son index
    y = ((Key Mod 10)) * 16
    x = Int(Key / 10) * 16
    'Colle le smiley dans un picturebox temporaire
    Temp_Pic.PaintPicture Smileys_PIC, 0, 0, , , x, y, 16, 16
    PasteImage Temp_Pic, Pos

End Sub

Sub PasteImage(Pic As PictureBox, Pos As Integer)
    
    'Vide le presse papier
    Clipboard.Clear
    'Colle le smiley dans le presse papier
    Clipboard.SetData Pic.Image
    'Position du smiley
    RTB.SelStart = Pos
    'Colle le smiley
    SendMessage RTB.hwnd, WM_PASTE, 0, 0

End Sub

Private Sub Command1_Click()

    ShowMessage Texte.Text

End Sub

Private Sub Form_Load()
    Smileys_CL.Add ":)"
    Smileys_CL.Add ";)"
    Smileys_CL.Add ":p"
    Smileys_CL.Add ":D"
    Smileys_CL.Add "LOL"
    Smileys_CL.Add ":$"
    Smileys_CL.Add ":("
    Smileys_CL.Add ":o"
    Smileys_CL.Add ":O"
    Smileys_CL.Add ">:O"
    Smileys_CL.Add "8)"
End Sub

Voila tout, la taille des smileys et de 16*16 et le tableau de smileys et 10*20 dans mon exemple, mais seul les 11 premiers smileys sont ajoutés dans la collection, vu que c'est pour un exemple, pas besoin de plus!
Voila ma contrib, si vous avez des suggestions...


Le : 01/06/2004 20:27:49
Source : EDITEUR DE TABLATURE (CAPTURE NON CONTRACTUELLE) {~_~}
Pas mal ;) Mais t'es pas le premier , je suis passé avant :D

http://www.vbfrance.com/code.aspx?ID=2337

Y'a 2 ans et demi :)

L'avantage que ma source a sur la tienne c'est le fait de pouvoir ajouter des effets aux notes! Par copntre j'ai pas de métronome!

É Viva la MuzikA :)



Le : 29/05/2004 13:49:54
Source : RESOLUTION DE POLYNÔME DE DEGRÈS N (CAD DE N'IMPORTE QUEL DEGRÈS)
Merci elmeiche, comme je l'ai dis la fonction Resolvepoly est prête masi je ne l'ai pas encore commentée/postée par manque de temps mais ca ne tardera pas, en plus Resolvepoly est beaucoup plus courte et plus rapide!


Le : 29/04/2004 15:23:45
Source : MODELEUR 3D
c'est un début, pense maintenant a l'interface utilisateur, car créer des points, et des lignes comme cela ce n'est pas évident! Faut dire j'avais posté une source dans le meme genre il y'a quelques années tu peux la voir ici ::

http://www.vbfrance.com/code.aspx?ID=956

le meme projet quelques mois plus tard avec un rendu opengl il me semble ::

http://www.vbfrance.com/code.aspx?ID=2182

et une version plus récente avec une interface totalement différente et plus agréable pour l'utilisateur mais qui date aussi (2 ans) ici ::

http://www.vbfrance.com/code.aspx?ID=2407

Ce projet a atteint la version 7b il y'a un an et demi avec interface skinnalbe est pleins d'outils sympa, mais je l'ai pas posté sur le site, car une nouvelle mouture sera développée en C#+OpenGL
enfin voila, peut etre que ces sources peuvent t'apporter quelquechose pour ton projet!

Sinon, fait gaffe au fichier transformation.bas il n'est pas relié correctement dans le fichier .vbp
A l'ajout d'un nouveau point, les anciens points sont affichés 2 fois dont une fois au mauvais endroit
Je pense que tu devrais vraiment te pencher plus sur l'interface utilisateur en lui permettant d'utiliser au maximum la souris (création de formes a la souris (par projection), rotation a la souris etc...)

A part ca dans la conception ca me semble pas mal le code est plutot bien construit (pas toujours commenté :p)

Have A Good Code
++
GEFF


Le : 27/02/2004 16:34:24
Source : MOTEUR 3D SANS DX, ASSEZ SIMPLE
Pour info le format ASC est généré par 3DS Max, si tu veux ouvrir plus de formats que cela je te conseil de voir une source ke j'ai déposé il y'a a peu près 2 ans ici ::

http://www.vbfrance.com/code.aspx?ID=2718

Il me semble que j'avais un léger problème justement avec le format ASC car je ne m'était pas penché assez dessus, c peut etre le moment de rectifier l'erreur maintenant ;) Le rendu se fait avec OpenGL mais est d'assez mauvaise qualité je trouve :p il serais vraiment temps ke je mette a jour cette source :p

Have a good Breakfast
++
GEFF


Le : 18/01/2004 18:14:12
Source : RESOLUTION DE POLYNÔME DE DEGRÈS N (CAD DE N'IMPORTE QUEL DEGRÈS)
Tout a fait, Newton converge bien plus vite en théorie (il faut quand meme effectuer un scan de la fonction dans l'intervalle de recherche) D'ailleurs je vais poster d'ici quelques temps la Fonction ResolvePolyNewton() :D
Je pense que cette facon de trouver les racines vaut le coup d'etre vu, si j'ai le temps je ferais un benchmark entre les 2 fonctions!


Le : 14/01/2004 23:41:02
Source : LIRE UNE TABLATURE SUR LE NET
C marrant comme soft, ca evite de se coltiner le browser
Pour ceux que ca interesse j'ai poster une source y'a peut etre 2 ans ici
qui permettait d'écrire et de lire des tablatures de guitare visuellement + export en ascii , ca vaut pas PowerTab ou Guitar Pro, mais c déja bien sympa ::
http://www.vbfrance.com/code.aspx?ID=2337
GEFF


Le : 06/01/2004 22:15:05
Source : 3D ENGINE SOFTWARE (WORLD + OBJETS)
Quel joli code :D
Voila le fameux moteur 3D, niveau code c'est vraiment pas mal, et ce qui est encore plus appréciable c'est qu'il est aéré et joliment commenté :D

Niveau rapidité ce n'est pas extraordinaire par contre, forcément VB réagit plutot mal quand on lui demande d'effectuer beaucoup de calcul! Quoique le plus long généralement en VB c'est l'affichage pure, le fait de basculer le buffer prends un temps énorme.
Je n'ai pas encore regardé le code attentivement, je ne sais pas si tu as implanté un système d'octree ou de BSP (peut etre trop gourmand pour VB en fait) car ca te permettrait de booster les calculs, et ca rajouterais surtout une fonctionalité très util a ton moteur!
Autrement rien a dire l'interface est très pro, tu as fait vraiment du bon boulot le code m'a l'air clair, RISPEKTE ;)
Je remarque que tu utilise toujours le LWO ;) Moi je me suis basé sur le format OBJ comme tu le sais.
Bien evidement je veux bien te filer un coup de main pour les parties Maths qui font défaut, mail moi en expliquant le pb si tu le souhaites :: je te redonne mon adresse au cas ou :: geffd@free.fr
PS : au fait c sympa de m'avoir mis dans tes remerciements spéciaux ;)



Le : 06/01/2004 03:55:32
Source : DESSIN 3D : RAY TRACING
Arf je vais passer pour un trouble fête mais bon :p
La qualité du rendu est là, mais la rapidité par compte absolument pas! Bien evidement cela viens en grande partie de notre langage adorée ( VB ) Cependant tu pourrais accélérer le rendu assez simplement par exemple en englobant tous tes objets dans des boites et en testant l'interesection entre le rayon et la boite, si le test est positif tu test l'intersection avec l'objet! Pour l'instant cela ne vaut pas le coup car les objets proposé pour l'instant ne sont pas très complexes, mais peut etre que cela pourras te servir plus tard!

J'ai moi meme développé un Raytracer cet été en VB.net puis C# histoire de m'initier a la teknologie .net, un exemple ::
http://geffd.free.fr/Coding/Ray6.jpg
Comme tu le vois j'ai ajouté des textures procédurales (Perlin Noise) qui agissent comme une texture acide, c plutot sympa comme effet et pas très compliqué à implanter, tu peux ainsi créer des toutes pièces des texture type Bois, Marbre, Nuages, Bruit etc...
Tu pourrais rajouter les modèles facettés aussi
Ce qui fait un très bon rendu Raytracing (proche de la réalité) c'est la radiosité, renseigne toi a propos du photon mapping, en gros pour faire simple chaque lumière envoi une série de photons et ceux-ci se réfléchissent sur les objets de la scène et se répartissent un peu partout dans la scène, ensuite au moment du Raytracing, tu regardes la concentration de photons a l'endroit de l'intersection et cela te donne l'illumination en ce point, ca te permet d'avoir un effet moins net au niveau des ombres donc plus réel, les objets réfractants permettent aussi de créer des tâches caustiques (du plus bel effet!) et bien sur ta scène dispose ainsi d'un systeme d'éclairage très proche de la réalité physique! Bien entendu il vaut mieux passer à un autre langage que le VB pour ce genre de chose!

J'ai ajouté un autre type d'optimisation a mon moteur, je pense que ca pourrais booster carrément ton Raytracer si tu décides de l'implanter, voila l'idée ::

Chaqun des objets de la scène dispose d'une AABB (Axis Aligned Bounding Box) ce sont les boites dont j'ai parlé tout a l'heure, tu calcules le projeté de ces boites sur l'écran de la caméra (normalement le foyer de la caméra est le foyer de chaque rayon et l'écran de la caméra est quant à lui la surface a travers laquelle on voit l'image) (je sais pas si c très clair :p) donc après avoir calculé le projeté de ces points (qui se situent donc tous dans le meme plan) tu calcules le rectangle englobant ces points, et hop! magie plus besoin de lancer le rayon pour chaque pixel de ton image! Tu lances le rayon unikement si au moins un objet est sur sa route (en gros si le pixel est contenu d'en au moins un rectangle)! Ensuite si le rayon est lancé tu ne calcules alors que l'intersection entre le rayon et la liste d'objets dont le pixel appartient au rectangle projeté

Voila pour ce post un peu long! sur ce bonne continuation, vé me coucher :D
GEFF


Le : 30/10/2003 20:53:07
Source : GÉNÉRATEUR ALÉATOIRE SANS RND - AVEC GETTICKCOUNT
J'ai un piti générateur de nombre aléatoire (entre -1 et 1) je l'ai codé à l'occasion d'un générateur de texture procédurale voila l'exemple en VB.Net ::

    Function Noise(ByVal X As Double) As Double
        Return 1.0 - ((X * (X * X * 15731 + 789221) + 1376312589) And 2147483647) / 1073741824.0
    End Function

Tous ces nombres étranges sont premiers!



1 2 3 4 5 6 7 8 9 10


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,466 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.