Salut à tous, je travail avec delphi 7 et je voudrai faire un planning avec, es ce qu'il y'a parmi ses composant de quoi faire ?
Salut à tous, je travail avec delphi 7 et je voudrai faire un planning avec, es ce qu'il y'a parmi ses composant de quoi faire ?
Je vais essayé de faire avec un composant que je découvre TStringGrid, Qu'es ce que vous pensez ?
Bonjour,
il te faudra surement une base de données pour stocker les évènements de ton planning ? Tu pourrais alors plutôt utiliser un DBGrid ?
Sinon tu peut stocker dans un fichier (TFileStream par exemple ou simplement txt) ou dans Excel.
Il y a aussi DateTimePicker et MonthCalendar pour saisir les dates.
A+
Charly
Mon site : http://lapaille.byethost24.com/index.htm
Bonjour,
Tout dépend du type de planning que vous voulez !
TMS propose effectivement quelque chose d'excellent pour peu que vous vouliez vous fendre de quelques euros.
La JVCL propose également une représentation (jvTimeLine)
Et sinon il est effectivement possible avec un TStringGrid de faire une représentation d'un planning (de type gantt)
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Bonjour,
pour passer à la ligne dans une cellule de StringGrid c'est Ctrl + Enter (et non Enter seul). C'est un standard Windows ancien, car la touche Enter sert à valider le bouton actif dans un dialog classique.
Pour les couleurs regarde ici
De plus, il y a eu une discussion sur le forum, il y a peu de temps pour mettre en couleur une seule cellule d'un StringGrid
A+
Charly
Mon site : http://lapaille.byethost24.com/index.htm
Pour permettre la modification des dimensions des lignes et colonnes à l'exécution, il faut mettre goRowSizing et goColSizing à true dans la propriété options
Mon site : http://lapaille.byethost24.com/index.htm
Également 2 rubriques de la Faq qui te serviront :
pour passer à la ligne avec Enter
et pour enregistrer ta grille dans un fichier ou la relire
A+
Charly
Mon site : http://lapaille.byethost24.com/index.htm
Rebonjour,
pour mettre la cellule [2, 2] en rouge avec texte en blanc :
A+
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 procedure TF_Test.StringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin With Sender As TStringGrid Do With Canvas Do Begin { Sélection de la couleur de fond et de police} If ((ARow =2) And (ACol = 2)) Then Begin Brush.Color := clRed ; SetTextColor(Canvas.Handle,clWhite) ; End Else Begin Brush.Color := clWhite; SetTextColor(Canvas.Handle,clBlack); End ; { Dessin du fond } FillRect(Rect); { Affichage du texte } DrawText(Canvas.Handle, PChar(Cells[ACol,ARow]), -1, Rect , DT_CENTER or DT_NOPREFIX or DT_WORDBREAK ); End; end;
Charly
Mon site : http://lapaille.byethost24.com/index.htm
Bonsoir,
déroule la propriété Options (en cliquant sur le +), tu trouveras goRowSizing et goColSizing dans D7
Charly
Mon site : http://lapaille.byethost24.com/index.htm
Bonjours, Il me reste deux choses et ça sera super, d'abord es ce que c'est possible qu'une cellule reçoit plusieurs lignes ? Ensuite au lancement j'ai deux axes sur la 1ere ligne j'ai les dates du 01janvier2017 jusqu'au 31decembre2017 et sur la 1ere colonne j'ai les horaire, bon j'ai pu les affiché, mais je voudrais que chaque jours s'affiche sur la 2eme colonne la date courante sans perdre sur ce le tableau l'historique des dates précédentes depuis le 1janvier2017
Bonjour,
pour écrire sur plusieurs lignes avec la touche Enter, tu dois programmer le OnKeyDown du StringGrid comme dans la FAQ :
et aussi mettre goAlwaysShowEditor de Options à True
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_RETURN then StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] + sLineBreak; end;
Pour afficher la colonne N à l'affichage de la fiche, tu mets la propriété Scrollbars du StringGrid à ssHorizontal et dans le OnShow de la Form, :
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part StringGrid1.Col := N+1 ;
Charly
Mon site : http://lapaille.byethost24.com/index.htm
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager