Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 24 891 749

  • Nb. de membres 186
  • Nb. d'articles 1 269
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Problème de fenêtre en RxMui

Problème de fenêtre en RxMui#1719

4Contributeur(s)
zzd10hartblinksinisrusCreols
3 Modérateur(s)
K-LElwoodcorto
artblink artblinkicon_post
Hello,

Je viens de me rendre compte d'un problème sur RXMui, lorsque la fenêtre du programme est plus grande que la taille de l'écran, le programme ne s'ouvre pas!!!!

Quelqu'un à une combine? genre tester la résolution de l'écran ?

Je m'en suis rendu compte avec la traduction allemande des boutons, vu que les mots en allemand font 300 lettres, bin au bout d'un moment, la barre de bouton est trop large...

Merci
zzd10h zzd10hicon_post
Pour la résolution de l'écran, la bonne combine serait de se mettre au C ;-)

Blague mise à part, j'avais envoyé ce mail à Tony il y a plus d'un an, je ne sais plus trop pourquoi, certes, pour se ballader dans les structures mémoires en REXX, mais pour quelles fonctions... Pour retrouver les coordonnées Souris ???

Je me sers assez souvent de ces parcours de "data areas" en REXX au boulot sur z/OS (IBM REXX Mainframe Power), prend ce qu'il y a à l'offset 12 et 14 de la structure Screen et cela devrait le faire...

Pour le C, songes-y... :-D

Sinon, merci de me dire si ça t'a servi ou non !
"...
Tu l'as peut-être déjà vu mais toutes les fonctions pour se ballader dans les structures systèmes en?mémoires?(showlist, next, import, c2d, forbid/permit...) sont dans?Using AREXX on the Amiga - Abacus 1992???
?
?
call addlib("rexxsupport.library", 0, -30, 0)
?
do i=0 to 1000
call get_mouse_xy()
end
?
exit

GET_MOUSE_XY: procedure expose mousex mousey
?
/* mets dans "intui" l'addresse de base de la library?Intuition (struct IntuitionBase) */
/* par contre, je ne sais pas trop ce qu'est le "a" à la fin, peut-être pour dire que c'est une adresse (???) */
intui = showlist(l, "intuition.library",, a)??
?
/* plus de multi-tache pour éviter que la liste des screens change pendant qu'on la lit */
call forbid()???????
?
/*?screen = next(intui, 56)?*/
/*?mets dans "screen" l'addresse située?à56?octets?de déplacement(offset 56)?à partir du début d'IntuitionBase, doncActiveScreen ?*/
/* tables des offsets trouvée sur http://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_2._guide/node0551.html? */
/*(je l'ai mise en pièce-jointe pour la conserver) */
/*IntuitionBase:
? $0050??? 80? sizeof(IntuitionBase)
? $0000???? 0? LibNode
??$0022??? 34? ViewLord
? $0034??? 52? ActiveWindow
? $0038????56? ActiveScreen???? (pointe vers une?structure?Screen, voir ci-dessous)
*/
screen = next(intui,?56)???????
?
/* mousex = c2d(import(offset(screen, 18), 2)) */?
/* mets dans mousex et mousey les coord de la souris (j'imagine que ça affichera 1001 fois les coordonnées (i=0 to 1000))*/
/* ces coordonnées sont situées à l'adresse de base de la structure screen (ActiveScreen)?+16 et +18?*/
/* définition de la struct Screen trouvée dans?Amiga C for Advanced Programmers -?ABACUS -?3.2.1.3 p 130 */
/*struct Screen
{
?OxOO 00 struct Screen *NextScreen;
?Ox04 04 struct Window *FirstWindow;
?OxOS 08 SHORT LeftEdge;
?OxOA 10 SHORT TopEdge;
?OxOC 12 SHORT Width;
?OxOE 14 SHORT Height;
?Ox10?16 SHORT MouseY;
?Ox12?18 SHORT MouseX;
?Ox14 20 USHORT Flags;
?Ox16 22 UBYTE *Title; */
?
/*? offset(screen, 18) récupére l'adresse de MouseX contenue à l'offset 18 */
/*? c2d(import(adresse_MouseX,2)) l'import lit 2 octets en mémoire (à l'addresse MouseX) et?"c2d"?transforme ce contenu en char (2 octets car MouseX est SHORT)??*/
mousex = c2d(import(offset(screen, 18), 2)) /* Screen->MouseX */
/* je ne sais pas si c'est valable aussi en REXX mais en C il est dit qu'il ne faut pas faire de print dans un forbid()/permit() */?
say mousex????
mousey = c2d(import(offset(screen, 16), 2)) /* Screen->MouseY */
say mousey
?
/* et on remet le multi-tache */
call permit();
?
return
"
Message édité par : zzd10h / 01-12-2013 11:33
artblink artblinkicon_post
Non, je ne te le dirais pas mon calinoux ;-)

Bien sûr que si ;-)

Cool le code, maintenant, il faut que je le maitrise
zzd10h zzd10hicon_post

Et sans tout le blabla,
je viens de le tester, ça marche !


/* REXX */
call addlib("rexxsupport.library", 0, -30, 0)

intui = showlist(l, "intuition.library",, a)

call forbid()
screen = next(intui, 56)

x = c2d(import(offset(screen, 12), 2)) /* Screen->Width */
y = c2d(import(offset(screen, 14), 2)) /* Screen->Height */

call permit();

say x "x" y

return
sinisrus sinisrusicon_post
super j'avai deja un script pour ça mais le tien est bien plus clair merci :-)
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
artblink artblinkicon_post
J'ai bien recopier le code mais il m'affiche un écran de 256x256 pixels.... Heu! bizarre cette histoire
zzd10h zzd10hicon_post

screen = next(intui, 56)

prend l'écran actif, tu es sur que tu es bien sur l'écran du Workbench quand tu lances le REXX ?
artblink artblinkicon_post
Pas sur mais il n'y a que celui là qui est ouvert, comment je peux faire pour activer l'écran workbench? Et je sais pas d'ou viens cette résolution... 256x256, c'est bizarre comme écran !

T'en pense quoi ma poulette?

J'ai mis ton bout de code dans Init:

Il est peut être la le problème
Message édité par : artblink / 01-12-2013 11:11
artblink artblinkicon_post
Le problème était bien là, je l'avais mis trop tard dans le code, maitenant ça fonctionne nickel ;-)

Superbe code ma biche interstellaire

Par contre, il est super ton lien ;-)

C'est dommage que quasi toutes les docs Amiga soient en anglais, c'est chiant à lire quand même, mais bon...

J'y retourne les potos :-D
artblink artblinkicon_post
Ce serai cool d'avoir sur ANG des partie dev avec des traductions francaise des commandes de plusieurs langage ainsi que des exemple de code... C'est possible les ami(e)s

j'ai mis (e) mais on doit être que des bonhommes sur ce site.... :-D

Bandes de Geeks va :=!
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme