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

XMLRAD Discussion :

Delphi et XMLRAD pour un calendrier


Sujet :

XMLRAD

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 24
    Points : 11
    Points
    11
    Par défaut Delphi et XMLRAD pour un calendrier
    Je voudrais réaliser un calendrier en XMLRAD en m'aidant de Delphi mais je dois dire avoir un petit probleme au niveau de la boucle, car je voudrais créer un noeud sur mon fichier XML CellS qui a en fils Cell qui se créer pour chaque nouvelle semaine et encore en fils un noeuds Week qui se créer pour chaque jour du mois, mais mon probleme est qu'il me m'est en fil a chaque fois le noeuds Week alors que je voudrais le voir en fil mais du noeuds Cell, voici un exemple de ce que je vois et une exemple ensuite de ce que je voudrais voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Cells 
      Cell 
       Week 
         . 
         . 
         . 
       /Week 
      Cell 
       Week 
         . 
         . 
         . 
       /Week

    Et ce que je vois en XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Cells 
      Cell 
       Week 
         Week 
            Week 
             . 
             . 
             . 
            /Week 
         /Week 
      /Week

    Voici mon code Delphi pour ceux qui pourrais me trouver cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
     
    var Params: IXMLCursor; 
        cDate, Date, result:string; 
        BDate: TDateTime; 
        NBdays, Days: array[1..7] of string; 
        DateNow :TDateTime; 
        Year, Month, Day: Word; 
        Jour, i, Week: Integer; 
    begin 
      Date := DateToStr(Now); 
      DateTimeToString(cDate,'dd mmmm yyyy',Now); 
      Params:=OutputDoc.Select('/document'); 
      Params:=Params.AppendChild('Date',''); 
      Params.AppendChild('Date',(cDate)); 
      begin 
        Days[1] := '1';   //Sunday 
        Days[2] := '2';   //Monday 
        Days[3] := '3';   //Tuesday 
        Days[4] := '4';   //Wednesday 
        Days[5] := '5';   //Thursday 
        Days[6] := '6';   //Friday 
        Days[7] := '7';   //Saturday 
        BDate := StrToDate(Date); 
        Params.AppendChild ('DayOfWeek',Days[DayOfWeek(BDate)]); 
        begin 
          DateNow:= Now; 
          DecodeDate(DateNow, Year, Month, Day); 
          Params.AppendChild ('Day',IntToStr(Day)); 
          Params.AppendChild ('Month',IntToStr(Month)); 
          Params.AppendChild ('Year',IntToStr(Year)); 
        end; 
        begin 
          i:= DayOfWeek (BDate); 
          Jour := 1; 
          while Jour < Day do 
            begin 
              i := i; 
              i := i - 1; 
              Jour := Jour + 1 
            end; 
          Params:=OutputDoc.Select('/document'); 
          Params:=Params.AppendChild('CellS',''); 
          Params:=Params.AppendChild('Cell',''); 
          result:= ''; 
          i:= DayOfWeek (i); 
          Jour := 1; 
          Week := 1; 
          Month := 1; 
          Nbdays[1] := 'Sunday'; 
          Nbdays[2] := 'Monday'; 
          Nbdays[3] := 'Tuesday'; 
          Nbdays[4] := 'Wednesday'; 
          Nbdays[5] := 'Thursday'; 
          Nbdays[6] := 'Friday'; 
          Nbdays[7] := 'Saturday'; 
          Params:=OutputDoc.Select('/document/CellS/Cell'); 
          While Jour < 32 do 
          begin 
            result:= ''; 
            i := i; 
            Week := Week; 
            begin 
              if i = 2 then 
                begin 
                  Week := Week + 1; 
                  Params:=OutputDoc.Select('/document/CellS'); 
                  Params:=Params.AppendChild('Cell',''); 
                  Params:=Params.AppendChild('Week',''); 
                 end; 
              if i = 7 then 
                begin 
                  result:= Nbdays[i]; 
                  i := 0; 
                end; 
              if i < 7 then 
                begin 
                  Params:=Params.AppendChild('Week',''); 
                  result:= result + Nbdays[i + 1]; 
                  Params.AppendChild ('WeekOfMonth',IntToStr(Week)); 
                  Params.AppendChild ('Days',Nbdays[DayOfWeek(i)]); 
                  Params.AppendChild ('Day',IntToStr(Jour)); 
                  Params.AppendChild ('Month',IntToStr(Month)); 
                  Params.AppendChild ('Year',IntToStr(Year)); 
                end; 
              i := i + 1; 
              Jour := Jour + 1; 
            end; 
          end; 
        end; 
      end; 
    end;
    ________________________________________
    C'est avec le temps que l'on devient performant ....

  2. #2
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut Re: Delphi et XMLRAD pour un calendrier
    Citation Envoyé par Toxine77
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
          Params&#58;=OutputDoc.Select&#40;'/document/CellS/Cell'&#41;; 
          While Jour < 32 do 
          begin 
            result&#58;= ''; 
            i &#58;= i; 
            Week &#58;= Week; 
            begin 
              if i = 2 then 
                begin 
                  Week &#58;= Week + 1; 
                  Params&#58;=OutputDoc.Select&#40;'/document/CellS'&#41;; 
                  Params&#58;=Params.AppendChild&#40;'Cell',''&#41;; 
                  Params&#58;=Params.AppendChild&#40;'Week',''&#41;; 
                 end; 
              if i = 7 then 
                begin 
                  result&#58;= Nbdays&#91;i&#93;; 
                  i &#58;= 0; 
                end; 
              if i < 7 then 
                begin 
                  Params&#58;=Params.AppendChild&#40;'Week',''&#41;; 
                  result&#58;= result + Nbdays&#91;i + 1&#93;; 
                  Params.AppendChild &#40;'WeekOfMonth',IntToStr&#40;Week&#41;&#41;; 
                  Params.AppendChild &#40;'Days',Nbdays&#91;DayOfWeek&#40;i&#41;&#93;&#41;; 
                  Params.AppendChild &#40;'Day',IntToStr&#40;Jour&#41;&#41;; 
                  Params.AppendChild &#40;'Month',IntToStr&#40;Month&#41;&#41;; 
                  Params.AppendChild &#40;'Year',IntToStr&#40;Year&#41;&#41;; 
                end; 
              i &#58;= i + 1; 
              Jour &#58;= Jour + 1; 
            end; 
          end; 
        end; 
      end; 
    end;
    Cette partie du code est à revoir. Attention au
    Params := Params.AppendChild()
    cela se déplace dans le neoud que l'on vient de créer, sachant en plus que l'on boucle sans réinitialiser le Params

    d'autre part
    OutputDoc est deja positionné sur document, pas la peine de refarei des Select à tout bout de champ (ce qui est par ailleurs déconseillé)
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  3. #3
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    Un composant calendrier est prévu dans XMLRAD.

    si tu veux afficher un calendrier en grille pour le mois courant, c'est celui qui devrait être intégré dans XMLRAD (celui en fait existant dans Delos)
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 24
    Points : 11
    Points
    11
    Par défaut Quel sont les sources de ce calendrier ...
    Je travail avec XMLRAD 6 et pour des questions de mises en forme je ne peut pas chnger d versions mais je voudrais bien trouver les sources de ce calendrier ....

    Si tu les a pourrais tu me les faire parvenir ??
    ________________________________________
    C'est avec le temps que l'on devient performant ....

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 24
    Points : 11
    Points
    11
    Par défaut de plus ....
    Quels sont les lignes de codes d'apres toi a changer pour

    1- Initilaliser les Params
    2- pour ne pas créer une boucle qui me créer toujours des fils

    Merci pour tes reponses ???
    ________________________________________
    C'est avec le temps que l'on devient performant ....

  6. #6
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    le fait de faire Params := Params.AppendChild('Week', '');
    fait que tu obtiens:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <Cells>
      <Cell>
        <Week>
          <Week>
            <Week>
            </Week>
          </Week>
        </Week>
      </Cell>
    </Cells>
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  7. #7
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    il ya un calendrier dans la demo Delos qui est fourni avec XMLRAD 7. tu peux regarder les XSL de planning pour voir comment c'est fait. mais pas de code source Delphi pour ca.
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  8. #8
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    est-ce quet u peux expliciter la représentation visuelle de ton calendrier ?
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 24
    Points : 11
    Points
    11
    Par défaut Explication visuelle du calendrier
    Je voudrais créer en delphi un noueuds CellS puis un noeuds Cell pour chaque semaine dont en visuelle je veux avoir a chaque Cell un tr compris dans une table, et dans ce TR a chaque fois qu'il voit un noeuds Week, il me fais un TD avec le jour qui est compris dans ce noeuds que j'obtient a 'aide de ma boucle.

    J'espere bien repondre a ta kestion mais je pense que je pourrais repondre a d'autres de tes kestions pour etre plus clair sur certain points.

    Merci de ton intéret pour ma question
    ________________________________________
    C'est avec le temps que l'on devient performant ....

  10. #10
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    ok, ce calendrier est prévu dans les prochaines versions de XMLRAD.
    donc soit tu le refait entièrement soit tu attends un peu et utiliser celui qui sera livré.
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

Discussions similaires

  1. Delphi 2005 - Composants pour BD
    Par Benoit30 dans le forum Bases de données
    Réponses: 1
    Dernier message: 04/08/2005, 18h17
  2. Développement Delphi sous 2000 pour NT4
    Par Trulane dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 02/06/2005, 14h34
  3. Réponses: 4
    Dernier message: 30/04/2005, 14h59
  4. Réponses: 2
    Dernier message: 11/07/2003, 19h24
  5. Réponses: 2
    Dernier message: 18/01/2003, 18h06

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