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
» Logiciel de planétarium.
Sélection sur un grid Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Sélection sur un grid Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Sélection sur un grid Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Sélection sur un grid Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Sélection sur un grid Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Sélection sur un grid Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Sélection sur un grid Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Sélection sur un grid Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Sélection sur un grid Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Sélection sur un grid Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Sélection sur un grid Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Sélection sur un grid Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Sélection sur un grid Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Sélection sur un grid Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Sélection sur un grid Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
SSD interne Crucial BX500 2,5″ SATA – 500 Go à 29,99€
29.99 €
Voir le deal

 

 Sélection sur un grid

Aller en bas 
5 participants
AuteurMessage
Invité
Invité




Sélection sur un grid Empty
MessageSujet: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 10:59

Voila Jack:
Sans trop réfléchir, j'ai sélectionné toute une zone d'un grid dans mon programme pour vouloir l'effacer. Je sais ce n'est pas la bonne méthode, mais sur le coup je n'y ai pas pensé.

J'ai un sous-programme:
Code:
clic_to_grid:
  
   x= grid_x_to_column(213,mouse_x_position(213))
   y= grid_y_to_row(213,mouse_y_position(213))

Évidemment je me retrouve avec une erreur car cela donne une réponse 0 lors de l'appel du clic sur la ligne de X = ...

J'ai regardé si select_read$(...) était prévu pour GRID, mais ce n'est pas le cas, donc je ne peux pas faire ceci:

Code:
IF select_read$(N° du grid) <> "" then...
Je ne vois pas comment on peut éviter ce genre d'erreur.

Dans mon cas, cela n'a aucune importance, il y a une sauvegarde du memo, je relance et je repart, mais celui qui a un bon programme, et qui est stoppé par cette erreur, perd ses données.

Je ne suggère rien. A toi de voir la possibilité d'éviter cette erreur.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 11:22

Bonjour Cosmos70,

Peut être je n'ai pas compris ta demande mais pourquoi ne pas utiliser GRID_READ$()

Code:

grid 1

grid_write 1,2,3,"Bonjour"

MESSAGE grid_read$(1,2,3)
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Invité
Invité




Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 15:30

Merci Minibug, mais c'est pas le problème.

J'ai fait un petit programme pour le teste:
Code:
error_french
label clic_to_grid
dim x,y
grid 213 : on_click 213,clic_to_grid : full_space 213
END
======================
clic_to_grid:
   x= grid_x_to_column(213,mouse_x_position(213))
   y= grid_y_to_row(213,mouse_y_position(213))
   caption 0,str$(x)+"  "+str$(y)
return


Mais avec ce programme je n'arrive pas a reproduire le problème.

J'ai donc relancé mon programme, et voici le résultat:

Sélection sur un grid Captur11

La partie concernée est:
Code:
clic_to_grid:
  
   x= grid_x_to_column(213,mouse_x_position(213))
   y= grid_y_to_row(213,mouse_y_position(213))
   text 214,grid_read$(213,y,x)  : on_change 214,envoi_grid : set_focus 214
   if val(grid_read$(213,1,1)) < y then grid_write 213,1,1,y
   if val(grid_read$(213,1,2)) < x then grid_write 213,1,2,x
return

Et c'est la ligne:  

x= grid_x_to_column(213,mouse_x_position(213))


Donc sur une sélection d'un grid, même si le petit programme que j'ai mis ne dit rien, on peut avoir un message d'erreur, d'où l'objet de ce poste. J'avais pris le grid pour un memo lors de la sélection ce matin.
Revenir en haut Aller en bas
Klaus

Klaus


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 15:35

Eh bien, juste avant la ligne 303, ajoute une ligne du type
Code:
message "y="+str$(y)+"  x="+str$(x)+"  "+...
etc et regarde les valeurs de tes variables...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 15:46

Bonjour Klaus.

X est le numéro de la colonne du grid. Je ne peux l'obtenir quant cliquant sur le grid.

Le retour est soit la valeur de X, soit le message d'erreur, et celui-ci ne donne pas la valeur exacte. La valeur de x avant le clic ne sert à rien. bounce

C'est le clic sur le grid qui l'envoi a l'événement.
Revenir en haut Aller en bas
Klaus

Klaus


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 16:05

Tu fais ceci:
Code:
clic_to_grid:
 
  x= grid_x_to_column(213,mouse_x_position(213))
  y= grid_y_to_row(213,mouse_y_position(213))
message "x="+str$(x)+"  y="+str$(y)
  text 214,grid_read$(213,y,x)  : on_change 214,envoi_grid : set_focus 214
  if val(grid_read$(213,1,1)) < y then grid_write 213,1,1,y
  if val(grid_read$(213,1,2)) < x then grid_write 213,1,2,x
return
et tu comprendras pourquoi tu as une anomalie...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 16:34

Je ne peux pas lire le message. Le programme est stoppé à la ligne de x=... la première ligne du sous-programme.

En validant le message d'erreur, le programme se ferme.

Je montre un éventuel problème.

Si tu as encore le programme pour lequel tu m'as répondu, tu peux faire l'essai.
Tu le lances et tu cliques sur le combo "feuille", tu choisis :Affectation_variables.txt.

Dans le memo, tu vas à la fin, et tu slectionnes toutes les lignes: [TABLE.....[/TABLE]
Puis tu cliques sur le premier mémo en haut à gauche, et tu choisis TABLE.
Le grid est normalement rempli sur la fenêtre qui s'est ouverte. Tu fais la sélection de tout le grid, comme si tu pensais avoir un memo, normalement tu a le message d'erreur.

Là j'ai 160km à faire, je dois partir pour Besançon.
Revenir en haut Aller en bas
papydall

papydall


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 16:40

C’est peut-être hors sujet, mais j’aimerais faire un petit rappel (que tout le monde connait)
Avant d’utiliser la fonction VAL(QuelqueChose$), il est prudent de tester si quelqueChose$ contient effectivement une valeur numérique, sinon on a un message d’erreur.
Code:

if numeric(QuelqueChose) > 0
   …. Traitements …
Else
    Message QuelqueChose$ + "  contient  une valeur non numérique "
End_if
 
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 17:29

Bien vu Papydall,
Code:
dim x,y
label clic_to_grid,envoi_grid
grid 213 : on_click 213,clic_to_grid
edit 214 : left 214,350

END

clic_to_grid:

  x= grid_x_to_column(213,mouse_x_position(213))
  y= grid_y_to_row(213,mouse_y_position(213))
  text 214,grid_read$(213,y,x)  : on_change 214,envoi_grid : set_focus 214

if grid_read$(213,y,x)="" then return
' ou if numeric(grid_read$(213,y,x))="" then return

  if val(grid_read$(213,1,1)) < y then grid_write 213,1,1,y
  if val(grid_read$(213,1,2)) < x then grid_write 213,1,2,x
return

envoi_grid:
message "envoi_grid"
return

A+
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 17:38

@Cosmos
Il y a autre chose qui cloche, pour écrire dans un grid il faut un string.
Heu.. je veux dire: dans le code pas le programmeur Very Happy  Razz  Wink . Je n'ai pas pu m'en empêcher !

Code:
  if val(grid_read$(213,1,1)) < y then grid_write 213,1,1,y
  if val(grid_read$(213,1,2)) < x then grid_write 213,1,2,x

à remplacer par:
Code:
  if val(grid_read$(213,1,1)) < y then grid_write 213,1,1,str$(y)
  if val(grid_read$(213,1,2)) < x then grid_write 213,1,2,str$(x)

A+
Revenir en haut Aller en bas
papydall

papydall


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 19:49

Jean Claude a écrit:
Bien vu Papydall,
Code:
dim x,y
label clic_to_grid,envoi_grid
grid 213 : on_click 213,clic_to_grid
edit 214 : left 214,350

END

clic_to_grid:

   x= grid_x_to_column(213,mouse_x_position(213))
   y= grid_y_to_row(213,mouse_y_position(213))
   text 214,grid_read$(213,y,x)  : on_change 214,envoi_grid : set_focus 214

if grid_read$(213,y,x)="" then return
' ou if numeric(grid_read$(213,y,x))="" then return

   if val(grid_read$(213,1,1)) < y then grid_write 213,1,1,y
   if val(grid_read$(213,1,2)) < x then grid_write 213,1,2,x
return

envoi_grid:
message "envoi_grid"
return

A+

Ben non
Il faut faire
Code:

if numeric(grid_read$(213,y,x)) = 0 then return
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 20:10

Je viens de rentrer.

Je pourrais presque dire que vous êtes sujet! .

Je remets un e partie du code avec cette fois les n° de lignes:
Code:
301|   clic_to_grid:
302|    
303|     x= grid_x_to_column(213,mouse_x_position(213))
304|      y= grid_y_to_row(213,mouse_y_position(213))
305|    message "x="+str$(x)+"  y="+str$(y

L'erreur se fait sur la ligne:

x= grid_x_to_column(213,mouse_x_position(213))

C'est à dire la ligne 303. Cette ligne sert a trouver le de n° de colonne cliquée et la suivante le n° de ligne, selon la méthode de Jack. En aucun cas je ne lis le contenu d'une cellude de grid.

Ors un message d'erreur venant de la ligne 303, ne permet pas de lire les lignes 304 et 305, et suivante, vu qu'en validant le message d'erreur, le programme s'arrète.

Donc si je regarde le manuel sur grid_x_column() on doit lire une valeur supérieur a zéro, ce qui n'est pas le cas ici.
Dans mon programme en faisant (par erreur je l'accorde une sélection de plusieurs cellules), j'arrive a avoir ce message d'erreur, d'où l'objet de ce poste, car je ne vois pas comment on peut l'éviter. Mon programme c'est pas grave, mais je crois qu'il est nécessaire de pouvoir éviter ce message dans vos programmes selon son importance.
Revenir en haut Aller en bas
Klaus

Klaus


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyDim 15 Mar 2015 - 21:15

alors, déplace la ligne 305 en 302, comme suit:
Code:

301|  clic_to_grid:
302|    message "x="+str$(mouse_x_position(213))
303|    x= grid_x_to_column(213,mouse_x_position(213))
304|      y= grid_y_to_row(213,mouse_y_position(213))
305|   
et tu sauras ce que la fonction retourne. A l'évidence, c'est la valeur 0 qui revient. Mais je pense qu'après un clic, tu devrais prendre la fonction MOUSE_X_LEFT_DOWN(213) au lieu de MOUSE_X_POSITION(213).
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyLun 16 Mar 2015 - 0:12

Je viens de m'apercevoir que je me suis trompé de rubrique. J'ai mis ce poste dans "à l'aide", alors que j'aurai du choisir "Présentation et bavardage".

Mon but n'était pas de résoudre mon propre problème, mais de réfléchir sur cette possibilité d'erreur sur un grid. Relire le sujet de présentation. Personnellement je pense qu'une possibilité de sélection sur select_read$() sur un grid pourrait être une possibilité. Il suffirait alors de faire ceci:
if select_read$(n du grid) = ""
  recherche de la colonne et de la ligne
end_if

De cette façon si il y a sélection, on ne cherche pas l'endroit cliqué. Mais il doit y avoir d'autres possibilité.

Ce post n'est pas fait pour déboguer mon programme, mais pour montrer un éventuel problème. Certe il n'a pas été compris au départ, mais maintenant je pense que vous avez compris où je voulais en venir.

Pour ma part j'en reste là, j'ai d'ailleurs le retour de accès violation sur mon programme, ce qui n'est pas réjouissant.
Revenir en haut Aller en bas
Klaus

Klaus


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyLun 16 Mar 2015 - 1:10

Effectivement, une telle fonction manque. Je viens de poster une nouvelle version de KGF.dll qui contient la nouvelle fonction GetSelectedGridText qui fait exactement cela. Regarde ce petit programme de démo:
Code:
label clic
dim s$, res%, sep$
grid 1
grid_write 1,2,2,"aaa"
grid_write 1,2,3,"bbb"
grid_write 1,3,3,"ccc"
on_click 1,clic
dll_on "KGF.dll"

end

clic:
  s$ = string$(255," ")
  sep$ = "\"
  res% = DLL_call3("GetSelectedGridText",object_internal(1),adr(sep$),adr(s$))
  s$ = trim$(s$)
  message s$
  return
Il suffit de sélectionner un rectangle par la souris. En relâchant la souris, on a le texte...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyLun 16 Mar 2015 - 14:08

Je ferais un essai ces jours-ci. Trop a faire, et il me semble que tu as dis qu'il y avait un problème avec kgf.

J'ai vu que tu avais prévu le cas d'avoir des séparateurs entre les cellules. Je me dis a ce moment là que ce ne serait pas mal d'avoir l'inverse: avoir une chaine du genre: un|deux|trois®1|2|3

Au lieu d'être obligé de passer par un edit, et de choisir cellule par cellule pour modifier, ... J'y pense c'est facile a faire en basic, désolé. C'est d’ailleurs ce que je fais : je lis une partie sélectionnée et je rempli mon grid. Il est vrai que c'est plus compliqué.
Revenir en haut Aller en bas
Klaus

Klaus


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyLun 16 Mar 2015 - 17:09

Une mise à jour de cellules multiples, à partir d'une chaîne contenant le nouveau contenu avec des séparateurs ? Je vais y réfléchir.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyVen 20 Mar 2015 - 14:18

Bonjour à tous!

@cosmos70
avec le petit code de test que tu as mis dans ton 2ieme post, j'ai obtenu la même erreur que toi. J'ai déplacé la fenetre de travail puis j'ai essayé de sélectionner plusieurs cellules: de 5,5 à -1,-1 c a d que j'ai relaché le bouton de la souris en dehors de la fenetre de travail.
L'erreur se produit quand je relache le bouton de la souris soit en dehors et à gauche, soit en dehors et au dessus de la fenetre.
Une solution serait de tester si la souris est dans la fenetre de travail avant de faire une sélection sur le grid, mais je ne sais pas si une commande existe pour faire ça.


NB: je suis nouveau dans la communauté, et je ne suis pas encore familier avec tous les termes, form, grid, etc... fenetre de travail et form, c'est pareil?
Revenir en haut Aller en bas
Klaus

Klaus


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyVen 20 Mar 2015 - 14:34

Bienvenu, Silverman ! Heureux de te compter parmi nous !

Citation :
fenetre de travail et form, c'est pareil?
Pour la terminologie de Cosmos70, il te répondra. En principe, une fenêtre Windows, c'est ce qu'on connaît tous. Et en Panoramic, on crée une fenêtre par la commande FORM, et par facilité, on en parle souvent comme d'une FORM. Mais c'est bien une fenêtre dans le sens Windows. Et en Panoramic, une fenêtre est à priori non-modale, c'est-à-dire son ouverture ne bloque pas l'accès aux autres fenêtres ouvertes.

Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyVen 20 Mar 2015 - 16:47

Bienvenu, Silverman.

J'ajoute à la réponse de Klaus, que certains, dont je fais parti, emploient le masculin pour FORM en pensant à un FORMulaire qui sert à y déposer les objets Panoramic. Mais fenêtre Panoramic est sans doute plus approprié.

A+
Revenir en haut Aller en bas
papydall

papydall


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

Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyVen 20 Mar 2015 - 17:30

Silverman, bienvenue parmi la communauté Panoramicienne.
Personnellement, j’utilise le masculin pour nommer les objets Panoramic.
Je dis donc un FORM, un LIST, un IMAGE, etc… dans le sens de : un objet FORM, un objet LIST, un objet IMAGE, etc..  

Mais ce n’est qu’un détail et ça n’a aucune importance.
Ce qui est important, c’est de se faire comprendre : et on se comprend parfaitement bien entre nous.

Bonne programmation en Panoramic.
Au plaisir de te lire !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid EmptyVen 20 Mar 2015 - 19:49

Bien, sois le bienvenu Silverman.

Donc, je ne suis plus tout seul a voir ce problème. Depuis c'est par intermittance.
A la ligne : repeat : wait 100 : until scancode = 0, j'ai ajouté histoire de voir si il y a un changement, c'était un simple teste, j'ai ajouté la ligne: repeat : pause 100 : until scancode = 0.

Je ne sais pas si cela durera, mais l'accès violation ne se manigeste plus.

Pour ce qui est de la fenêtre, les autres ont tout dit. Pour ma part j'emploi fenêtre ou FORM, en relation avec la commande. Si je parle d'une autre fenêtre, j'emploi l'écran, ou je précise: fenêtre du bloc-notes ou autre.

En tout cas bienvenue à toi.
Revenir en haut Aller en bas
Contenu sponsorisé





Sélection sur un grid Empty
MessageSujet: Re: Sélection sur un grid   Sélection sur un grid Empty

Revenir en haut Aller en bas
 
Sélection sur un grid
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Sélection d'une cellule d'un objet GRID
» Sélection dans un Memo
» sélection de texte dans un mémo.
» Sélection d'une fonte.
» Sélection et position du curseur

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: