Page 11 sur 26

Publié : ven. 13/févr./2009 7:58
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

Publié : ven. 13/févr./2009 8:46
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

Publié : ven. 13/févr./2009 8:57
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.

Publié : ven. 13/févr./2009 9:36
par Le Soldat Inconnu
alors je modifie pour la prise en compte des includes et je partage :D

Publié : ven. 13/févr./2009 13:50
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 ?

Publié : ven. 13/févr./2009 15:33
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 ...

Publié : sam. 14/févr./2009 17:47
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é ?

Publié : sam. 14/févr./2009 19:19
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

Publié : dim. 15/févr./2009 22:53
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) !

Publié : dim. 15/févr./2009 23:23
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:

Publié : lun. 16/févr./2009 13:58
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)...

Publié : lun. 16/févr./2009 16:21
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

Publié : lun. 16/févr./2009 16:30
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

Publié : lun. 16/févr./2009 16:31
par Backup
trop COOOOL :D

Publié : lun. 16/févr./2009 17:14
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]