Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/01/2003, 15h16   #1
Invité de passage
 
Inscription : août 2002
Messages : 24
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 24
Points : 3
Points : 3
Envoyer un message via MSN à Toxine77
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 :
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 :
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 :
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;
Toxine77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2003, 16h35   #2
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
Par défaut Re: Delphi et XMLRAD pour un calendrier

Citation:
Envoyé par Toxine77
Code :
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:=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;
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2003, 16h49   #3
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2003, 16h55   #4
Invité de passage
 
Inscription : août 2002
Messages : 24
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 24
Points : 3
Points : 3
Envoyer un message via MSN à Toxine77
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 ??
Toxine77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2003, 16h57   #5
Invité de passage
 
Inscription : août 2002
Messages : 24
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 24
Points : 3
Points : 3
Envoyer un message via MSN à Toxine77
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 ???
Toxine77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2003, 11h19   #6
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
le fait de faire Params := Params.AppendChild('Week', '');
fait que tu obtiens:

Code :
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2003, 11h20   #7
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2003, 11h25   #8
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2003, 12h19   #9
Invité de passage
 
Inscription : août 2002
Messages : 24
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 24
Points : 3
Points : 3
Envoyer un message via MSN à Toxine77
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
Toxine77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2003, 13h56   #10
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h20.


 
 
 
 
Partenaires

Hébergement Web