[C++ Builder] Label

Label [C++ Builder] - C++ - Programmation

Marsh Posté le 12-05-2003 à 23:00:18    

Est-ce que quelqu'un peut me dire pourquoi ni mon label ni mon bouton ne s'affiche. La fonction n'est evidement pas complete mais ca ne m'enballe pas de continuer sur un truc qui foire :p
PS : Je suis obligé de créer les objets de manière dynamique.
 

Code :
  1. void __fastcall TForm1::Stat1Click(TObject *Sender)
  2. {
  3.         int Mots,Lignes,Maj,Min;
  4.         TForm *Stat1=NULL;
  5.         Stat1=new TForm(Form1);
  6.         if(Stat1)
  7.         {
  8.                 Stat1->Icon->LoadFromFile(chemin+"Clipboard.ico" );
  9.                 Stat1->Caption="Statistiques du texte";
  10.                 Stat1->Parent;
  11.                 Stat1->Position=poMainFormCenter;
  12.                 TLabel *Lab1=NULL;
  13.                 Lab1=new TLabel(Stat1);
  14.                 if(Lab1)
  15.                 {
  16.                         Lab1->AutoSize=true;
  17.                         Lab1->Caption="Nombre de mots : ";
  18.                         Lab1->Parent=this;
  19.                 }
  20.                 TButton *OKButton=NULL;
  21.                 OKButton=new TButton(Stat1);
  22.                 if(OKButton)
  23.                 {
  24.                         OKButton->Parent=this;
  25.                 }
  26.                 Stat1->ShowModal();
  27.                 delete Stat1;
  28.                 Stat1=NULL;
  29.         }
  30. }

Reply

Marsh Posté le 12-05-2003 à 23:00:18   

Reply

Marsh Posté le 12-05-2003 à 23:05:01    

peut-être est-ce que la propriété visible est définie par défaut à false?


Message édité par haazheel le 12-05-2003 à 23:05:16
Reply

Marsh Posté le 12-05-2003 à 23:48:45    

Lab1->Parent=this;
 
ca devrait pas plutôt être
 
Lab1->Parent=Stat1;
?


Message édité par antp le 12-05-2003 à 23:48:56

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-05-2003 à 02:07:41    

et moi ça me semble bizarre:
 
TButton *OKButton=NULL;
 
Pourquoi mettre =NULL??

Reply

Marsh Posté le 13-05-2003 à 08:04:20    

ok merci j'vais essayer.
 
Je cherche aussi a compter le nombre de mots et de lettres  (maj et min) d'un TRichEdit -> Cmt faire?
 
PS: je le met a NULL pour etre sur que le pointeur ne soit pas créer nimporte où! (enfin c'est ce qu'on m'a appris j'suis debutant) :p

Reply

Marsh Posté le 13-05-2003 à 10:04:31    

koybe a écrit :


PS: je le met a NULL pour etre sur que le pointeur ne soit pas créer nimporte où! (enfin c'est ce qu'on m'a appris j'suis debutant) :p


 
C une louable intention mais c pas franchement utilequand tu affecte une valeur à ton pointeur à la ligne suivante. Vire le NULL et fait une seule ligne (truc *monPointeur = new truc()). Enfin bon trop de prudence n'a jamais tué personne :D


---------------
Le Tyran
Reply

Marsh Posté le 13-05-2003 à 13:05:13    

merci ca marche... question est-ce qu'on peut mettre plsusieurs ligne, formatter un texte dans un seul label ?
(pour mettre plusieur resultats trouves)
Ou faut-il creer X Label?

Reply

Marsh Posté le 13-05-2003 à 13:17:28    

Non...
 
A chaque fin de ligne tu mets \r\n

Reply

Marsh Posté le 13-05-2003 à 13:57:42    

une autre solution est un TMemo dont tu modifies l'apparence (Border = none, ParentColor = true, Readonly = true), et là tu peux accéder aux lignes individuellement vu que tu as la propriété Lines qui est en fait un TStrings.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-05-2003 à 14:20:13    

merci antp :)
en fait j'vais trouver en attendant compiler tout mes result dans une ansistring et la passer comme label
m'enfin j'prends note :)

Reply

Marsh Posté le 13-05-2003 à 14:20:13   

Reply

Marsh Posté le 13-05-2003 à 14:39:05    

Comment faire en sorte de fermer la fenetre Stat1 sur l'événement OnCLick de OKButton?
Comment calculer le nombre de mots, de majuscules et de minuscules d'un RichEdit?
Pour le nombre de lignes j'ai fait RichEdit1->Lines->Count;
Mais pour le reste je vois pas!

Reply

Marsh Posté le 13-05-2003 à 14:43:39    

koybe a écrit :

Comment faire en sorte de fermer la fenetre Stat1 sur l'événement OnCLick de OKButton?


 
Si tu ne dois pas faire de traitement dans ton OnClick: OKButton->ModalResult = mrOk;
 
(ShowModal renverra mrOk si on clique sur Ok, sinon mrCancel ou mrNone je sais plus si on ferme la fenêtre avec le "X" )
 

koybe a écrit :


Comment calculer le nombre de mots, de majuscules et de minuscules d'un RichEdit?
Pour le nombre de lignes j'ai fait RichEdit1->Lines->Count;


Code :
  1. s = RichEdit1->Lines->Text;
  2. for(int i = 0; i < s.Length(); i++)
  3. {
  4.   if(s[i] >= 'A' && s[i] <= 'Z')
  5.     maj++;
  6.   else
  7.   if(s[i] >= 'a' && s[i] <= 'z')
  8.     min++;
  9. }


pour le nombre de mots, bah faut regarder les caractères de ponctuation et les espaces, tj dans ce même for


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-05-2003 à 14:51:48    

merci beacoup pour ton aide.... magnifique :D j'my colle :)

Reply

Marsh Posté le 13-05-2003 à 15:35:07    

Quand je fait ca

Code :
  1. s = RichEdit1->Lines->Text;


J'obtiens un AnsiString avec des retours chariots après chaque mots -> ca plantait avec le tableau mais en faisant des selection (TString ca fonctionne)
maintenant en considérant que j'ai que des espaces qui séparent les mots.. il me suffit de compter le nombre de retour chariot dans s ? non?
Comment faire ca?
Je peux plus utiliser le principe de sélection vu que c'est une Ansistring et plus une TString.


Message édité par Koybe le 13-05-2003 à 15:36:23
Reply

Marsh Posté le 13-05-2003 à 15:43:14    

ha ouais dans le RTF y a tous les codes de formatage :/ j'ai jamais touché à ça ...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-05-2003 à 15:45:44    

arf dommage ;)
Ce que tu m'as dit m'a quand meme beaucoup aider! :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed