OVH Cloud OVH Cloud

Besoin d'aide -Premmier petit petit programe «Compteur»

4 réponses
Avatar
Polux
Bon voilà, j'ai commencé mon premier petit petit programme.

C'est un compteur.

Description de l'interface:
Il y a trois champs qui doivent être remplis par l'utilisateur.

- Le 1 champ «départ» disons «1»
- Le 2 champ «incrément» disons «1»
- Le 3 champ «arrivé» disons «100»

Les quatre autres champs sont remplis par le MacIntosh

- L'afficher qui affiche les incrémentation
- L'heure de départ
- L'heure d'arrivé
- Le temps écoulé

Comme je le disais, c'est mon tout premier programme. Je ne maîtrise
pas encore grand chose!!!

Mon problème: c'est que je n'arrive pas à affiché le résultat de mon
compteur dans l'afficheur.

J'ai pioché la dessus au moins deux heures. Je suis certain que parmi
vous y en as qui peuvent m'expliqué ça en cinq Minutes. Ça ne doit pas
être compliqué.

Merci.


Ici, le code:

/* Controlleur */

#import <Cocoa/Cocoa.h>

@interface Controlleur : NSObject
{
//ici je plogue les champs de façon à pouvoir implanté les valeurs.

// probablement: pas bon
///////////////////////////////////////////
IBOutlet NSMutableString * afficheur;
///////////////////////////////////////////
// probablement: pas bon

IBOutlet NSTextField * hArrive;
IBOutlet NSTextField * hDepart;
IBOutlet NSTextField * tEcoule;
// ici je plogue les champs de façon à pouvoir extraire les valeurs
IBOutlet id arrive;
IBOutlet id depart;
IBOutlet id increment;
IBOutlet id incrementeur;

//Déclaration de variable
//NSObject * i =[[NSObject alloc] init];
}
- (IBAction)depart:(id)sender;
@end







#import "Controlleur.h"

@implementation Controlleur

- (IBAction)depart:(id)sender
{
/* Prépartion des variables */
float start = [depart floatValue];
///////////////////////////////////////////////////////////////////////////////////////////
float

float i = start; ////////////////////// peut-être que je devrais
déclarer la variable i
/////////////////////////////////////////// mais ça fonctionne quand même!

float a =[increment floatValue];
float stop =[arrive floatValue];

[hDepart setObjectValue: [NSCalendarDate date]];

//ici je doit construire la boucle.
while (i < stop)
{
i =(i + a);
//Erreur
/////////////////////////////////////////////////////////////
[afficheur setMutableStringValue:(float)i];
/////////////////////////////////////////////////////////////
//Erreur
}

[hArrive setObjectValue: [NSCalendarDate date]];
}

--
Polux

4 réponses

Avatar
testuz73
Polux wrote:

Bon voilà, j'ai commencé mon premier petit petit programme.

C'est un compteur.

Description de l'interface: Il y a trois champs qui doivent être remplis
par l'utilisateur.

- Le 1 champ «départ» disons «1» 2 champ «incrément» disons «1» 3
- Le champ «arrivé» disons «100»

Les quatre autres champs sont remplis par le MacIntosh

- L'afficher qui affiche les incrémentation 'heure de départ 'heure
- Ld'arrivé e temps écoulé

Comme je le disais, c'est mon tout premier programme. Je ne maîtrise pas
encore grand chose!!!

Mon problème: c'est que je n'arrive pas à affiché le résultat de mon
compteur dans l'afficheur.

J'ai pioché la dessus au moins deux heures. Je suis certain que parmi vous
y en as qui peuvent m'expliqué ça en cinq Minutes. Ça ne doit pas être
compliqué.

Merci.


Ici, le code:

/* Controlleur */

#import <Cocoa/Cocoa.h>

@interface Controlleur : NSObject { //ici je plogue les champs de façon à
pouvoir implanté les valeurs.

// probablement: pas bon ///////////////////////////////////////////
IBOutlet NSMutableString * afficheur;
/////////////////////////////////////////// // probablement: pas bon

IBOutlet NSTextField * hArrive; IBOutlet NSTextField * hDepart;
IBOutlet NSTextField * tEcoule; // ici je plogue les champs de façon à
pouvoir extraire les valeurs IBOutlet id arrive; IBOutlet id depart;
IBOutlet id increment; IBOutlet id incrementeur;

//Déclaration de variable //NSObject * i =[[NSObject alloc] init];
} - (IBAction)depart:(id)sender; @end







#import "Controlleur.h"

@implementation Controlleur

- (IBAction)depart:(id)sender { /* Prépartion des variables */ float start
= [depart floatValue];
//////////////////////////////////////////////////////////////////////////
///////////////// float

float i = start; ////////////////////// peut-être que je devrais
déclarer la variable i /////////////////////////////////////////// mais ça
fonctionne quand même!

float a =[increment floatValue]; float stop =[arrive floatValue];

[hDepart setObjectValue: [NSCalendarDate date]];

//ici je doit construire la boucle. while (i < stop) { i =(i + a);
//Erreur /////////////////////////////////////////////////////////////
[afficheur setMutableStringValue:(float)i];
///////////////////////////////////////////////////////////// //Erreur }

[hArrive setObjectValue: [NSCalendarDate date]]; }


Salut,

Il y a sans doute en effet plusieurs choses qui pourraient être
changées. Mais comme je n'ai pas vraiment compris ce que tu veux faire
on va déjà se contenter de ça :

IBOutlet permet à InterfaceBuilder de savoir quelles sont les variables
d'instances qui sont des outlets et donc peuvent avoir un lien avec un
élément de l'interface. Tu déclares afficheur comme un NSMutableString,
mais cette classe n'a aucune interface graphique, c'est une chaîne de
caractère qui peut être modifiée. D'où le problème que tu obtiens dans
ton code. J'essaierai déjà

IBOutlet NSTextField *afficheur;

puis

[afficheur setFloatValue:i];

-- Frédéric Testuz <mailto:

Avatar
Poluxa
On 2004-02-16 14:30:28 -0500, Polux said:

Bon voilà, j'ai commencé mon premier petit petit programme.

C'est un compteur.

Description de l'interface:
Il y a trois champs qui doivent être remplis par l'utilisateur.

- Le 1 champ «départ» disons «1»
- Le 2 champ «incrément» disons «1»
- Le 3 champ «arrivé» disons «100»

Les quatre autres champs sont remplis par le MacIntosh

- L'afficher qui affiche les incrémentation
- L'heure de départ
- L'heure d'arrivé
- Le temps écoulé

Comme je le disais, c'est mon tout premier programme. Je ne maîtrise
pas encore grand chose!!!

Mon problème: c'est que je n'arrive pas à affiché le résultat de mon
compteur dans l'afficheur.

J'ai pioché la dessus au moins deux heures. Je suis certain que parmi
vous y en as qui peuvent m'expliqué ça en cinq Minutes. Ça ne doit pas
être compliqué.

Merci.


Ici, le code:

/* Controlleur */

#import <Cocoa/Cocoa.h>

@interface Controlleur : NSObject
{
//ici je plogue les champs de façon à pouvoir implanté les valeurs.

// probablement: pas bon
///////////////////////////////////////////
IBOutlet NSMutableString * afficheur;
///////////////////////////////////////////
// probablement: pas bon

IBOutlet NSTextField * hArrive;
IBOutlet NSTextField * hDepart;
IBOutlet NSTextField * tEcoule;
// ici je plogue les champs de façon à pouvoir extraire les valeurs
IBOutlet id arrive;
IBOutlet id depart;
IBOutlet id increment;
IBOutlet id incrementeur;

//Déclaration de variable
//NSObject * i =[[NSObject alloc] init];
}
- (IBAction)depart:(id)sender;
@end







#import "Controlleur.h"

@implementation Controlleur

- (IBAction)depart:(id)sender
{
/* Prépartion des variables */
float start = [depart floatValue];
///////////////////////////////////////////////////////////////////////////////////////////
float

float

float
float i = start; ////////////////////// peut-être que je devrais
déclarer la variable i
/////////////////////////////////////////// mais ça fonctionne quand même!

float a =[increment floatValue];
float stop =[arrive floatValue];

[hDepart setObjectValue: [NSCalendarDate date]];

//ici je doit construire la boucle.
while (i < stop)
{
i =(i + a);
//Erreur
/////////////////////////////////////////////////////////////
[afficheur setMutableStringValue:(float)i];
/////////////////////////////////////////////////////////////
//Erreur
}

[hArrive setObjectValue: [NSCalendarDate date]];
}


Merci pour le coup de main. C'est très apprécié.

Je ne veux pas ambitionné, je ne connais pas vos habitude et j'ai vue
des débutants ce faire «rincé» royalement sur d'autre forum.

j'aurais une autre question.

Pourquoi la valeur de mon champ «afficheur» n'est pas mis à jour à
chacune des itération? Un peu comme un odomètre.

Merci encore.
--
Poluxa

Avatar
testuz73
Poluxa wrote:

On 2004-02-16 14:30:28 -0500, Polux said:

@implementation Controlleur

- (IBAction)depart:(id)sender
{
/* Prépartion des variables */
float start = [depart floatValue];
///////////////////////////////////////////////////////////
float

float

float
float i = start; ////////////////////// peut-être que je devrais
déclarer la variable i
/////////////////////////////////////////// mais ça fonctionne quand même!

float a =[increment floatValue];
float stop =[arrive floatValue];

[hDepart setObjectValue: [NSCalendarDate date]];

//ici je doit construire la boucle.
while (i < stop)
{
i =(i + a);
//Erreur
/////////////////////////////////////////////////////////////
[afficheur setMutableStringValue:(float)i];
/////////////////////////////////////////////////////////////
//Erreur
}

[hArrive setObjectValue: [NSCalendarDate date]];
}


Merci pour le coup de main. C'est très apprécié.

Je ne veux pas ambitionné, je ne connais pas vos habitude et j'ai vue
des débutants ce faire «rincé» royalement sur d'autre forum.


Pas de quoi, mais comme j'ai aussi commencé Cocoa il n'y a pas
longtemps, ça serait vraiment de mauvaise foi de ma part.

j'aurais une autre question.

Pourquoi la valeur de mon champ «afficheur» n'est pas mis à jour à
chacune des itération? Un peu comme un odomètre.


Là, je ne peux pas t'aider. Ca doit être une question de mise à jour de
l'affichage et aussi de vitesse de la boucle. Les itérations se font si
vite que de toute façon elles vont bien plus vite que le
rafraichissement de l'écran.
Je ne l'ai encore jamais utilisé, mais moi j'irai voir du côté de
NSTimer.

PS : pour me ballader facilement dans toutes les classes et leur
description j'utilise AppKiDo.

--
Frédéric Testuz
<mailto:


Avatar
Poluxa
On 2004-02-17 04:12:30 -0500,
(Frédéric Testu z) said:

Poluxa wrote:

On 2004-02-16 14:30:28 -0500, Polux said:

@implementation Controlleur

- (IBAction)depart:(id)sender
{
/* Prépartion des variables */
float start = [depart floatValue];
///////////////////////////////////////////////////////////
float

float

float
float i = start; ////////////////////// peut-être que je devrais
déclarer la variable i
/////////////////////////////////////////// mais ça fonctionne quand même!

float a =[increment floatValue];
float stop =[arrive floatValue];

[hDepart setObjectValue: [NSCalendarDate date]];

//ici je doit construire la boucle.
while (i < stop)
{
i =(i + a);
//Erreur
/////////////////////////////////////////////////////////////
[afficheur setMutableStringValue:(float)i];
/////////////////////////////////////////////////////////////
//Erreur
}

[hArrive setObjectValue: [NSCalendarDate date]];
}


Merci pour le coup de main. C'est très apprécié.

Je ne veux pas ambitionné, je ne connais pas vos habitude et j'ai vue
des débutants ce faire «rincé» royalement sur d'autre forum.


Pas de quoi, mais comme j'ai aussi commencé Cocoa il n'y a pas
longtemps, ça serait vraiment de mauvaise foi de ma part.

j'aurais une autre question.

Pourquoi la valeur de mon champ «afficheur» n'est pas mis à jour à
chacune des itération? Un peu comme un odomètre.


Là, je ne peux pas t'aider. Ca doit être une question de mise à jour de
l'affichage et aussi de vitesse de la boucle. Les itérations se font si
vite que de toute façon elles vont bien plus vite que le
rafraichissement de l'écran.
Je ne l'ai encore jamais utilisé, mais moi j'irai voir du côté de
NSTimer.

PS : pour me ballader facilement dans toutes les classes et leur
description j'utilise AppKiDo.


Ok Merci, je allé fouiller là dedans!!!

De toute façon, je te le dit tout de suite, je vais pas m'attardé à ça
trop longtemps (2,3 heures) parce que c'est mes premier pas en solo
(autonome sans exemple dans des bouquins) et que pour le moment je
préfère apprendre à géré les «String» les chaînes de caractères la
variable etc.

La base quoi!
--
Poluxa