FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» bouton dans autre form que 0
Petit exercice autout du GRID Emptypar leclode Aujourd'hui à 13:59

» KGF_dll - nouvelles versions
Petit exercice autout du GRID Emptypar Klaus Aujourd'hui à 11:41

» Gestion d'un système client-serveur.
Petit exercice autout du GRID Emptypar Klaus Aujourd'hui à 10:23

» PANORAMIC V 1
Petit exercice autout du GRID Emptypar papydall Sam 4 Mai 2024 - 3:43

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Petit exercice autout du GRID Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Petit exercice autout du GRID Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Petit exercice autout du GRID Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Petit exercice autout du GRID Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Petit exercice autout du GRID Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Petit exercice autout du GRID Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Petit exercice autout du GRID Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Petit exercice autout du GRID Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Petit exercice autout du GRID Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Petit exercice autout du GRID Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Petit exercice autout du GRID Emptypar papydall Dim 21 Avr 2024 - 23:30

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -29%
PC portable – MEDION 15,6″ FHD Intel i7 ...
Voir le deal
499.99 €

 

 Petit exercice autout du GRID

Aller en bas 
+2
Jicehel
Klaus
6 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12289
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Petit exercice autout du GRID Empty
MessageSujet: Petit exercice autout du GRID   Petit exercice autout du GRID EmptyVen 30 Mar 2012 - 23:49

J'ai fait un petit programme qui affiche un GRID de 15 lignes et 10 colonnes. En cliquant sur une cellule quelconque, 3 boutons s'affichent par-dessus la cellule: deux boutons pour charger un texte "XXX" et "YYY" dans la cellule, et un bouton pour effacer la cellule. Les boutons se déplacent selon les clics dans les cellules:
Code:
label click_grid, charger_x, charger_y, effacer

dim i%, lig%,col%, x%,y%

width 0,800
grid 100 : top 100,10 : left 100,10
  grid_column 100,10 : grid_row 100,15
  width 100,700 : height 100,400
  on_click 100,click_grid
for i%=2 to 10
  grid_write 100,1,i%,"Colonne "+str$(i%)
next i%
for i%=2 to 15
  grid_write 100,i%,1,"Ligne "+str$(i%)
next i%

button 10 : hide 10 : height 10,12 : width 10,32
  caption 10,"XXX" : on_click 10,charger_x
button 11 : hide 11 : height 11,12 : width 11,32
  caption 11,"YYY" : on_click 11,charger_y
button 12 : hide 12 : height 12,12 : width 12,64
  caption 12,"Effacer" : on_click 12,effacer

end

click_grid:
  y% = mouse_y_left_down(100)
  x% = mouse_x_left_down(100)
  if lig%>0
    hide 10
    hide 11
    hide 12
  end_if
  lig% = grid_y_to_row(100,y%)
  col% = grid_x_to_column(100,x%)
  top 10,(lig%-1)*25  + top(100) + 3
  left 10,(col%-1)*65  + left(100)+ 3
  top 11,(lig%-1)*25  + top(100) + 3
  left 11,(col%-1)*65  + left(100)+ 3 + 32
  top 12,(lig%-1)*25  + top(100) + 3 + 12
  left 12,(col%-1)*65  + left(100)+ 3
  show 10
  show 11
  show 12
  return
 
charger_x:
  grid_write 100,lig%,col%,"XXX"
  hide 10
  hide 11
  hide 12
  return
charger_y:
  grid_write 100,lig%,col%,"YYY"
  hide 10
  hide 11
  hide 12
  return
effacer:
  grid_write 100,lig%,col%,""
  hide 10
  hide 11
  hide 12
  return

C'est aussi un moyen d'interagir avec un GRID.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID EmptySam 31 Mar 2012 - 0:50

Ca marche très bien. Bon, pour le moment, je n'en vois pas l'application immédiate, mais c'est un moyen simple en effet d'interagir avec une grid ... Ca me fait penser qu'un jour il faudra que je fasse une bataille navale Smile et là, je pourrais utiliser ce principe
Revenir en haut Aller en bas
sergeauze

sergeauze


Nombre de messages : 391
Age : 71
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

Petit exercice autout du GRID Empty
MessageSujet: re:Petit exercice autout du GRID   Petit exercice autout du GRID EmptySam 31 Mar 2012 - 1:07

Salut
J'ai un message d'erreur au niveau de la ligne 34
" not correct a arithmetic expression"
bonne nuit
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Klaus

Klaus


Nombre de messages : 12289
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID EmptySam 31 Mar 2012 - 1:11

Tu n'as certainement pas la dernière version instantanée du 13 février 2012: PANORAMIC V 0.9.23i5. C'est elle qui apporte les fonctions permettant de déterminer lignes et colonnes des cases à partir des coordonnées d'un clic souris.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 7002
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID EmptySam 31 Mar 2012 - 1:20

Salut Klaus !
J’ai essayé et ça marche.
@Sergeauze : tu obtiens un message d’erreur pace que peut-être que tu utilises une version antérieure à la version 0.923i5 du 13 février 2012
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


Nombre de messages : 7002
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID EmptySam 31 Mar 2012 - 1:32

@Klaus : je n’ai pas vu ta réponse à Sergeauze, mais j’ai eu la même idée que toi.
A +
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID EmptySam 31 Mar 2012 - 9:31

Salut à tous,

çà me plait ce truc, je n'aurai pas eu l'idée de mettre des boutons dans une cellule d'un Grid.
Des applications j'en vois des tonnes...

Merci pour l'astuce qui va certainement me servir

A+
Revenir en haut Aller en bas
sergeauze

sergeauze


Nombre de messages : 391
Age : 71
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

Petit exercice autout du GRID Empty
MessageSujet: re:Petit exercice autout du GRID   Petit exercice autout du GRID EmptySam 31 Mar 2012 - 16:11

Salut
Vous avez surement raison;je n'ai pas la derniere version intermediaire .
Elle n'est plus disponible avec le lien fourni par Jack.
J'attendrai que la prochaine paraisse.
Merci à Klaus pour toute ses innovations dont il nous fait profiter
au quotidien .
Et à plus tard
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID EmptySam 31 Mar 2012 - 17:14

Citation :
Elle n'est plus disponible avec le lien fourni par Jack.
Mais si. Il suffit d'aller à https://panoramic.1fr1.net/t2074-version-instantanee-du-13-fevrier-2012-panoramic-v-0923i5
et de cliquer sur télécharger ce fichier


Dernière édition par Jack le Dim 29 Avr 2012 - 22:04, édité 1 fois
Revenir en haut Aller en bas
https://panoramic.1fr1.net
sergeauze

sergeauze


Nombre de messages : 391
Age : 71
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

Petit exercice autout du GRID Empty
MessageSujet: re :Petit exercice autout du GRID   Petit exercice autout du GRID EmptySam 31 Mar 2012 - 18:55

Merci Jack
je me suis heurté à un subtilite de la validation du chargement:
On doit copier les mots :
"près de chez vous " :ça ne marche pas chez moi
mais
"pres de chez vous " :fonctionne!
Désolé pour ce dérangement

Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Klaus

Klaus


Nombre de messages : 12289
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID EmptySam 31 Mar 2012 - 21:53

J'ai fait évoluer mon exemple. Il y a maintenant des boutons à la place des cellules fixes du GRID, en haut et à gauche. En cliquant sur un de ces boutons, on sélectionne la colonne ou la ligne correspondante, et pour visualiser cette action, la colonne ou la ligne est remplacée par des données inutiles, mais bien visibles. Bien sûr, dans une application réelle, il faudrait remplacer ce remplissage par le traitement prévu pour la sélection d'une colonne ou d'une ligne:
Code:
label click_grid, charger_x, charger_y, effacer
label select_ligne, select_colonne

dim i%, n%, lig%,col%, x%,y%
dim type_selection%  : ' 1 = colonne est sélectionnée
dim id_selection%    : ' 2 = ligne est sélectionnée

width 0,800
grid 100 : top 100,10 : left 100,10
  grid_column 100,10 : grid_row 100,15
  width 100,700 : height 100,400
  on_click 100,click_grid
for i%=2 to 10
  grid_write 100,1,i%,"Colonne "+str$(i%)
  n% = 200 + i%
  button n%
    top n%, top(100) + 3 : left n%, (i%-1)*65  + left(100)+ 3
    caption n%,"Colonne "+str$(i%) : width n%,64
    on_click n%,select_colonne
next i%
for i%=2 to 15
  grid_write 100,i%,1,"Ligne "+str$(i%)
  n% = 300 + i%
  button n%
    top n%, (i%-1)*25 + top(100) + 3 : left n%, left(100)+ 3
    caption n%,"Ligne "+str$(i%) : width n%,64
    on_click n%,select_ligne
next i%

button 10 : hide 10 : height 10,12 : width 10,32
  caption 10,"XXX" : on_click 10,charger_x
button 11 : hide 11 : height 11,12 : width 11,32
  caption 11,"YYY" : on_click 11,charger_y
button 12 : hide 12 : height 12,12 : width 12,64
  caption 12,"Effacer" : on_click 12,effacer

end

click_grid:
  y% = mouse_y_left_down(100)
  x% = mouse_x_left_down(100)
  if lig%>0
    hide 10
    hide 11
    hide 12
  end_if
  lig% = grid_y_to_row(100,y%)
  col% = grid_x_to_column(100,x%)
  top 10,(lig%-1)*25  + top(100) + 3
  left 10,(col%-1)*65  + left(100)+ 3
  top 11,(lig%-1)*25  + top(100) + 3
  left 11,(col%-1)*65  + left(100)+ 3 + 32
  top 12,(lig%-1)*25  + top(100) + 3 + 12
  left 12,(col%-1)*65  + left(100)+ 3
  show 10
  show 11
  show 12
  return
 
charger_x:
  grid_write 100,lig%,col%,"XXX"
  hide 10
  hide 11
  hide 12
  return
charger_y:
  grid_write 100,lig%,col%,"YYY"
  hide 10
  hide 11
  hide 12
  return
effacer:
  grid_write 100,lig%,col%,""
  hide 10
  hide 11
  hide 12
  return
 
select_ligne:
  type_selection% = 2 : ' on a sélectionné une ligne
  id_selection% = number_click - 300
  for i%=2 to 10
    grid_write 100,id_selection%,i%,"*****"
  next i%
  return

select_colonne:
  type_selection% = 1 : ' on a sélectionné une colonne
  id_selection% = number_click - 200
  for i%=2 to 15
    grid_write 100,i%,id_selection%,"#####"
  next i%
  return

Cette technique permet d'avoir la fonctionnalité importante qui manque au GRID: la possibilité de sélectionner une ligne ou une colonne entières. Bien entendu, la caption des boutons aura la même valeur que les cellules fixes de la ligne 1 et de la colonne 1.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID EmptySam 31 Mar 2012 - 23:14

Bien vu encore Wink Une fonction utile... Je sens que tu vas finir par nous faire un petit tableur en Panoramic Wink
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID EmptyDim 1 Avr 2012 - 9:40

Bravo Klaus et surtout merci,

L'objet GRID commence à nous dévoiler tout ses secrets cachés. La sélection de toutes les cellules d'une ligne ou d'une colonne avec possibilité de traiter les srtings "*****" et "#####" c'est très intéressant.

A+
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12289
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID EmptyDim 1 Avr 2012 - 10:19

En fait, les $ et # ne servent qu'à montrer comment on peut sélectionner une ligne ou une colonne. Voici une version plus évoluée: la grille est préremplie, et la sélection d'une ligne ou d'une colonne met la sélection en majuscules:
Code:
label click_grid, charger_x, charger_y, effacer
label annuler_selection
label select_ligne, select_colonne

dim i%, n%, lig%,col%, x%,y%
dim type_selection%  : ' 1 = colonne est sélectionnée
                    : ' 2 = ligne est sélectionnée
                    : ' 3 = cellule est sélectionnée (lig%,col%)
dim id_selection%    : ' ligne ou colonne sélectionnée

width 0,800
grid 100 : top 100,10 : left 100,10
  grid_column 100,10 : grid_row 100,15
  width 100,700 : height 100,400
  on_click 100,click_grid
for i%=2 to 10
  grid_write 100,1,i%,"Colonne "+str$(i%)
  n% = 200 + i%
  button n%
    top n%, top(100) + 3 : left n%, (i%-1)*65  + left(100)+ 3
    caption n%,"Colonne "+str$(i%) : width n%,64
    on_click n%,select_colonne
next i%
for i%=2 to 15
  grid_write 100,i%,1,"Ligne "+str$(i%)
  n% = 300 + i%
  button n%
    top n%, (i%-1)*25 + top(100) + 3 : left n%, left(100)+ 3
    caption n%,"Ligne "+str$(i%) : width n%,64
    on_click n%,select_ligne
next i%
for i%=2 to 15
  for n%=2 to 10
    grid_write 100,i%,n%,"case "+str$(i%)+","+str$(n%)
  next n%
next i%

button 10 : hide 10 : height 10,12 : width 10,32
  caption 10,"XXX" : on_click 10,charger_x
button 11 : hide 11 : height 11,12 : width 11,32
  caption 11,"YYY" : on_click 11,charger_y
button 12 : hide 12 : height 12,12 : width 12,64
  caption 12,"Effacer" : on_click 12,effacer

end

click_grid:
  gosub annuler_selection
  type_selection% = 3
  y% = mouse_y_left_down(100)
  x% = mouse_x_left_down(100)
  if lig%>0
    hide 10
    hide 11
    hide 12
  end_if
  lig% = grid_y_to_row(100,y%)
  col% = grid_x_to_column(100,x%)
  grid_write 100,lig%,col%,upper$(grid_read$(100,lig%,col%))
  top 10,(lig%-1)*25  + top(100) + 3
  left 10,(col%-1)*65  + left(100)+ 3
  top 11,(lig%-1)*25  + top(100) + 3
  left 11,(col%-1)*65  + left(100)+ 3 + 32
  top 12,(lig%-1)*25  + top(100) + 3 + 12
  left 12,(col%-1)*65  + left(100)+ 3
  show 10
  show 11
  show 12
  return

charger_x:
  grid_write 100,lig%,col%,"XXX"
  hide 10
  hide 11
  hide 12
  return
charger_y:
  grid_write 100,lig%,col%,"YYY"
  hide 10
  hide 11
  hide 12
  return
effacer:
  grid_write 100,lig%,col%,""
  hide 10
  hide 11
  hide 12
  return

select_ligne:
  gosub annuler_selection
  type_selection% = 2 : ' on a sélectionné une ligne
  id_selection% = number_click - 300
  for i%=2 to 10
    grid_write 100,id_selection%,i%,upper$(grid_read$(100,id_selection%,i%))
  next i%
  return

select_colonne:
  gosub annuler_selection
  type_selection% = 1 : ' on a sélectionné une colonne
  id_selection% = number_click - 200
  for i%=2 to 15
    grid_write 100,i%,id_selection%,upper$(grid_read$(100,i%,id_selection%))
  next i%
  return

annuler_selection:
  if type_selection%=1
    for i%=2 to 15
      grid_write 100,i%,id_selection%,lower$(grid_read$(100,i%,id_selection%))
    next i%
  end_if
  if type_selection%=2
    for i%=2 to 10
      grid_write 100,id_selection%,i%,lower$(grid_read$(100,id_selection%,i%))
    next i%
  end_if
  if type_selection%=3
    if lig%>0
      hide 10
      hide 11
      hide 12
      grid_write 100,lig%,col%,lower$(grid_read$(100,lig%,col%))
    end_if
  end_if
  return

Evidemment, l'idéal, serait de pouvoir changer la couleur de fond des cellules, ou éventuellement les attributs graphiques comme italique ou gras, pour signaler la sélection d'une ligne ou d'une colonne.

EDIT

Le code ci-dessus gère maintenant aussi la sélection d'une cellule, et fait la distinction entre sélection de cellule, ligne ou colonne, et ce également pour l'annulation de la sélection.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID EmptyDim 1 Avr 2012 - 13:54

De mieux en mieux.

C'est vrai que la sélection d'une ligne ou colonne serait plus sympa avec une couleur pour le fond des céllules sélectionnées.

Du coup on en arrive à une nouvelle fonction du genre GRID_COLOR_CELLULE N,R,G,B. Mais çà, c'est une autre histoire....

Rectification GRID_COLOR_CELLULE N,L,C,R,G,B: N=N° du GRID, R= ligne (Row), C=colonne et R G B pour les couleurs

A+
Revenir en haut Aller en bas
Contenu sponsorisé





Petit exercice autout du GRID Empty
MessageSujet: Re: Petit exercice autout du GRID   Petit exercice autout du GRID Empty

Revenir en haut Aller en bas
 
Petit exercice autout du GRID
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un petit programme pour GRID
» Exercice pour les matheux !
» grid ++
» The Grid
» Exemple d'une nouvelle version d'un GRID

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: