Besoin d’aide RxMui
-
/* ben alors on teste pas son ouverture de ficher ? ce n’est pas parce que le fichier « existe » que tu pourra l’ouvrir si quelqu’un d’autre l’utilise */
IF OPEN(maBase, »fichier.data », READ) THEN DO
Comment ça ? L’ouverture est en « SHARED_LOCK », non ?
Y a t’il une doc quelque par pour apprendre et comprendre ?
En faite la ou je bloque surtout en ce moment c’est pour les fonction set(), domethode(), notify() … je n’arrive pas a savoir ce que je doit mettre comme valeur, attribue, etc…
je ne trouve pas dans la docs de rxmui comment savoir :
par exemple :
set(« Fname », »contents »,file.j.name)
le « contents » ça correspond à quoi? ou je peu avoir des info pour savoir quand je doit mettre « contents » ou autre chose??!! je suis perdu c’est vrament tres dur pour moi je pense que c’est un cape à passé mais la je galère…
AdminPour comprendre MUI, il faut lire les explications de sa conseption en… anglais…
Programmation objet:
Chaque « partie » de l’application est un « Objet » MUI.
Les différents type d’objet sont appelé des Classes.
Pour créer un Objet, il faut en fait créer une instance de la classe.
Chaque objet a des Attributs et des Methodes.
Un attribut est une sorte de paramètre. On le défini avec un Tag (valeur hexadécimale à la quelle on donne un nom pour le rendre « lisible »).
Chaque Tag a une donnée qui peut être lue (Get) écrite (Set) et aussi notifiée pour que les objets puissent dialoguer entre eux et le programme. Cet attributs sont bien sur lié à l’objet avec lequel on travail.
Il y a les Methodes (qui elle aussi sont référencées sous forme de tag) qui sont executée par la fonction DoMethod.
Les methodes et les attributs sont spécifique à chaque classe.
Les classes « fille » dans l’arboressence que tu as vu dans les précédents postes « héritent » de leurs parent les attributs et les methodes.
Tout ce consept qui apparait plus clairement dans la programmation MUI en C est noyé dans une glue pour le rentre utilisable en RxMUI.
Pour les attributs, prenons l’exemple de la classe Area (surface rectangulaire):
http://alfie.altervista.org/rxmui/rxmuidoc/areaclass.html
Il y a la liste des attributs (name), le type indique quel type d’attribut c’est: S=String=Chaine de caractère, N=Numérique entier, C=Caractère etc…
La colonne « Class » indique de quoi est capable l’attribut, ISGN:
I=Init, on peux l’utiliser lors de la création de l’objet.
S=Set, on peut définir la valeur après sa création
G=Get, on peut lire la valeur
N=Notify, on peut notifier cette attribut
Après, il y a les Methodes (Area n’en a pas en RxMUI).
Les methodes sont des fonctions que peuvent demander un ou plusieurs paramètres qui sont eux aussi expliqué dans la documentation.
Quand on parle de Set ou de Get pour les attributs, ce sont en fait des Methodes (déguisée pour faciliter leur utilisation).
Set(zone, « Background », ButtonBack)
peut s’écrire:
DoMethod(zone, « Set », « Background », « ButtonBack »)
Regarde en bas de cette page:
http://alfie.altervista.org/rxmui/rxmuidoc/notifyclass.html
La methode « Set » prends deux arguments:
, . Ici l’attribut est « Background » et la valeur du paramètre est « ButtonBack ».
Sans comprendre l’anglais, programmer est une corvée car tout y fait référence. Et vu le nombre de classes/attributs/methodes, il est difficile de tous les retenir sans que la traduction naturelle permette des les comprendre.
Non content d’avoir un haut niveau de complèxité, MUI est encore plus dur à appréhender sous sa forme Arexx cas il faut composer avec les limites du language et jongler avec la notion de variable arexx (cf ce que j’ai expliqué avant).
Mais un des avantages d’arexx , c’est que tout est vérifié lors de l’execution, pas de compilation et les erreurs sont « décrite » en anglais…
Dans un premier temps, familiarise toi avec les termes anglais avant de tenter au pif.
A+
/me qui ne veut pas saper le moral mais il en fait pout apprendre un language de programmation.
sinisrus ! tu m’épate , quand tu aura la main on codera myrenameseason ensemble : /me connais pas rxmui ni mui d’ailleurs /
rxmui est universel : Aros, Mos , Aos ?
Rxmui fonctionne sur amiga classic et amigang, morphos pour aros je sais que l’arexx fonctionne via la library regina mais je sais pas pour rxmui j’aurrai envie de dire oui mais je sais vraiment t pas.
Madmin = ok myrenamesaison mais j’ai beaucoup a apprendre avant ça serait bien que tu apprenne aussi l’arexx c’est pas si dur et vu que tu connais le C tu ne va pas trop galérer mais pour rxmui (la partie mui) c’est plus complexe mais je ne pense pas insurmontable juste de la motivation et du temps
Toujours et encore sur mon projet j’aurrai besoin d’un p’tit coup de pouce (Oui encore )
voila le problème avec la classe :listview dans un popobject
Voici le lien du fichier :
http://amitheme.amiga-ng.org/Amiga/PopO.rexx
Ce que j’aimerai :
– C’est lorsque l’on clique sur %s ou %d cela s’ajoute au string a la suite et pas que cela efface le contenu du string
– et je voudrai qu’il n’y ai que « %s » ou %d qui s’ajoute dans le string et pas (« %s chemin source »…)
Voilà une manière:
Utiliser une liste avec 2 colonnes et ne récupérer que la 1er colonne.
Ensuite on l’insert via la méthode qui va bien à l’endroit du curseur.
pg.0="Lv"
lv.Class="Listview"
lv.list="l"
l.Format="0,1"
l.Title="Abrev|Description"
l.0="%S|Chemin source"
l.1="%D|Chemin de déstination"
po.String=String("Opt")
/* Version 1 */
po.CloseFun="abrev=xget('l','ActiveEntry0');call DoMethod('Opt','InsertText',abrev)"
/* Version 2 */
po.CloseFun="get('l','ActiveEntry0','abrev');call DoMethod('Opt','InsertText',abrev)"
Les deux versions c’est pour te montrer les deux manières de faire un Get.
La version « xget() » est utilisable dans les test (IF).
Voilà
A+
Encore une autre questions : au sujet de ces fonctions
HFSpace – VFSpace = Horiz -vertic = la c’est pour un espace fixe
HSpace – VSpace = horiz – vertic = mais la j’ai aussi un espace fix lorsque je tape une valeur?! alors que ça devrai pas non?!
HWSpace – VWSpace = la je pense qu’il y a un bug car chez moi si je tape gp.1=VWSpace(400,200) alors que dans la doc il est écrie que l’on peut mettre deux valeur h et v pour la poids ?!
HVSpace = ici c’est ok pour moi (c’est pour les deux horiz et vertic) mais c’est fix aussi
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Besoin d’aide RxMui