Thotbox - application collaborative de partage de codes sour

Sujets variés concernant le développement en PureBasic
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Re: application collaborative de gestion de code source

Message par Geo Trouvpatou »

falsam a écrit :
Geo Trouvpatou a écrit :....Comme l'a dit Falsam, ce serait bien de conserver l'architecture des dossiers/fichiers en local ....
ha bon ? j'ai dit ça ?
Ben tu l'as p'tet pas dit mais t'as dû l'penser.
Ou alors j'ai dû lire ça dans Voiça ou Gali :lol:.
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: application collaborative de gestion de code source

Message par Guimauve »

Re-Bonjour,

Il semble qu'une fonction de l'API Windows ait été utilisée (Fichier : Local.pbi) :

Code : Tout sélectionner

GetThreadLocale_()
Est-ce que quelqu'un connaît l'équivalent de cette commande sur les autres systèmes ?

Merci à l'avance.

A+
Guimauve
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Re: application collaborative de gestion de code source

Message par Thyphoon »

Guimauve a écrit :Re-Bonjour,

Il semble qu'une fonction de l'API Windows ait été utilisée (Fichier : Local.pbi) :

Code : Tout sélectionner

GetThreadLocale_()
Est-ce que quelqu'un connaît l'équivalent de cette commande sur les autres systèmes ?

Merci à l'avance.

A+
Guimauve
a oui tient c'est curieux ! c'est la partie réalisé part Djes il aura peut être une idée ...
mais commente cette ligne j'ai pas l'impression que ça gène le fonctionnement (pour l'instant)???
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Re: application collaborative de gestion de code source

Message par Thyphoon »

la même fonction n'existe pas sous linux ?
http://www.linuxcertif.com/man/3/GetThr ... 3w/270398/
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Re: application collaborative de gestion de code source

Message par Geo Trouvpatou »

Après avoir perdu 5 mn parce que le compilo me disait qu'il ne trouvait pas "Scintilla.dll", je me suis aperçu que ça me le faisait uniquement en pb4.60b4 x64 et pas en x86.

Pour éviter un autre message d'erreur, j'ai dû aller dans compilateur option -> Onglet "Constantes" et cocher #PB_Compiler_BuildCount

Et dans OpenWindow : #prg_name$+" version "+#prg_version$+"."+Str(#PB_Editor_BuildCount)
Le point est en trop.
Pareil dans l'AboutBox, il y a un point de trop.

Le fichier "svn.pb" est manquant bien que faisant parti du projet, donc erreur signalée.

Sinon tu ne te sent pas trop à l'étroit dans ton code.
Mettre des espaces pour aérer le tout ne fera pas gonfler le poids de l'executable.
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: application collaborative de gestion de code source

Message par Guimauve »

Nous ne sommes pas sortie de l'auberge !

En passant, je travaille sur la partie de la gestion des langues en ce moment, je vais tout simplement commenter la sélection depuis les commandes du système et forcer la valeur manuellement le temps que je trouve une alternative.

A+
Guimauve
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Re: application collaborative de gestion de code source

Message par Thyphoon »

désolé j'ai essayé de faire de mon mieux ...
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Re: application collaborative de gestion de code source

Message par Geo Trouvpatou »

Ce système de langue aurait été plus simple : http://purebasic.developpez.com/sources ... ultilingue
C'est celui utilisé par PureBasic, à moins que cela ait changé.
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Re: application collaborative de gestion de code source

Message par Thyphoon »

Geo Trouvpatou a écrit :Ce système de langue aurait été plus simple : http://purebasic.developpez.com/sources ... ultilingue
C'est celui utilisé par PureBasic, à moins que cela ait changé.
c'est celui que j'utilisais au depart ...
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Re: application collaborative de gestion de code source

Message par Geo Trouvpatou »

Ben alors t'es le mieux placé pour voir les avantages/inconvénients des 2 systèmes.

Dans network.pbi pourquoi ne pas appeler la fonction DirectoryCreate.
Et si les variables :
Define bindex.l
Define bnumbs.l
Define bsplit.s
Define stemps.s
ne sont pas utilisées à l'extérieur alors mieux vaut les mettre en protected.
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Re: application collaborative de gestion de code source

Message par Thyphoon »

Geo Trouvpatou a écrit :Ben alors t'es le mieux placé pour voir les avantages/inconvénients des 2 systèmes.
je l'ai remplacé part le code de Djes, car c'est une norme ! il est peut être plus compliqué a la base, mais il a l'avantage de pouvoir te prémaché les fichiers text a traduire ! (un gros gain de temps)
Geo Trouvpatou a écrit : Dans network.pbi pourquoi ne pas appeler la fonction DirectoryCreate.
Et si les variables :
Define bindex.l
Define bnumbs.l
Define bsplit.s
Define stemps.s
ne sont pas utilisées à l'extérieur alors mieux vaut les mettre en protected.
le fonction a été copié tel quel du forum (anglais) effectivement ça peut être améliorer !
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: application collaborative de gestion de code source

Message par Guimauve »

Thyphoon a écrit :désolé j'ai essayé de faire de mon mieux ...
Ce n'est pas de ta faute, c'est difficile de construire un programme multi plate-forme. Et la solution n'est pas toujours facile à trouver.

Pour la fonction DirectoryCreate présente dans le fichier Network.pbi je vais voir lorsque je serai rendu là.

A+
Guimauve
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Re: application collaborative de gestion de code source

Message par Geo Trouvpatou »

Ca tombe pile poil, pour mon nouveau projet j'avais besoin d'une procedure comme Create_Directory.

Donc remis à ma sauce avec ma façon de faire, des noms et des explications en français.
J'aime pas les variables nommées "resultat.s" parce qu'en plein milieu d'un code quand on voit "resultat", on ne sait pas si "resultat" prend un nombre ou une chaine.
Alors que "resultat$", on sait tout de suit ce que la variable doit contenir.
Goût personnel ou ignorance de la subtilitée entre "resultat.s" et "resultat$".

Code : Tout sélectionner

Procedure.b DirectoryCreate(dossier$)
      ; Il est préférable de mettre le code ci-dessous parce que pour MakeSureDirectoryPathExists_
      ; Si l'on met : MakeSureDirectoryPathExists_(toto\titi\vovo\aze) cela ne créer pas le repertoire
      ; aze considérant certainement que c'est un fichier.
      If Right(dossier$, 1) <> "\"
            dossier$ + "\"
      EndIf
      
      CompilerSelect #PB_Compiler_OS  
                  
            CompilerCase #PB_OS_Windows
                  Debug "Windows Use"
                  ; Sous Windows autant utiliser une API existante.
                  ProcedureReturn MakeSureDirectoryPathExists_(dossier$)
                  
                  
            CompilerCase #PB_OS_Linux Or #PB_OS_MacOS
                  Debug "Linux Mac Use"
                  Protected indexDossierActuel.b 
                  Protected nbDossiersExistants.b
                  
                  Protected nomDossier$
                  Protected nomCheminComplet$
                  
                  Repeat
                        indexDossierActuel + 1
                        Debug "indexDossierActuel DEBUT : "+ Str(indexDossierActuel)
                        
                        nomDossier$ = StringField(dossier$, indexDossierActuel, "\")
                        Debug "nomDossier$ : "+ nomDossier$
                        
                        If nomDossier$ <> ""
                              ; On a un dossier principal et pas de sous-dossier.
                              If indexDossierActuel = 1
                                    nomCheminComplet$ + nomDossier$
                                    Debug Str(indexDossierActuel) +" nomCheminComplet$ + nomDossier$ >>> " + nomCheminComplet$
                                    
                              Else
                                    nomCheminComplet$ + "\" + nomDossier$
                                    Debug Str(indexDossierActuel) +" nomCheminComplet$ + nomDossier$ >>> " + nomCheminComplet$
                                    
                              EndIf
                              
                              ; Si c'est un repertoire et qu'il existe alors on incremente nbDossiersExistants
                              If FileSize(nomCheminComplet$) = -2
                                    nbDossiersExistants + 1
                                    
                              Else
                                    ; Si le dossier n'existe pas, alors on le créer et si le dossier a bien été créé, 
                                    ; alors on incremente nbDossiersExistants
                                    If CreateDirectory(nomCheminComplet$) <> 0
                                          nbDossiersExistants + 1
                                          
                                    EndIf
                              EndIf
                              
                        EndIf
                        
                  Until nomDossier$ = ""
                  
                  ; Pour avoir le vrai nombre de dossier créés, on enlève 1
                  indexDossierActuel - 1
                  Debug "indexDossierActuel FIN : "+ Str(indexDossierActuel)
                  
                  ; Si indexDossierActuel = nbDossiersExistants, alors c'est que tout les dossiers on bien été créés
                  ; et donc la procedure retourne 1
                  If indexDossierActuel = nbDossiersExistants
                        ProcedureReturn #True
                  EndIf
                  ProcedureReturn #False
      CompilerEndSelect
EndProcedure

; Exemple :
Debug DirectoryCreate("toto\titi\vovo\aze")
En tout cas pour ma part ça va me servir :wink:.
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Re: application collaborative de gestion de code source

Message par Thyphoon »

merci Geo Trouvpatou !
je vais mettre a jour la procédure dans le code de Thothbox ... (mais je ne ferais pa d'autre changement pour l'instant) j'attends le retour de Guimauve !
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Re: application collaborative de gestion de code source

Message par Geo Trouvpatou »

C'est surtout qu'il faudrait uniformiser le code.
S'il y a des procédures et variables avec des noms anglais et d'autres en français, ça ne sera peut-être pas le mieux.
J'imagine qu'il serait bien de tout mettre en anglais, si d'autres nationalités voulaient participer.
Enfin c'est vous qui voyez (Tiens ça me rappelle 2 comiques)
Répondre