Moebius

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Désolé, j'avais oublié de mettre le sommaire dans la doc.
A l'heure actuelle, elle est essentiellement online.

http://code.google.com/p/moebius-pb/wiki/FR_Main
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

je viens de zieuter ton interface.

Je pense que tu as prévu de faire un programme multilangue, non ?

Alors surtout, tu ne touches à rien à ton code, tu laisse tout en français.
J'ai un outils qui va te faire ça au petit oignon.
Ca liste les textes d'un code et permet de choisir les textes qui passe en multilangue, et ca modifie le programme en conséquence.
Et il y a l'outil de traduction associé.

Faut juste que j'ajoute le support des includes.

Tu me dis si ça t'intéresse.
J'utilise ce soft pour tous mes programmes multilangues
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Ouaip, ca fait partie du but de la 0.8.

Pourquoi pas utiliser ton outil, ca me fera du travail en moins :)

En plus, ca sera l'occasion de le tester en prod.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

alors je modifie pour la prise en compte des includes et je partage :D
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Le Soldat Inconnu a écrit :alors je modifie pour la prise en compte des includes et je partage :D
Oki j'attends.

Par contre, comment fonctionne t il ? Cherche-t-il toutes les chaines ou simplement les chainées utilisés par des procédures relatives aux gadgets ?
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Ca liste toutes les chaines de caractères, absolument toutes

ensuites, tu choisis dans la liste les chaines de caractère à traduire.
Et tu lances. ça modifie le code en conséquence, après, il ne reste que à copier la fonction pour changer de langue et la fonction pour charger la langue.
sachant qu'après, tu peux ajouter ou retirer des chaines de caracteres dans le fichier de langue.

Et donc pour traduire, tu as un outil spécifique qui permet de créer ou éditer toutes les langues que tu veux.
J'ajouterais que la traduction est aidé dans le sens ou les textes sont dans l'ordre d'apparition du code et regroupé par groupe
par exemple, si tu as un messagerequester("Texte 1", "Texte 2"), ca te feras un groupe Messagerequester avec les 2 texte dedans, idem pour buttongadget, etc ...
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

@Le Soldat Inconnu : Un truc intéressant serait de choisir ou non les includes à "inclure"...
Autre truc intéressant : ne chercher que les chaînes utilisés par des procédures relatives aux gadgets...

Et maintenant j'attends :) lol

@Tous : Ca avance :

Code : Tout sélectionner

* Correction d'un bug qui empechait la compilation sous Linux
* Beaucoup de commentaires
* Beaucoup d'optimisations
* Encore de l'optimisation
Quelqu'un d'autre que Denis a testé ?
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Le nouveau caid de la lib a écrit :Quelqu'un d'autre que Denis a testé ?
Le croupion de figue y suit avec attention 8O
Mais j'sais a peine ce qu'est une lib :oops:
Je fais mes DLL et j'suis deja tres fier.
Alors, je veux pas vous gener, t'as raison c'est pas souvent qui se passe "queque" chose de grand dans ce forum :wink:

Mais si tu as besoin d'un mec super nul pour un essai, pense à la descente de lit du forum :D
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Kwai chang caine a écrit :
Le nouveau caid de la lib a écrit :Quelqu'un d'autre que Denis a testé ?
Le croupion de figue y suit avec attention 8O
Mais j'sais a peine ce qu'est une lib :oops:
Je fais mes DLL et j'suis deja tres fier.
Alors, je veux pas vous gener, t'as raison c'est pas souvent qui se passe "queque" chose de grand dans ce forum :wink:

Mais si tu as besoin d'un mec super nul pour un essai, pense à la descente de lit du forum :D
Merci de suivre :)
Une lib est expliqué ici

Si tu fais tes DLLs, tu es a coté d'une userlib :)

Si tu te sens pas capable de tester, tu peux lire la doc et la commenter :) (améloriations, suppressions, idées) !
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Ok ce que demande PROGI Kcc y fait :D
Je vais essayer de lire, j'ai pas dit que j'allais comprendre....mais je vais lire, c'est deja un debut :roll:
Remarque en meme temps, si moi je comprend, ta doc elle est finie :lol:
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Bon la doc est traduite en anglais (approximatif) : http://code.google.com/p/moebius-pb/wiki/EN_Main.

Je mettrais à jour ce soir le package avec les exe (Linux & Windows)...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

faudrai mettre le lien de MOEbius dans ta signature :)

cela permettrai d'avoir toujours accès a la dernière version rien qu'en lisant l'un de tes posts , qu'en pense tu yau de poil a frire ? 8O
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Et voilà, c'est fait !

V V V V V V V V V V V V V V V V V V V V V V V V V V V V
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

trop COOOOL :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

dis donc, ya pas de message requester qui dit que la lib est fini de compiller ?? 8O

je viens d'essyer de compiller la lib de Lionel OM (MCI Lib)

et j'ai un message d'erreur au moment d'utiliser le résultat generé par Moebius !!
erreur : POLINK warning section BSS is missing content flag assuming Data
et une autre erreur POLINK dans le meme message
POLINK : Fatal error , invalid or corrupt object 'OpenFileRequester.obj'
la lib de Lionel

Code : Tout sélectionner



;ProcedureDLL.l Mci(Cde.s)
;  ProcedureReturn mciSendString_(Cde, #Null, #Null, #Null)
;EndProcedure


ProcedureDLL.l Mci_Return(Cde.s)
  Protected *Resultat.l, Retour.l
  ;*Resultat = GlobalAlloc_(#GMEM_FIXED, 256)
  *Resultat = AllocateMemory(256)
  Retour = mciSendString_(Cde, *Resultat, 256, 0)
  Retour = Val(PeekS(*Resultat))
  ;GlobalFree_(*Resultat)
  FreeMemory(*Resultat)
  ProcedureReturn Retour
EndProcedure





ProcedureDLL MCI_SetVolume(song$, vol.l)
  mciSendString_("setaudio piste_0"+song$+" right volume to " + Str(vol), #Null, #Null, #Null)
  mciSendString_("setaudio piste_0"+song$+" left  volume to " + Str(vol), #Null, #Null, #Null)
EndProcedure

ProcedureDLL Mci_SetVolume2(song$, lVol.l, rVol.l)
  mciSendString_("setaudio piste_0"+song$+" right volume to " + Str(rVol), #Null, #Null, #Null)
  mciSendString_("setaudio piste_0"+song$+" left  volume to " + Str(lVol), #Null, #Null, #Null)
EndProcedure






; Retourne la longeur de la chanson en 'ms'
;   0 si la chanson n'a pu être chargée
ProcedureDLL Mci_Load(file$, song$)
  Protected time.l
    
  If FileSize(file$) > 0
    If mciSendString_("open "+Chr(34)+ file$ +Chr(34)+" alias piste_0"+song$, #Null, #Null, #Null) = #Null
      mciSendString_("set piste_0"+song$+" time format ms", #Null, #Null, #Null)
      time = Mci_Return("status piste_0"+song$+" length")
      mciSendString_("seek piste_0"+song$+" to start", #Null, #Null, #Null)
      ProcedureReturn time
    EndIf
  EndIf
  ProcedureReturn #Null
EndProcedure




; Renvoi la position de la chanson en 'ms'
;   -1 sinon
ProcedureDLL Mci_GetPosition(song$)
  If mciSendString_("status piste_0"+song$+" length", #Null, #Null, #Null) <> #Null
    ProcedureReturn -1
  EndIf
  ProcedureReturn Mci_Return("status piste_0"+song$+" length")
EndProcedure




; Lance une chanson depuis 'position' (en ms)
;   position = 0 => On joue la chanson depuis sa position actuelle
;   Renvoi : 1 en cas de succès, 0 sinon
ProcedureDLL Mci_Play(song$, position)
  If position <= 0
    If mciSendString_("play piste_0"+song$, #Null, #Null, #Null) = #Null
      ProcedureReturn #True
    EndIf
  Else
    If mciSendString_("play piste_0"+song$+" from "+Str(position)+" notify", #Null, #Null, #Null) = #Null
      ProcedureReturn #True
    EndIf
  EndIf
EndProcedure




; Renvoi 1 en cas de succès, 0 sinon (chanson non chargée)
ProcedureDLL Mci_Resume(song$)
  If mciSendString_("play piste_0"+song$, #Null, #Null, #Null) = #Null
    ProcedureReturn #True
  EndIf
EndProcedure




ProcedureDLL Mci_Pause(song$)
  If mciSendString_("pause piste_0"+song$+" wait", #Null, #Null, #Null) = #Null
    ProcedureReturn #True
  EndIf
EndProcedure




ProcedureDLL Mci_Stop(song$)
  If mciSendString_("close piste_0"+song$, #Null, #Null, #Null) = #Null
    ProcedureReturn #True
  EndIf
EndProcedure



; Renvoi la position de la chanson
ProcedureDLL Mci_SetPosition(song$, time.l)
  Protected length.l

  If mciSendString_("pause piste_0"+song$+" wait", #Null, #Null, #Null) = #Null
    mciSendString_("seek piste_0"+song$+" To End wait", #Null, #Null, #Null)
    length = Mci_Return("status piste_0"+song$+" position wait")
  
    ; Temps indiqué trop important
    If length < time
      If mciSendString_("play piste_0"+song$+" from 1", #Null, #Null, #Null) = #Null
        mciSendString_("pause piste_0"+song$+" wait", #Null, #Null, #Null)
        ProcedureReturn 1
      EndIf
    EndIf
    
    If mciSendString_("play piste_0"+song$+" to " + Str(time), #Null, #Null, #Null) = #Null
      mciSendString_("pause piste_0"+song$+" wait", #Null, #Null, #Null)
      ProcedureReturn time
    EndIf
  EndIf
  ProcedureReturn #Null
EndProcedure


;Debug Mci_Load("track.mp3", "")
Debug Mci_Load("D:\My Shared Folders\Music\Black Eyed Peas - Don't Lie.mp3", "")
Debug Mci_Play("", 0)
Delay(2000)


Mci_Pause("")
Debug Mci_SetPosition("", 20000)
Mci_Resume("")
Delay(2000)

Mci_Stop("")
mon code pour l'exploiter


Code : Tout sélectionner

file$=OpenFileRequester("Charge un midifile","c:\","*.mid",0)
temp.l= MCI_Load(file$, " ")


MCI_Play(" ", 1)
Delay (temp.l)

[/quote]
Répondre