Page 1 sur 1
[RESOLU]le XML et le Purebasic .. lire variable
Publié : mar. 21/sept./2010 18:25
par 3d0uard0
Bonjour à tous !
Je vous explique : J'ai un fichier launcher.xml et j'aimerai lire ce que à dedans :
Code : Tout sélectionner
name_serveur$ = "Nom du serveur"
rate_xp$ = "Rate d'xp"
rate_ka$ = "rate de kamas"
rate_drop$ = "Rate de drop"
J'aimerai récupérer les variables qu'il y a dedans pour les utiliser dans mon programme. exemple :
Si cela est possible de le faire avec un fichier .txt ou autre cela me vas aussi !!
Merci d'avance pour vos réponses !! Bonne soirée =)
Re: le XML et le Purebasic .... Merci d'avance pour vos répo
Publié : mar. 21/sept./2010 18:42
par venom
Salut 3d0uard0,
voici le code fournis pas la doc de purebasic F1 regarde deja ça si sa peut t'avancer :
Code : Tout sélectionner
#Window = 0
#TreeGadget = 0
#XML = 0
; This procedure fills our TreeGadget, by adding the current node
; and then exploring all childnodes by recursively calling itself.
;
Procedure FillTree(*CurrentNode, CurrentSublevel)
; Ignore anything except normal nodes. See the manual for
; XMLNodeType() for an explanation of the other node types.
;
If XMLNodeType(*CurrentNode) = #PB_XML_Normal
; Add this node to the tree. Add name and attributes
;
Text$ = GetXMLNodeName(*CurrentNode) + " (Attributes: "
If ExamineXMLAttributes(*CurrentNode)
While NextXMLAttribute(*CurrentNode)
Text$ + XMLAttributeName(*CurrentNode) + "=" + Chr(34) + XMLAttributeValue(*CurrentNode) + Chr(34) + " "
Wend
EndIf
Text$ + ")"
AddGadgetItem(#TreeGadget, -1, Text$, 0, CurrentSublevel)
; Now get the first child node (if any)
;
*ChildNode = ChildXMLNode(*CurrentNode)
; Loop through all available child nodes and call this procedure again
;
While *ChildNode <> 0
FillTree(*ChildNode, CurrentSublevel + 1)
*ChildNode = NextXMLNode(*ChildNode)
Wend
EndIf
EndProcedure
FileName$ = OpenFileRequester("Choose XML file...", "", "XML files (*.xml)|*.xml|All files (*.*)|*.*", 0)
If FileName$ <> ""
If LoadXML(#XML, FileName$)
; Note:
; The LoadXML() succeed if the file could be read. This does not mean that
; there was no error in the XML though. To check this, XMLStatus() can be
; used.
;
; Display an error message if there was a markup error
;
If XMLStatus(#XML) <> #PB_XML_Success
Message$ = "Error in the XML file:" + Chr(13)
Message$ + "Message: " + XMLError(#XML) + Chr(13)
Message$ + "Line: " + Str(XMLErrorLine(#XML)) + " Character: " + Str(XMLErrorPosition(#XML))
MessageRequester("Error", Message$)
EndIf
; Note:
; Even if there was an error in the XML, all nodes before the error position
; are still accessible, so open the window and show the tree anyway.
;
If OpenWindow(#Window, 0, 0, 500, 500, "XML Example", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
TreeGadget(#TreeGadget, 10, 10, 480, 480)
; Get the main XML node, and call the FillTree() procedure with it
;
*MainNode = MainXMLNode(#XML)
If *MainNode
FillTree(*MainNode, 0)
EndIf
; Expand all nodes for a nicer view
;
For i = 0 To CountGadgetItems(#TreeGadget) - 1
SetGadgetItemState(#TreeGadget, i, #PB_Tree_Expanded)
Next i
; Wait for the window close event.
;
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
EndIf
Else
MessageRequester("Error", "The file cannot be opened.")
EndIf
EndIf
@++
Re: le XML et le Purebasic .... Merci d'avance pour vos répo
Publié : mar. 21/sept./2010 18:55
par 3d0uard0
Merci mais je ne comprend pas les commentaires (anglais) donc ça m'avance que légérement ...
Re: le XML et le Purebasic .. Lire les variables d'un ficher
Publié : mer. 22/sept./2010 15:05
par 3d0uard0
Si cela est possible de le faire avec un fichier .txt ou autre cela me vas aussi !!
Merci d'avance pour vos réponses !! Bonne après-midi !
PS : j'ai déjà chercher sur google et sur ce forum mais impossible de trouver quoique ce soit
Re: le XML et le Purebasic .. Lire les variables d'un ficher
Publié : mer. 22/sept./2010 15:20
par Ar-S
Si tu te créés un fichier txt tout con en inversant tes données, tu peux ainsi utiliser le systeme de préférence qui est enfantin à maitriser.
Par exemple ton fichier se nomme servpref.txt et contient :
Ton programme ressemblerait à ça :
Code : Tout sélectionner
if OpenPreferences("servpref.txt")
PreferenceGroup("truc")
serveur.s="Nom de la variable serveur : "+ReadPreferenceString("NOMSERVEUR","")
ratexp.s="Nom de la variable Rate Xp : "+ReadPreferenceString("RATEXP","")
MessageRequester("Infos",serveur+chr(10)+ratexp)
end
else
MessageRequester("Erreur","ça chie, je ne trouve pas servpref.txt")
end
endif
Voilou
Re: le XML et le Purebasic .. Lire les variables d'un ficher
Publié : mer. 22/sept./2010 18:02
par 3d0uard0
Ah ! Voilà ! Merci merci énormément !!