Re: Mon jeu : Activité suspecte :
Publié : jeu. 12/nov./2009 13:14
Ce dernier code fait apparaitre très rapidement les scores dans mon debugger 
Bon je crois que l'essayer c'est l'adoptéAr-S a écrit :Ce dernier code fait apparaitre très rapidement les scores dans mon debugger
C:\Users\jj\AppData\Local\Temp\EBQTmpData.txt
http://www.thyphoon.com/EBQ/score.php?Act=HighScore
Yann LEBRUN|10270
carine|5490
laudriec cyrille|2130
emeline|1400
HAMELINE|930
Laure|710
Laure|710
Laure LEBRUN|570
Micke|480
ars|350
10
Yann LEBRUN 10270
carine 5490
laudriec cyrille 2130
emeline 1400
HAMELINE 930
Laure 710
Laure 710
Laure LEBRUN 570
Micke 480
ars 350
Celui fonctionne instantanément chez moi en PB 4.5 x32 sous 7x64Thyphoon a écrit :Code : Tout sélectionner
Procedure.s ReceiveHTTPData(url$,Filename$="") WinID=OpenWindow(#PB_Any, 0, 0, 600, 300, "WebGadget", #PB_Window_Invisible) If WinID GadgetId=WebGadget(#PB_Any, 10, 10, 580, 280, Url$) Debug Url$ ;SetGadgetText(0,Url$): Repeat Event = WaitWindowEvent() Until Event=#PB_Event_Gadget And EventGadget()=GadgetId And EventType()=#PB_EventType_DownloadProgress And GetGadgetAttribute(GadgetId,#PB_Web_Progress)=10000 var.s=GetGadgetItemText(GadgetId, #PB_Web_HtmlCode) CloseWindow(WinID) FreeGadget(GadgetId) ProcedureReturn var EndIf EndProcedure Structure Game HighScoreMutex.i EndStructure Global Game.Game Structure HighScore Name.s Score.s Rank.l EndStructure Global NewList HighScore.HighScore() Procedure ReadHighScore(*l) var.s="Act=HighScore" File.s=GetTemporaryDirectory()+"EBQTmpData.txt" Debug File Result.s = ReceiveHTTPData("http://www.thyphoon.com/EBQ/score.php?"+var,File) Debug Result ;If DownloadToMem ( "http://www.thyphoon.com/EBQ/score.php?"+Var, @Result, 63000 ) ;n=CountString(Result,Chr(13),1)-1 ;Result=Left(Result,n) ;If Trim(Result)="UPDATE" ; MessageRequester("Information", "Cette version est obsolète !", #PB_MessageRequester_Ok) ; End ; EndIf ;EndIf n=CountString(Result,Chr(10)) Debug n LockMutex(Game\HighScoreMutex) ClearList(HighScore()) For z=1 To n AddElement(HighScore()) line.s=StringField(Result, z, Chr(10)) HighScore()\Name=StringField(line, 1, "|") HighScore()\Score=StringField(line, 2, "|") Next UnlockMutex(Game\HighScoreMutex) EndProcedure InitNetwork() Game\HighScoreMutex=CreateMutex() ReadHighScore(0) ForEach HighScore() Debug HighScore()\Name+" "+HighScore()\Score Next
merci beaucoup ! le problème maintenant est la compatibilité avec linux ! :oPAr-S a écrit : Celui fonctionne instantanément chez moi en PB 4.5 x32 sous 7x64
reste a afficher les résultats par ordre décroissant de score.
Du coup il en est ou le quizz, ça fait un baille que j'y repense.
pas de souci ! je regarde ça ce soir et je t’envoie ça !Ar-S a écrit :Cool![]()
D'ailleurs si tu peux me renvoyer les questions/reponses que j'avais créé ce serait cool, j'aurai un template pour en faire d'autres ^^
Code : Tout sélectionner
Structure Game
HighScoreMutex.i
EndStructure
Global Game.Game
Structure HighScore
Name.s
Score.s
Rank.l
EndStructure
Global NewList HighScore.HighScore()
ProcedureDLL.s Url2Text2(Url.s, OpenType.b,ProxyAndPort.s)
;/ Author : Pille
isLoop.b=1
INET_RELOAD.l = $80000000
hInet.l=0
hURL.l=0
Bytes.l=0
Buffer.s= Space (2048 )
RES.s= ""
hInet = InternetOpen_ ( "" , OpenType, ProxyAndPort, "" , 0)
hURL = InternetOpenUrl_ (hInet, Url, #Null , 0, INET_RELOAD, 0)
Repeat
InternetReadFile_ (hURL,@Buffer, Len (Buffer), @Bytes)
If Bytes = 0
isLoop=0
Else
RES = RES + Left (Buffer, Bytes)
EndIf
Until isLoop=0
InternetCloseHandle_ (hURL)
InternetCloseHandle_ (hInet)
ProcedureReturn RES
EndProcedure
ProcedureDLL.s Url2Text(Url.s)
ProcedureReturn Url2Text2(Url,1, "" )
EndProcedure
Procedure LitScore(*l)
SourceMaj$=Url2Text("http://www.thyphoon.com/EBQ/score.php?Act=HighScore")
n=CountString(SourceMaj$,Chr(10))
LockMutex(Game\HighScoreMutex)
ClearList(HighScore())
For z=1 To n
AddElement(HighScore())
line.s=StringField(SourceMaj$, z, Chr(10))
HighScore()\Name=StringField(line, 1, "|")
HighScore()\Score=StringField(line, 2, "|")
Next
UnlockMutex(Game\HighScoreMutex)
EndProcedure
Game\HighScoreMutex=CreateMutex()
LitScore(0)
ForEach HighScore()
Debug HighScore()\Name+" "+HighScore()\Score
Next