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.
Saisir directement dans une cellule d'un GRID Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Saisir directement dans une cellule d'un GRID Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Saisir directement dans une cellule d'un GRID Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Saisir directement dans une cellule d'un GRID Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Saisir directement dans une cellule d'un GRID Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Saisir directement dans une cellule d'un GRID Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Saisir directement dans une cellule d'un GRID Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Saisir directement dans une cellule d'un GRID Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Saisir directement dans une cellule d'un GRID Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Saisir directement dans une cellule d'un GRID Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Saisir directement dans une cellule d'un GRID Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Saisir directement dans une cellule d'un GRID Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Saisir directement dans une cellule d'un GRID Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Saisir directement dans une cellule d'un GRID Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Saisir directement dans une cellule d'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
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 Saisir directement dans une cellule d'un GRID

Aller en bas 
2 participants
AuteurMessage
Klaus

Klaus


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

Saisir directement dans une cellule d'un GRID Empty
MessageSujet: Saisir directement dans une cellule d'un GRID   Saisir directement dans une cellule d'un GRID EmptyMer 16 Nov 2022 - 16:07

Panoramic ne permet pas de saisir directement dans une cellule d'un GRID. Ceci peut être gênant.

Voici une solution 100 % Panoramic, sans DLL et sans API, pour pallier à ce problème, et ce quelque soient les dimensions des cellules !

Le mode d'emploi est en commentaire au début du code, que voici:
Code:
' demo_saisie_cellule_grid.bas

' Comment saisir directement dans une cellule d'un GRID
'
' 1. configurer le nombre de lignes et/ou colonnes du GRID
' 2. valider par le bouton "Configurer"
' 2.a. tirer éventuellement les bords de certaines colonnes et/ou lignes afin de varier les dimensions des cellules
' 3. cliquer dans une cellule ==> un champ de saisie s'affiche en remplacement de la cellule
' 4. saisir n'importe quel texte
' 5. cliquer sur le bouton "X" (annuler le mode saisie) ou dans n'importe quelle autre cellule
' 6. admirer le résultat.........

label configurer, click_grid, annuler, changer_cellule

dim x%, y%, l%, c%, lig%, col%, etop%, eleft%, ewidth%, eheight%

full_space 0
container 1 : top 1,10 : left 1,10 : width 1,350 : height 1,80
  caption 1,"Configuration"
alpha 2 : parent 2,1 : top 2,20 : left 2,20 : caption 2,"Nombre de lignes:"
alpha 3 : parent 3,1 : top 3,40 : left 3,20 : caption 3,"Nombre de colonnes:"
spin 4 : parent 4,1 : top 4,20 : left 4,140 : width 4,60
  min 4,2 : max 4,20 : position 4,5
spin 5 : parent 5,1 : top 5,40 : left 5,140 : width 5,60
  min 5,2 : max 5,20 : position 5,5
button 6 : parent 6,1 : top 6,30 : left 6,230 : caption 6,"Configurer"
  on_click 6,configurer
  
container 20 : top 20,10 : left 20,400 : width 20,400 : height 20,80
  caption 20,"Infos de la cellule"
  alpha 21 : parent 21,20 : top 21,20 : left 21,20 : caption 21,"Y = 0"
  alpha 22 : parent 22,20 : top 22,40 : left 22,20 : caption 22,"X = 0"
  alpha 23 : parent 23,20 : top 23,20 : left 23,80 : caption 23,"Ligne = 0"
  alpha 24 : parent 24,20 : top 24,40 : left 24,80 : caption 24,"Colonne = 0"
  alpha 25 : parent 25,20 : top 25,20 : left 25,160 : caption 25,"Top = 0"
  alpha 26 : parent 26,20 : top 26,40 : left 26,160 : caption 26,"Left = 0"
  alpha 27 : parent 27,20 : top 27,20 : left 27,240 : caption 27,"Height = 0"
  alpha 28 : parent 28,20 : top 28,40 : left 28,240 : caption 28,"Width = 0"
  
grid 10 : top 10,120 : left 10,10
  width 10,width_client(0)-20 : height 10,height_client(0)-130
  grid_row_sizing_on 10 : grid_column_sizing_on 10
  on_click 10,click_grid
  gosub configurer
button 11 : top 11,120+2 : left 11,10+2
  width 11,grid_one_column_width(10,1) : height 11,grid_one_row_height(10,1)
  caption 11,"X" : on_click 11,annuler
 edit 12 : hide 12 : font_italic 12 : font_color 12,0,0,255
   on_change 12,changer_cellule
  
end

configurer:
  grid_row 10,position(4)
  grid_column 10,position(5)
  for l%=1 to position(4)
    grid_write 10,l%,1,str$(l%)
  next l%
  for c%=1 to position(5)
    grid_write 10,1,c%,str$(c%)
  next c%
  return
  
click_grid:
  x% = mouse_x_left_down(10)
  y% = mouse_y_left_down(10)
  caption 21,"Y = "+str$(y%)
  caption 22,"X = "+str$(x%)
  lig% = grid_y_to_row(10,y%)
  col% = grid_x_to_column(10,x%)
  calculer_dimensions(10)
  caption 23,"Ligne   = "+str$(lig%)
  caption 24,"Colonne = "+str$(col%)
  caption 25,"Top   = "+str$(etop%)
  caption 26,"Left = "+str$(eleft%)
  caption 27,"Height = "+str$(eheight%)
  caption 28,"Width  = "+str$(ewidth%)
  afficher_saisie(10,12)
  return  
  
annuler:
  hide 12
  set_focus 10
  x% = 0
  y% = 0
  lig% = 0
  col% = 0
  caption 21,"Y = 0"
  caption 22,"X = 0"
  caption 23,"Ligne = 0"
  caption 24,"Colonne = 0"
  caption 25,"Top = 0"
  caption 26,"Left = 0"
  caption 27,"Height = 0"
  caption 28,"Width  = 0"
  return
  
changer_cellule:
  grid_write 10,lig%,col%,text$(12)
  return
  
sub calculer_dimensions(ngrid%)
  dim_local i%, j%
  
  etop% = top(ngrid%)
  if lig%>1
    for i%=1 to lig%-1
      etop% = etop% + grid_one_row_height(ngrid%,i%)
    next i%
  end_if
  etop% = etop% + 2
  eleft% = left(ngrid%)
  if col%>1
    for i%=1 to col%-1
      eleft% = eleft% + grid_one_column_width(ngrid%,i%)
    next i%
  end_if
  eleft% = eleft% + 2
  
  eHeight% = grid_one_row_height(ngrid%,lig%)
  ewidth% = grid_one_column_width(ngrid%,col%)
  
end_sub

sub afficher_saisie(ngrid%,nedit%)
  top nedit%,etop%
  left nedit%,eleft%
  width nedit%,ewidth%
  height nedit%,eheight%
  text nedit%,grid_read$(ngrid%,lig%,col%)
  show nedit%
  set_focus nedit%
end_sub
  
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Saisir directement dans une cellule d'un GRID Empty
MessageSujet: Re: Saisir directement dans une cellule d'un GRID   Saisir directement dans une cellule d'un GRID EmptyJeu 17 Nov 2022 - 9:43

Bonjour Klaus et bonjour à tous !

Nous avons eu la même idée !
J’avais publié un système équivalent qui faisait appel à un MEMO au lieu d’un EDIT.
Voici le lien pour retrouver l’article : https://panoramic.1fr1.net/t6668-grid-cellules-en-mode-edition

Pour pouvoir valider une saisie par la touche ENTER, j’avais donc opté pour un MEMO pour le mode édition. Quant au contrôle de saisie, la manière qu’une donnée est saisie ou abandonnée, le format et la mise en forme, chacun l’adapte comme il le souhaite.

Excellente journée et à bientôt !

Revenir en haut Aller en bas
Klaus

Klaus


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

Saisir directement dans une cellule d'un GRID Empty
MessageSujet: Re: Saisir directement dans une cellule d'un GRID   Saisir directement dans une cellule d'un GRID EmptyJeu 17 Nov 2022 - 9:51

Oui, en effet, Marc.

Je me souvenais qu'un code de ce genre avait déjà été publié, mais je n'arrivais pas à mettre la main dessus. alors, pour la dmo de saisie de cellules d'une matrice https://panoramic.1fr1.net/t6727p225-kgf_dll-nouvelles-versions#81697, j'avais rapidement écrit un code simple adapté à mon programme de démo. Puis, j'ai eu envie de généraliser, ce qui a donné le code ci-dessus.

En effet, ça fonctionne exactement comme ton code, à la différence près qu'il n'y a pas de validation par CR en fin de saisie d'une cellule, mais toutes les modifications sont reportées dans la cellule immédiatement.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Saisir directement dans une cellule d'un GRID Empty
MessageSujet: Re: Saisir directement dans une cellule d'un GRID   Saisir directement dans une cellule d'un GRID EmptyDim 20 Nov 2022 - 11:06

Juste pour info:
Je rappelle que l'objet KGFGrid de KGF.dll permet une saisie directe dans une cellule de la grille, à l'aide du clic droit dans la cellule. Ceci concerne les cellules de type numérique (entiers ou flottants, avec ou sans contrôle de validité) ainsi que les cellules de type texte ( une seule chaîne de caractères ou un texte complet de type mémo).

C'est objet est très puissant, peut-être un peu complexe à paramétrer, mais offrant une grande souplesse et puissance à l'exécution. On peut même avoir des images dans les cellules...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Saisir directement dans une cellule d'un GRID Empty
MessageSujet: Re: Saisir directement dans une cellule d'un GRID   Saisir directement dans une cellule d'un GRID Empty

Revenir en haut Aller en bas
 
Saisir directement dans une cellule d'un GRID
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Exemple d'une nouvelle version d'un GRID
» Marquage d'une cellule d'un GRID
» Sélection d'une cellule d'un objet GRID
» Quelle cellule d'un Grid est cliqué
» Saisie dans un objet 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: