# Besoin d'un guidage sérieux



## pat77176 (3 Août 2011)

Bonjour à tous
Débutant de zéro en développement Mac et je n'ai plus fait de C depuis ... 1982. C'est dire si je suis tout blanc! J'ai développé une application en VB6 et qui est installée sur plusieurs sites en France. L'application contrôle des températures extérieures acquises via une interface USB et fait tout un tas de contrôles, gère des alarmes suivant les valeurs, etc ...
Cette application a déjà tourné sous OS X sous Parallel Desktop et Windows XP. Mais je souhaiterai en faire une version spécifique Mac OS X. Voici, grosso-modo, tout ce que je dois mettre en place et tout conseil judicieux sera apprécié. A ce propos, j'en suis désolé, mais je vais devoir indiquer quelques objets utilisés sous VB6 pour me faire comprendre :

IHM de l'application
- Multi-fenêtres dont quelques fenêtres modales (feuilles ?)
- Construction dynamique d'une interface graphique  à partir d'un fichier de configuration propre à l'installation locale : affichage de dessins (jpg) de l'installation, création de N boutons avec emplacement, nom, couleur, action spécifiques
- Suivant le contexte, le dessins affiché et les boutons présents changent
- Composants graphique à couleurs changeante
- Utilisation de timers pour certains clignotement
- Saisie/présentation de données en mode texte (NSStrings) formatés
- Présentation de données sous forme graphique
- affichage de données sous la forme de grilles (en VB6, j'utilise l'objet MSFlexGrid) avec scrolling horizontal

Acquisition de données (en VB6, j'utilise l'objet de communication série MSComm)
- Acquisition de données extérieures en mode texte sur dispositif USB (protocole de la forme question/réponse)
- Localisation automatique du système d'acquisition puis utilisation (trouver sur quel port il est connecté).
- Acquisition de donnée cadencée par un timbre (enchaînement de sessions sur toute l'installation)
- Contrôle du protocole de communication par un timer (Timeout)

Impressions couleurs (en VB6, j'utilise l'objet pourri Printer) 
- Impressions à la demande
- Impressions automatiques

Tracé de graphes (En BV6, j'utilise un objet MSChart)
- Récupération de données archivées
- Constitution et tracé de graphe
- Impression du graphe

Enregistrement de données - Archivage (en VB6, je pilote des classeurs Excel mais je préfère passer avec des fichiers spécifiques)
- Enregistrement automatique (planning) ou manuelle des données acquises
- Archivage des mesures en fin de chaque mois

Gestion de mot de passe et de préférences (réglages)
- Création et gestion de mot-de-passe
- Réglages de l'application

Voilà les principales caractéristiques de ce que je veux porter sous Mac ...
Alors je me pose tout un tas de questions, amplifiées par tout ce que je lis sur le développement XCode-Cocoa. Les tutoriaux sont toujours basés sur des réalisations trop simples !

Merci d'avance aux spécialistes qui me tuyauteront efficacement !


----------



## pat77176 (6 Août 2011)

Non ...

vu l'enthousiasme et l'intérêt suscité par ce sujet, je suggère au modérateur de carrément la supprimer ... je pensais que quelqu'un saurait me donner QUELQUES conseils judicieux, ne serait-ce que comment aborder le problème sur Mac ou comment m'organiser ...

comem ce n'est pas le cas, autant clore le sujet


----------



## Larme (6 Août 2011)

En fait, tu en demandes beaucoup...
Et beaucoup de ce que tu demandes est en partie (voire totalement) expliqué dans le livre_ Programmation Cocoa sous Mac OS X_ d'_Aaron Hillegass_...


----------



## pat77176 (7 Août 2011)

Larme a dit:


> En fait, tu en demandes beaucoup...
> Et beaucoup de ce que tu demandes est en partie (voire totalement) expliqué dans le livre_ Programmation Cocoa sous Mac OS X_ d'_Aaron Hillegass_...




Non, non ... je ne voulais pas tout ... j'ai mis le détail de mon appli pour montrer que c'était complexe mais très sérieux. Je vais acheter le bouquin mais j'attends la sortie en septembre. Mais un point de départ, par exemple, serait de me dire simplement comment on fait quand on a plusieurs fenêtres parce que les tutoriels proposent toujours un exemple à une seule fenêtre : plusieurs nib ? un seul pour toutes ? comment on passe de l'une à l'autre etc ... Une fois bien mis sur les rail, je me demm... brouille !!!


----------



## ntx (7 Août 2011)

Pourquoi plusieurs fenêtres ? Plusieurs documents ? 

Pour ma part, je fais un nib par fenêtre mais ce n'est pas une obligation. Je trouve juste que c'est plus simple pour créer le contrôleur.

Lis le bouquin de Hillgass, car franchement la façon d'aborder Cocoa ne se discute pas sur un forum, c'est trop complexe.


----------



## pat77176 (8 Août 2011)

ntx a dit:


> Pourquoi plusieurs fenêtres ? Plusieurs documents ?
> 
> Pour ma part, je fais un nib par fenêtre mais ce n'est pas une obligation. Je trouve juste que c'est plus simple pour créer le contrôleur.
> 
> Lis le bouquin de Hillgass, car franchement la façon d'aborder Cocoa ne se discute pas sur un forum, c'est trop complexe.




Ben c'est ce que je vais faire, j'attends juste la sortie de la nouvelle version correspondant à xCode 4 et qui sors le 2 ou 3 septembre !


Peut-être une question supplémentaire sur un aspect que j'avais oublié de mentionner :
dans la version Windows, l'application est capable de lancer un long traitement (acquisition des données, controle et rangement des valeurs) qui se prolonge en tâche de fond jusqu'à ce qu'on l'arrête explicitement et pendant ce temps, d'autres fonctions "administratives" sont accessibles comme faire des impressions, gérer des fichers etc ... Est-ce possible ici ?


----------



## Céroce (8 Août 2011)

Oui, en utilisant des _threads_.


----------



## ntx (8 Août 2011)

Céroce a dit:


> Oui, en utilisant des _threads_.


Un "peu" de lecture pour approfondir le sujet


----------



## pat77176 (10 Août 2011)

ntx a dit:


> Un "peu" de lecture pour approfondir le sujet



Faut pas croire non pus que j'attends que ça tombe tout rôti ... j'ai fait beaucoup de tri dans 
lz Mac OS X Reference Library ... j'ai chargé pas mal de pdf qui semblent consacrés à ce qui intéresse mon application ... et j'ai commencé à lire tout ça.

Un aspect très déroutant de la chose, c'est aussi la syntaxe tout à fait particulière du langage Objective-C et j'espère que le bouquin de Hillman présente la chose parce que quand on tombe sur des lignes comme :
-(void) insertObject(id)anObject(unsigned int)index
et que dans d'autre, le "-" est remplacé par un "+", on se dit qu'il y a une logique là-dedans et que ça ne s'improvise pas ...

Si en plus d'apprendre tout ces nouveaux concept, faut le faire à la Champollion !!!


----------



## ntx (10 Août 2011)

pat77176 a dit:


> le "-" est remplacé par un "+"


+ méthodes de classes, ou encore "static" dans le vocabulaire C++ ou Java
- méthode d'instances.


----------



## pat77176 (10 Août 2011)

ntx a dit:


> + méthodes de classes, ou encore "static" dans le vocabulaire C++ ou Java
> - méthode d'instances.



Comme je dis toujours : quand on sait, c'est facile ! Comme quoi il y a bien un langage à apprendre et j'espère trouver ... jusqu'à présent, mes recherches sur "syntaxe d'objective-c" n'ont rien donné. Merci d'avoir répondu


----------



## ntx (11 Août 2011)

Pour l'Objective-C la doc d'Apple en ligne est très bien.


----------

