Listbox erreur

Résolu
cs_Valeriu Messages postés 9 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 11 octobre 2006 - 21 oct. 2005 à 20:31
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 23 oct. 2005 à 01:54
J'ai mit une timer sur un form.A chaque 300 ms il prenne le contenu d'un fichier text et il le met dans une listbox.La pb c'est qu'il le met aussi sur le caption du form.Le fichier a au plus 100 lignes avec une seule mot sur chacune.Et je supprime le contenu du listbox a chaque fois(j'essaye de lire le contenu du fichier avec des fonctions api aussi,mais j'ai toujours le texte affiche sur le caption :)).
Voila aussi le code :

procedure TForm1.Timer2Timer(Sender: TObject);
var temp,ms,st:string;
i,address:integer;
begin
temp:='';
ListBox1.Items.Clear;
ListBox1.Items.LoadFromFile('results.txt');
for i:=0 to ListBox1.Items.Count-1 do
begin
temp:=temp+ListBox1.Items.Strings[i];
end;
if temp<>text then
begin
address:=1;
ms:=Chr(13)+Chr(address)+'P1'+Chr(113);
ms:=ms+ms;
ms:=ms+ms;
WriteString(ms);
text:=temp;
end;

end;

Si vous avez des idees,ca serait super.

4 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
23 oct. 2005 à 01:32
if temp<>text then
begin
address:= 1;
ms:=Chr(13)+Chr(address)+'P1'+Chr(113);
ms:=ms+ms;
ms:=ms+ms;
WriteString(ms);
text : =temp;
end;

le problème est ici

Text ici est égale à Form1.Caption

Procdure TForm1.Button1Click(Sender : TObejct);
Begin
Text := 'DelphiFR c''est Cool';
End;

vous change le Titre de votre Form

@+
Cirec
3
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
22 oct. 2005 à 11:46
Je n'ai pas vraiment compris à quoi sert de la fin de ton code... Peux-tu expliciter un peu plus ce que tu veux faire

Tu parles de la barre de titre de ton application quand tu dis "Caption" ? Si oui, pourquoi ne pas y accéder avec Form1.Caption ?



Aussi, pourquoi ne pas faire directement temp := ListBox1.Items.Text plutôt que de passer par une boucle for ?

@+

Nico { http://www.ni69.new.fr/ }




<hr size ="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
cs_Valeriu Messages postés 9 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 11 octobre 2006
22 oct. 2005 à 18:05
Le code ca sert a envoye une message vert le port serial.Et ca ca marche sans problems.Je peut acceder a la barre de titre avec form1.caption mais...cette procedure la change de nouveau,chaque fois quand elle detect une changement de text.
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
23 oct. 2005 à 01:54
Petite préscision:
Text est de Type TCaption est une propriétée de TControl

Donc si dans ton cas (Text) est une une variable qui sert a envoyer via le port serie il faut soit

- si elle fait partie d'un composent, if faut présciser : NomComposent.Text

- si elle est déclarée en dehors, il faut la changer en : Texte par Ex.

@+
Cirec

<HR color=#006400 SIZE=7>


N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
Rejoignez-nous