Page 1 sur 2

Enregistrer des informations sur le net avec PB ?

Publié : sam. 03/juin/2017 3:14
par Shadow
Salut,

Comment je peut faire pour enregistrer des information sur internet avec PB...
Dis comme ça on comprends rien mais soyez patient ça va venir !

Imaginons un programme simple:

Une fenêtre avec 5 champs de type string:

Champs 1: Nom
Champs 2: Prénom
Champs 3: Age
Champs 4: Taille
Champs 5: Pois

Une fois avoir remplie ses champs je clique sur le bouton valider, les information son enregistrer sur internet.

Ma démarche des de faire peut être un programme ou un jeu simple et enregistrer les information
sur internet ou personne n’y à accès, imaginons une sauvegarde de jeu par exemple.

Je dois pouvoir modifier les information quand je le souhaite.
C'est tout nouveau et je sais pas comment je peu faire ça...

Merci d'avance :)

Re: Enregistrer des informations sur le net avec PB ?

Publié : sam. 03/juin/2017 3:22
par Shadow
Ok, alors PB offre bien cette possibilité :D
J'ai essayé l'exemple:

Créer un serveur (Comment ça fonctionne ?, quel espace est disponible ?, ou sont stoker les informations ?, etc)

Code : Tout sélectionner

;
; ------------------------------------------------------------
;
;   PureBasic - Network (Server) example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 6832
*Buffer = AllocateMemory(1000)

If CreateNetworkServer(0, Port)

  MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
  
  Repeat
      
    SEvent = NetworkServerEvent()
  
    If SEvent
    
      ClientID = EventClient()
  
      Select SEvent
      
        Case #PB_NetworkEvent_Connect
          MessageRequester("PureBasic - Server", "A new client has connected !", 0)
  
        Case #PB_NetworkEvent_Data
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
          ReceiveNetworkData(ClientID, *Buffer, 1000)
          MessageRequester("Info", "String: "+PeekS(*Buffer, -1, #PB_UTF8), 0)
  
        Case #PB_NetworkEvent_Disconnect
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has closed the connection...", 0)
          Quit = 1
    
      EndSelect
    EndIf
    
  Until Quit = 1 
  
  MessageRequester("PureBasic - Server", "Click to quit the server.", 0)
  
  CloseNetworkServer(0)
Else
  MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf

  
End   
Ensuite, une fois le serveur créé, j'envoie des donnée dessus avec ce deuxième code
ensuite je reviens au premier pour voir si les données ont bien été reçus:

Code : Tout sélectionner

;
; ------------------------------------------------------------
;
;   PureBasic - Network (Client) example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 6832

ConnectionID = OpenNetworkConnection("127.0.0.1", Port)
If ConnectionID
  MessageRequester("PureBasic - Client", "Client connected to server...", 0)
  
  SendNetworkString(ConnectionID, "An hello from a client !!! :-)", #PB_UTF8)
    
  MessageRequester("PureBasic - Client", "A string has been sent to the server, please check it before quit...", 0)
  
  CloseNetworkConnection(ConnectionID)
Else
  MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
  
End 
Tous fonctionne bien mais comment ça fonctionne ? :)

En faite si je comprends bien en gros la chose, je créer un espèce de tunnel ou pond entre deux point
Tans que le pond ou le tunnel est là, les deux peuvent échanger des information, sinon peut plus.

Emplacement A est l'emplacement Source, c'est là ou sont enregistrer les données, peut envoyer et recevoir, c'est de la que par le pond ou le tunnel.
Cet emplacement est part exemple un ordinateur ou tous autre appareille pouvant stoker des données comme un serveur par exemple...
Cet emplacement ne dois jamais être formaté sous peine de perdre définitivement les données (Faut les sauvegarder avant ailleurs ou sur un autre emplacement).

Emplacement B, C, D, E, F, etc etc, son les emplacements Cibles (Ordinateur par exemple), c'est là ou sont envoyé les données, peut aussi envoyer et recevoir, peut aussi
enregistrer des données aussi mais temporairement tans qu'elle ne sont pas effacer (Formatage ou autres).
C'est de la que par le pond ou le tunnel.
Ce pond ou tunnel est toujours actif tans que le serveur est en marche, sinon et bien, il n'existe plus tans que celui-ci n'est pas ok (Chemin inexistant).

Voilà en gros j'ai compris ça, ça nécessite donc un appareil Source...

Ya pas ça sur internet, des serveur gratuit ?

Je sens que ça va m'éclater, en gros je peut créer un serveur, une tablette par exemple ou un ordinateur portable ^^
Tans qu'il est en marche, je peut échanger avec sinon peu plus !

Re: Enregistrer des informations sur le net avec PB ?

Publié : sam. 03/juin/2017 7:34
par Zorro
je ne comprends pas la question ....

a moins que ce soit une digression personnel , dans ce cas, pourquoi utiliser le forum pour ça
et ne pas ecrire dans ton notePad , plutot que d'inonder le forum de messages sans but ...?

tu fais les questions et les réponses .. pourquoi faire ?

au lieu d'editer ton premier message, tu preferes en creer plusieurs d'affilé ..?

mais je pense précher dans le vide intersidéral ...

Re: Enregistrer des informations sur le net avec PB ?

Publié : sam. 03/juin/2017 12:29
par Ar-S
- Je t'invite à te documenté via GOOGLE sur les mots serveurs et clients.
- Sur internet, tu peux avoir des données stockable dans un "serveur" que tu loues. Mais ça ne sera pas en PB
- Tu peux en revanche héberger des fichiers sur une "espace" privé. On a déjà parlé de free qui propose un espace de stockage gratuit.
Tu accèdes à cet espace via FTP (file transfert protocol). Tu peux donc y héberger un simple fichier texte ou seraient stockées les infos entrées dans les champs de ton prog PB. C'est une solution pour les trucs simple et c'est la plus simple des solutions.
- Tu dois aussi pouvoir jouer avec de la base SQL mais là je laisse la place aux connaisseurs pour te répondre. Je ne veux pas te dire de conneries.

Mais si tu n'as aucun espace dédié sur le net, commence par là... Parce qu'en PB, si tu souhaites utiliser l'exemple serveur/client, tu dois avoir un PC constamment ouvert avec un IP fixe et tes clients devront avoir un IP fixe aussi...

Re: Enregistrer des informations sur le net avec PB ?

Publié : sam. 03/juin/2017 15:50
par Tonio
achete Spiderbasic

Re: Enregistrer des informations sur le net avec PB ?

Publié : sam. 03/juin/2017 16:32
par celtic88
tu veux faire quelque chose comme ça avec pb?

Click Button on Webpage via VBScript:

Code : Tout sélectionner

Dim objWshShell,IE,searchStr

Set objWshShell = Wscript.CreateObject("Wscript.Shell")
Set IE = CreateObject("InternetExplorer.Application")
searchStr = InputBox("Search")

With IE
  .Visible = True
  .Navigate "http://www.google.com"

'Wait for Browser
  Do While .Busy
    WScript.Sleep 100
  Loop
  .Document.getElementsByName("q").Item(0).Value = searchStr
  .Document.getElementsByName("btnK").Item(0).Click
End With

Re: Enregistrer des informations sur le net avec PB ?

Publié : sam. 03/juin/2017 21:49
par Shadow
Ok Ars merci :)

@celtic88, Marche pas.

Re: Enregistrer des informations sur le net avec PB ?

Publié : sam. 03/juin/2017 22:14
par Shadow
J'ai trouvé ça mais peut pas y accéder, car malwarebyte dit que ya un danger...
http://www.toile-libre.org/

Re: Enregistrer des informations sur le net avec PB ?

Publié : dim. 04/juin/2017 10:53
par falsam
Shadow a écrit :@celtic88, Marche pas.
Si tu as compilé avec PureBasic c'est normal :mrgreen:

Re: Enregistrer des informations sur le net avec PB ?

Publié : dim. 04/juin/2017 19:22
par Kwai chang caine
@Shadow

Marche pas, marche pas....si tu lisais ce qu'on te donne toi le roi du VB ...tu sentirais pas comme un relent de CROSOFT dans

Code : Tout sélectionner

CreateObject("InternetExplorer.Application")
Donc tu ouvre un fichier "nouveau fichier txt" vide
Tu copie/colle le code de MAITRE celtic dedans
Tu le renommes "Marche pas, marche pas.VBS"
Et tu auras une recherche dans "GOGOLE"

Re: Enregistrer des informations sur le net avec PB ?

Publié : mar. 06/juin/2017 0:45
par celtic88
oui tu a raison :(
bon je me corrige :oops: , voilà un code PB pour connecter a facebook automatiquement,et j'espère que ça que tu cherche :wink:

facebook bot :twisted:

Code : Tout sélectionner

DataSection 
  IID_IHTMLElement: ; {3050F1FF-98B5-11CF-BB82-00AA00BDCE0B} 
  Data.l $3050F1FF 
  Data.w $98B5, $11CF 
  Data.b $BB, $82, $00, $AA, $00, $BD, $CE, $0B 
  IID_IHTMLDocument2: ; {332C4425-26CB-11D0-B483-00C04FD90119} 
  Data.l $332C4425 
  Data.w $26CB, $11D0 
  Data.b $B4, $83, $00, $C0, $4F, $D9, $01, $19 
  IID_IHTMLInputTextElement:;{3050F2A6-98B5-11CF-BB82-00AA00BDCE0B}
  Data.l  $3050F2A6
  Data.w  $98B5,$11CF
  Data.b  $BB,$82,$00,$AA,$00,$BD,$CE,$0B
  IID_IHTMLInputButtonElement:;{0x3050F2B2, 0x98B5, 0x11CF,{ 0xBB, 0x82, 0x00,0xAA, 0x00, 0xBD,0xCE, 0x0B} }
  Data.l  $3050F2B2
  Data.w  $98B5,$11CF
  Data.b  $BB,$82,$00,$AA,$00,$BD,$CE,$0B
EndDataSection 

facebookUser$="purebasic"
facebookPass$="yourpass"

OpenWindow(0,0,0,640,480,"Test",#PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
WebGadget(0,0,0,640,480, "") 
WebBrowser.IWebBrowser2 = GetWindowLong_(GadgetID(0), #GWL_USERDATA) 
WebBrowser\Navigate("https://www.facebook.com/",@"",@"",@"",@"")

READYSTATE_COMPLETE.l
Repeat
  WindowEvent()
  WebBrowser\get_ReadyState(@READYSTATE_COMPLETE)
Until READYSTATE_COMPLETE=4
idh.IDispatch 
If WebBrowser\get_Document(@idh)=0
  Ihtmldocument.IHTMLDocument2
  If idh\QueryInterface(?IID_IHTMLDocument2,@Ihtmldocument)=0
    pElement.IHTMLElementCollection
    If Ihtmldocument\get_all(@pElement)=0
      NumItems.l
      pElement\get_length(@NumItems)
      varName.VARIANT
      varIndex.VARIANT
      For y=0 To NumItems-1
        idh2.IDispatch 
        varName\vt = #VT_I4;
        varName\lVal = y
        varIndex\vt = #VT_I4;
        varIndex\lVal = 1   ;
        If pElement\item(varName,varIndex,@idh2)=0
          pItem.IHTMLElement 
          If idh2\QueryInterface(?IID_IHTMLElement, @pItem)=0
            Bs.l
            pItem\get_tagName(@Bs)
            pUser.IHTMLInputTextElement
            If idh2\QueryInterface(?IID_IHTMLInputTextElement,@pUser)=0
              pUser\get_name(@Bs)
;                   Debug PeekS(Bs, -1, #PB_Unicode)
              If PeekS(Bs, -1, #PB_Unicode) = "email"
                pUser\put_value(facebookUser$)
              ElseIf PeekS(Bs, -1, #PB_Unicode) = "pass"
                pUser\put_value(facebookPass$)
              EndIf
              idh2\Release()
            Else
              pButton.IHTMLInputButtonElement
              If idh2\QueryInterface(?IID_IHTMLInputButtonElement,@pButton)=0
                pForm.IHTMLFormElement
                If pButton\get_form(@pForm)=0
                  pForm\submit()
                  pForm\Release()
                EndIf
                pButton\Release()
              EndIf
            EndIf
            pItem\Release()
          EndIf
          idh2\Release()
        EndIf
      Next
      pElement\Release()
    EndIf
    Ihtmldocument\Release()
  EndIf
  idh\Release()
EndIf

Repeat 
Until WaitWindowEvent() = #PB_Event_CloseWindow 
WebBrowser\Release()


Re: Enregistrer des informations sur le net avec PB ?

Publié : mar. 06/juin/2017 5:59
par Shadow
Merci celtic88 mais non je crois pas se soit ça que je veux :)

Re: Enregistrer des informations sur le net avec PB ?

Publié : mar. 06/juin/2017 10:58
par falsam
@Celtic : Je crois que tu as fait du hors sujet :mrgreen:

Ce que Shadow souhaite faire
Shadow a écrit :Ma démarche des de faire peut être un programme ou un jeu simple et enregistrer les information sur internet ou personne n’y à accès, imaginons une sauvegarde de jeu par exemple.
Je pense que Shadow souhaite créer son environnement client-serveur exclusivement avec PureBasic.

- Un serveur développé avec PureBasic et hébergé chez soi. La contrainte est d'avoir un ordinateur actif 24/24 avec une adresse ip fixe.

- Un client sous la forme d'un jeu par exemple codé avec PureBasic qui va communiquer avec le serveur.
Shadow a écrit :C'est tout nouveau et je sais pas comment je peu faire ça...
Que répondre ......

Re: Enregistrer des informations sur le net avec PB ?

Publié : mar. 06/juin/2017 12:34
par GallyHC
bonjour,

Je penses que le shadow veut pouvoir envoyer des informations via PB sur des base de données sur un site "x" déjà soit il a des accès a ce site (contrôle) et dans ce cas le plus simple c'est a la fois du code PB et des scripts PHP.

On envois des informations vers un script en prenant compte que celui-ci fera que ce qu'on lui demande. je ne penses pas que ce soit a la porte de Shadow, car il faut faire le code PB et les script php. perso je l'ai fait cela et n'est pas simple, est même cela peut être très complexe.

Voila mon avis,
Cordialement,
GallyHC

Re: Enregistrer des informations sur le net avec PB ?

Publié : mar. 06/juin/2017 13:23
par Shadow
Merci, oui Falsam c'est ça, je pense que avec se que j'ai vue avec PB je devrais m'en sortir c'est bon :)
Je pense pas se soit compliquer, j'ai vue comment ça fonctionne vaguement, c'est pas compliqué :)