IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Utiliser MonoCalendar pour gérer des plannings


Sujet :

VB.NET

  1. #1
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut Utiliser MonoCalendar pour gérer des plannings
    Bonjour !

    Voilà je cherche depuis quelques jours un logiciel libre qui me permettrait d'établir des plannings pour le travail d'employés. On pourrait définir des interventions sur un calendrier, suivant le planning des collaborateurs. J'ai fais des recherches et je suis tombé sur divers petites sources, notamment depuis ce thread, et je viens de télécharger MonoCalendar conseillé par monsieur Piotrek.

    J'ai télécharger la source et l'éxécutable, mais impossible de trouver comment l'implanter dans mon programme. Je ne demande pas de pouvoir l'utiliser comme un composant à l'intérieur d'une de mes formes (quoique ça serait le rêve ) mais comment communiquer avec l'application et, à partir du base de donnée, affiché dans monocalendar les rdv des collaborateurs. Bref : si c'est un classe, comment l'utiliser ? Existe-t'il une doc ? J'ai rien trouvé pour le moment...

    Si vous avez un outre outil de planning gratuit qui puisse se révèler aussi puissant et, peut-être, plus facile à utiliser je suis preneur aussi !

    Merci beaucoup.

  2. #2
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Rebonjour !

    C'est re-moi je vois que mon topic n'a pas attiré les foules
    Alors bon, j'ai réussi déjà à récupérer les dll de Monocalendar comme des références et composants (une listview avec la liste des calendriers disponibles, un monthcalendar optimisé et l'interface de planning à proprement parlé). A côté de ça j'ai téléchargé la source du programme et j'ai entrepris de "débugger" celui-ci pour mieux comprendre son fonctionnement, puisquê je n'arrive définitivement pas à ajouter le moindre rdv à mon planning (le plus important). J'ai compris pas mal d'autres choses dans son fonctionnement, mais ce point là reste plutôt obscure pour moi. Donc : debug !

    Seulement c'est une source .prjx. Source que j'ouvre donc avec SharpDevelop (1.1 vu qu'il s'agit de dotnet 1.1) et que je compile et lance ! Miracle. Mais, il y a toujours un mais, impossible de le débugger puisque les points d'arrêts ne réagissent pas. Une idée les connaisseurs de sharpdevelop ?

    Du coup j'essaie de l'ouvrir dans visual studio mais aucun convertisseur prjx --> sln (ou csproj) n'existe pour le moment. Alors j'ai essayé d'ajouter simplement tous les fichiers du code source monocalendar a un projet vide, malheureusement le programme me met un erreur de étrange...

    Je continu de poster ici, MonoCalendar a été développé en C# mais mon appli est en vb.net...

    Donc est-ce que quelqu'un ici a déjà utilisé ce programme dans une de ses application et comment ? Il m'apparaît comme un des plus complet, simple et intuitif, de plus il est complétement gratuit et l'interface est réussie ! Un outil indispensable à mon appli !

    Merci.

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Tu peux utiliser la dernière version de #develop pour convertir le projet prjx en solution sln. Ainsi tu pourras l'ouvrir dans visual studio.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  4. #4
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Tu peux utiliser la dernière version de #develop pour convertir le projet prjx en solution sln. Ainsi tu pourras l'ouvrir dans visual studio.
    Oui effectivement ! Cependant le gros problème c'est que monocalendar est développé en 1.1 et j'ai besoin de sharpdevelop 2.2 pour la conversion. Donc en l'ouvrant et en créan le .sln il le convertit aussitôt en dotnet 2.0.

    Ce n'est pas un problème en sois, mais lorsque j'essaie de compiler l'appli j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Image GetResourceImage (string name)
    {
    	Assembly assembly = System.Reflection.Assembly.GetCallingAssembly();
    	System.IO.Stream s = assembly.GetManifestResourceStream (name);
    	return Image.FromStream(s);		
    }
    ArgumentException : La valeur 'null' n'est pas valide pour 'stream'.

    Je sais pas si c'est une erreur qui peut se révèler courante lors du passage 1.1 --> 2.0 ou si c'est spécifique à monocalendar...

    Une idée ?

  5. #5
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Après une petite recherche il se trouve que dans cette solution (c'est sûrement dût à dotnet 2.0) on ne peut pas simplement donner le nom de la ressource.

    assembly.GetManifestResourceStream (name);

    Cette ligne récupère l'image à partir de la ressource spécifiée dans "name" seulement le name était égale à "shadow-1-0.png", un chemin relatif. Or le chemin doit être absolu et j'ai du le changer en : "CalWidget.resources.shadow-1-0.png". C'est bon à savoir !

    En route pour le débuggage, je reviens.

  6. #6
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Re !

    Alors voilà où j'en suis. Ma fenêtre de planning est plus ou moins terminée :

    - J'ai une listview (composant de monocalendar) qui affiche une liste des calendriers (dans mon cas une équipe = un calendrier)
    - J'ai un monthcalendar (composant modifié de monocalendar) lié à mon calendrier (il séléctionne la date séléctionnée du calendrier et vice versa)
    - Et j'ai mon calendrier ! Avec les différentes options en vigueur (les 3 types d'affichages : par jour, semaine et moi, le zoom et l'affichage page suivante / page précédente)

    Mais après débuggage je n'arrive toujours pas à utiliser le composant pour créer des événements. La fonction InsertNewEvent semble s'occuper de ça (avant ça le programme récupère l'emplacement de départ et de fin de la souris, pour calculer les heures et dates de l'évènement créé) seulement impossible de communiquer avec. J'ai encore plein de trous.

    Personne n'a jamais utilisé ce programme en composant ? Sur internet je n'ai pas réussi à trouver une page indiquant comment l'utiliser pour créer des nouveaux événements.

    Faudrait-il déplacer le sujet dans dotnet général ? (puisque monocalendar est en c#)

    Merci...
    Images attachées Images attachées  

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Points : 94
    Points
    94
    Par défaut
    Je viens de voir l'apercu de votre print screen et je me demandais quels étaient les différents composants que vous aviez utlisés?

    Merci

    Bien à vous

  8. #8
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par olbi Voir le message
    Je viens de voir l'apercu de votre print screen et je me demandais quels étaient les différents composants que vous aviez utlisés?
    Comme expliqué dans la donnée, il s'agit pour la plupart de composants MonoCalendar (provenant des dll du programme). Voilà le détail :



    1 | Composant CalWidget de MonoCalendar : le composant principal qu'il faut que je parvienne à utilisé pour ajouter des événements, simple affichage de calendrier.

    2 | Composant MonoCalendar.ListView : le composant affichant les différents calendriers existants (dans mon cas, une équipe = un calendrier)

    3 | Composant Listbox

    4 | Composant MonoCalendar.MonthCalendar : Monthcalendar modifié (et plus joli). Du moment que j'utilise les composants monocalendar, autant utilisé le monthcalendar qui correspond.

    5 | Des fois que, c'est un simple composant ToolStrip grâce auquel je défnis des options d'affichage du composant calwidget (par semaine, par jour, par mois, quelle semaine, quel jour, quel mois,etc.)

    Voilà, c'est tout bête

    A part ça toujours personne pour un petit coup de main ? Je pense essayer d'ajouter une nouvelle fonction d'insertion d'événement que je partagerais et que je pourrais utiliser dans mon développement perso. Mais faut déjà que je sache comment m'y prendre...

  9. #9
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    L'aventure continue !

    J'alimente le topic de mes découvertes, de manière à aider les futurs utilisateurs de monocalendar, fussent-ils aussi peu autodidacte que moi, à travailler avec ses composants.

    Il est inutile de créer de nouvelle fonctions dans Monocalendar pour interagir avec les composants. La fonction InsertNewEvent ne s'appelle pas implicitement, elle est lancée lors du contrôle OnMouseMove, c'est à dire lorsqu'on laisse le clic gauche de la souris appuyé et qu'on "étire" pour créer un événement. Mon problème était tout bête : pour ajouter un évenement il est nécessaire de déclarer un ou plusieurs CalData. Qu'est-ce qu'un caldata ? C'est un calendrier, en fait, celà correspond aux calendriers présents dans la listview (dans mon cas équipe1, 2, 3, etc...). Le lien entre les composant n'est évidemment pas implanté par défaut, donc à l'ajout d'item dans ma listview, j'ajoute automatiquement les calendriers caldata.

    Lorsqu'un caldata existe, la fonction d'ajout d'évènements fonctionne !! C'est tout bête et j'ai du mal à croire que j'ai mis autant de temps à me sortir de ce pétrin. Prochaine étape : gérer l'affichage et l'ajout d'évènement selon le calendrier sélectionné et ajouter, modifier et récupérer les événements depuis ma base de données !

  10. #10
    pdl
    pdl est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 30
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Super tout ce que tu as déjà fait jusqu'ici. Cela faisait longtemps que je regardais monoCalendar, voulant en refaire un plugin pour une application que je développe (en C#, mais Framework 2.0). Aujourd'hui, grâce à tes billets, cela devient doucement (bien que pas si doucement que cela) une réalité !

    Je vais essayer de documenter l'utilisation des dlls pour refaire l'interface, d'autres personnes pourraient en profiter ainsi.

    Continue à poster tes avancées, elles aideront certainement encore d'autres personnes.

    Pierre

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut MonoCalendar avec une base de données
    Bonjour,
    je trouve votre composant très très bien, je suis justement entrain de le parcourir et j'essaie de trouver un moyen pour l'intégrer à une base de données. Je suis en environnement vb.Net et malheureusement quand j'essaie de récupérer les dates "start" et "end", je ne peux pas les voir dans mon objet car elles semblent privées. Comment dois-je m'y prendre ?
    Merci de votre aide.

  12. #12
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par phil_ippe Voir le message
    Bonjour,
    je trouve votre composant très très bien, je suis justement entrain de le parcourir et j'essaie de trouver un moyen pour l'intégrer à une base de données. Je suis en environnement vb.Net et malheureusement quand j'essaie de récupérer les dates "start" et "end", je ne peux pas les voir dans mon objet car elles semblent privées. Comment dois-je m'y prendre ?
    Merci de votre aide.
    Je retombe, au hasard d'une recherche, sur ce topic. Désolé, faute de temps je n'ai pas pu continuer à documenter mon approche du composant. Celà dit, j'ai effectuer tellement de remaniement dans MonoCalendar que ça dépassait le simple cadre de l'utilisation.

    Concernant ta question phil, celà fait un mois j'espère que tu as trouvé une réponse, mais dans le doute je vais t'aider : "start" et "end" n'apparaissent pas car ils sont considérés comme "ambigus" dans la mesure ou, en C#, on fait une distinction au niveau de la casse utiliser pour la déclaration des variables. Donc il existe une variable "start", une variable "Start", ainsi qu'une variable "end et une variable "End" ! Pour C# aucune ambiguité, les variables sont différenciables, mais VB.net ne faisant pas cette distinction, il les considères toutes les 2 comme une seule et même variable et donc, comme ambigus.

    Pour remedier à ce problème, il faut modifier la source de MonoCalendar en modifiant une des variable. Perso, j'ai laissé les propriétés "Start" et "End", et j'ai ensuite modifier les variables "start" et "end" en "start1" et "end1". Tout bêtement.

    En régénérant monocalendar, ça fonctionne.

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Juillet 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Enfin un planning pour du .NET
    Pour ceux qui veulent l'avoir en VB.NET:
    Ajouter les DLL à votre projet
    puis déclarer votre objet comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim mycalendar As CalWidget.Calendar
    mycalendar = New CalWidget.Calendar
    mycalendar.Anchor = AnchorStyles.Bottom + AnchorStyles.Left + AnchorStyles.Right + AnchorStyles.Top
    mycalendar.Width = 650
    mycalendar.Height = 400
    'affiche le control sur la form:       
    Me.Controls.Add(mycalendar)

  14. #14
    Nouveau membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Points : 27
    Points
    27
    Par défaut Monocal et BDD
    Bonjour,
    je commence à utiliser ce system en projet c# et vb.net.
    j'ai fais une recherche dans le code source pour voir les données du planning et j"ai vu qu'il utiliser des fichiers outlook (.ics).
    Ma question est : "Quelqu'un a t-il reussi à détacher le fonctionnement de base pour l'alimenter avec des valeurs de base de données? et si oui, comment avez vous fait.

    Cordialement,

Discussions similaires

  1. [Shell][sed]utilisation d'un sed pour gérer des doubles quotes
    Par bstevy dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 06/03/2015, 11h03
  2. [Composite] Utiliser ce pattern pour gérer un planning ?
    Par spike2 dans le forum Design Patterns
    Réponses: 0
    Dernier message: 30/01/2012, 10h37
  3. Réponses: 3
    Dernier message: 27/10/2011, 17h38
  4. Réponses: 3
    Dernier message: 16/09/2010, 08h34
  5. [SSH2] Utiliser scp pour gérer des fichiers distants
    Par cybercandyman dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 12/11/2007, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo