Page 1 sur 3

PureBasic v4.00 - Beta 2

Publié : jeu. 09/févr./2006 18:35
par Fred
Salut a tous,

Elle est disponible sur vos comptes personnels et devrait corriger tous les bugs qui ont été marqués comme 'corrigés' sur ce forum, comme sur le forum anglais. Merci pour votre aide, ca facilite beaucoup la phase de stabilisation de cette version majeure.

L'equipe Fantaisie Software.

Publié : jeu. 09/févr./2006 18:38
par CameleonTH
Merci Fred pour cette nouvelle beta.
Continu comme sa tu est sur la bonne voie . :D

Publié : jeu. 09/févr./2006 18:44
par Coolman
Bravo :)

Publié : jeu. 09/févr./2006 19:13
par comtois
allez zou , en download :)

Publié : jeu. 09/févr./2006 19:17
par LeCyb
Super cool, merci pour tout !

Publié : jeu. 09/févr./2006 19:32
par Dorian
Merci.

Bon je sais pas si sa date d'avant mais c'est simpa d'avoir mis des sources C pour servir d'exemple si on veut en faire en c ^^

Pb de 3D : bug ?

Publié : jeu. 09/févr./2006 20:42
par Golfy
Bonjour,

j'essaie PB4 beta 1 sur mon PC portable :
j'ouvre le fichier billboard.pb, compile & run (icône engrenage seul) et...
DLL introuvable : La bibliothèque de liaisons dynamique stlport_vc646.dll est introuvable sur le chemin spécifié c:\Program files\PB4\compilers; {les répertoires Windows, etc.}
Je tourne sur Windows 2000 SP4 (carte graphique S3 pour HP Omnibook XE3 P3/700Mhz)

Une idée :?:

en tout cas, voici où trouver la DLL, j'essaye ce soir à la maison : http://fo0z.whiteplasma.com/public/file ... _vc646.dll

Publié : jeu. 09/févr./2006 20:46
par djes

Publié : jeu. 09/févr./2006 20:53
par Golfy
Merci djes : Google est mon ami mais j'ai cherché un peu loin :)

Publié : jeu. 09/févr./2006 20:59
par comtois
pour ceux qui sont curieux de voir ce que donne ODE dans PureBasic , Fred a fait une petite démo sympa :

http://www.purebasic.com/odetest3d.zip

Publié : jeu. 09/févr./2006 21:04
par Le psychopathe
C'est partis download activé ! :D
Fred tu pourrais mettre plus de commande dans network stp car c'est quand même costaud. Du style un téléchargement de fichier avec call back sans bloquer le programme et avec barre de progression.
Du coup je montre un code server client mais j'ai un blem :
Quand le server envoit un message le client reçoit pas alors que l'inverse fonctione !


Server :

Code : Tout sélectionner

InitNetwork() 

Eol.s = Chr(13) + Chr(10) 
SEvent.l 
DataLength.l = 2000 

*Buffer = AllocateMemory(2000) 

Global ClientID.l 
Global DataLength 
Global ThID.l 
Global Eol 
Global *Buffer 

Procedure SReceiveData(value.b) 
  Repeat 
    DataLength = ReceiveNetworkData(ClientID, *Buffer, 2000) 
  Until DataLength <> 2000 
  MessageRequester("Server...", "Vous avez ressu un message : " + Eol + PeekS(*Buffer), 0) 
  KillThread(ThID) 
EndProcedure 

If CreateNetworkServer(120) 
  OpenWindow(0, 0, 0, 140, 90, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget, "Server") 
  CreateGadgetList(WindowID(0)) 
    ButtonGadget(0, 10, 10, 120, 30, "Envoier un fichier") 
    ButtonGadget(1, 10, 50, 120, 30, "Envoier un message") 

  Repeat 
  
    Select WindowEvent() 
      Case #PB_Event_CloseWindow 
        End 
        
      Case #PB_Event_Gadget 
        Select EventGadgetID() 
          Case 0 
            If ClientID <> 0 
              SendNetworkFile(ClientID, OpenFileRequester("Envoi d'un fichier : ", "", "Fichier text | *.txt" , 0)) 
            Else 
              MessageRequester("Server...", "Aucun client n'est connecté.", 0) 
            EndIf 
          
          Case 1 
            If ClientID <> 0 
              SendNetworkString(ClientID, InputRequester("Envoi d'un message", "Ecrivez votre message : ", "")) 
            Else 
              MessageRequester("Server...", "Aucun client n'est connecté.", 0) 
            EndIf 
            
        EndSelect 
    EndSelect 
    
    SEvent = NetworkServerEvent() 
    If SEvent 
      ClientID = NetworkClientID() 
      
      Select SEvent 
      
        Case 1 
          MessageRequester("Server...", "Un client s'est connecté.", 0) 
        
        Case 2    
          FreeMemory(0) 
          *Buffer = AllocateMemory(2000) 
          DataLength = ReceiveNetworkData(ClientID, *Buffer, 2000) 
          ThID = CreateThread(@SReceiveData(), #Null) 
            
        Case 3 
          ReceiveNetworkFile(ClientID, SaveFileRequester("Envoi d'un fichier : ", "", "Fichier text | *.txt;" , 1)) 
        
        Case 4 
          MessageRequester("Server...", "Un client s'est déconnecté.", 0) 
      
      EndSelect 
    EndIf 
  
  ForEver 
Else 
  MessageRequester("Erreur...", "Impossible de créer le server.", 0) 
EndIf 


client:

Code : Tout sélectionner

InitNetwork() 

Eol.s = Chr(13) + Chr(10) 
DataLength.l = 2000 
CEvent.l 

*Buffer = AllocateMemory(2000) 

Global ConID.l 
Global DataLength 
Global ThID.l 
Global Eol 
Global *Buffer 

Procedure CReceiveData(value.b) 
  Repeat 
    DataLength = ReceiveNetworkData(ConID, *Buffer, 2000) 
  Until DataLength <> 2000 
  MessageRequester("Client...", "Vous avez ressu un message : " + Eol + PeekS(*Buffer), 0) 
  KillThread(ThID) 
EndProcedure 

ConID = OpenNetworkConnection("000.000.0.0", 120) 
If ConID 
  OpenWindow(0, 150, 0, 140, 90, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget, "Client") 
  CreateGadgetList(WindowID(0)) 
    ButtonGadget(0, 10, 10, 120, 30, "Envoier un fichier") 
    ButtonGadget(1, 10, 50, 120, 30, "Envoier un message") 
  
  Repeat 
  
    Select WindowEvent() 
      Case #PB_Event_CloseWindow 
        End 
      Case #PB_Event_Gadget 
        Select EventGadgetID() 
          Case 0 
            SendNetworkFile(ConID, OpenFileRequester("Envoi d'un fichier : ", "", "Fichier text | *.txt" , 0)) 
            
          Case 1 
            SendNetworkString(ConID, InputRequester("Envoi d'un message", "Ecrivez votre message : ", "")) 
            
        EndSelect 
    EndSelect 
      
    CEvent = NetworkClientEvent(ConID) 
    
    If CEvent  
      Select CEventa 
        
        Case 2 
          FreeMemory(0) 
          *Buffer = AllocateMemory(2000) 
          DataLength = ReceiveNetworkData(ConID, *Buffer, 2000) 
          ThID = CreateThread(@CReceiveData(), #Null) 
          
        Case 3 
          ReceiveNetworkFile(ConID, SaveFileRequester("Envoi d'un fichier : ", "", "Fichier text | *.txt;" , 1)) 
      
      EndSelect 
    EndIf 
  
  ForEver 
Else 
  MessageRequester("Erreur...", "Impossible de se connecter au server.", 0) 
EndIf 

Publié : jeu. 09/févr./2006 22:36
par Backup
pourquoi la dll : stlport_vc646.dll n'est elle pas inclus dans l'archive ? 8O

Publié : jeu. 09/févr./2006 23:28
par bernard13
Merci Fred

ça sent la version finale dans pas longtemps

Publié : ven. 10/févr./2006 2:47
par Fred
Dobro a écrit :pourquoi la dll : stlport_vc646.dll n'est elle pas inclus dans l'archive ? 8O
Dans la beta 2 y'a plus besoin, c'est tout en un ;).

Publié : ven. 10/févr./2006 9:35
par Niffo
Cool, déjà la Beta 2 ! :) Fred, t'es un chef !