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.
KGF_dll - nouvelles versions - Page 24 Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
KGF_dll - nouvelles versions - Page 24 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
KGF_dll - nouvelles versions - Page 24 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
KGF_dll - nouvelles versions - Page 24 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
KGF_dll - nouvelles versions - Page 24 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
KGF_dll - nouvelles versions - Page 24 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
KGF_dll - nouvelles versions - Page 24 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
KGF_dll - nouvelles versions - Page 24 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
KGF_dll - nouvelles versions - Page 24 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
KGF_dll - nouvelles versions - Page 24 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
KGF_dll - nouvelles versions - Page 24 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
KGF_dll - nouvelles versions - Page 24 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
KGF_dll - nouvelles versions - Page 24 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
KGF_dll - nouvelles versions - Page 24 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
KGF_dll - nouvelles versions - Page 24 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
-14%
Le deal à ne pas rater :
Lave-linge hublot HOOVER HWP 10 kg (Induction, 1600 trs/min, Classe ...
299.99 € 349.99 €
Voir le deal

 

 KGF_dll - nouvelles versions

Aller en bas 
+13
The Gamer
Nardo26
silverman
Minibug
Pedro
mindstorm
pascal10000
Jicehel
papydall
Jean Claude
JL35
Yannick
Klaus
17 participants
Aller à la page : Précédent  1 ... 13 ... 23, 24, 25 ... 32 ... 40  Suivant
AuteurMessage
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptyMar 24 Mar 2015 - 0:44

Nouvelle version:
KGF.dll V4.53 du 24/03/2015

Nouveautés:
- code 10 pour GridFunction: effacer tous les attributs pour le grid
- nouveau paramètre par4% pour GridFunction: couleur de la police


Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Maintenant, l'ensemble est assez cohérent, avec la possibilité de choisir, non seulement la couleur du fond, mais également la couleur de la police ! On peut aussi effacer d'un coup, tous les paramétrages établis pour un GRID.

Voici le programme de démo qui écrit en couleur dans des cellules colorées:
Code:
' demo_GetSelectedGridText.bas
label clic, exit, enligne, couleur
dim s$, res%, x1%, y1%, x2%, y2%, x%, y%, i%, sepcel$, seplin$, RGB%, d%, att%,FRGB%

grid 1 : top 1,250 : left 1,10
grid_write 1,2,2,"aaa"
grid_write 1,2,3,"bbb"
grid_write 1,3,3,"ccc"
grid_write 1,4,3,"ddd"
grid_write 1,4,4,"eee"
on_click 1,clic

check 2 : top 2,10 : left 2,10 : width 2,150 : on_click 2,enligne
  caption 2,"GRID avec édition en ligne"
  
button 3 : top 3,190 : left 3,60 : width 3,200 : caption 3,"Appliquer attributs"
  on_click 3,couleur

check 4 : top 4,40 : left 4,110 : width 4,150 : on_click 4,enligne
  caption 4,"sans colorer les parties fixes"

combo 5 : top 5,70 : left 5,110 : width 5,150
  item_add 5,"à gauche"
  item_add 5,"centré"
  item_add 5,"à droite"

combo 6 : top 6,100 : left 6,110 : width 6,150
  font_names_load 6

alpha 7 : top 7,130 : left 7,10 : caption 7,"Taille:"
combo 8 : top 8,130 : left 8,110 : width 8,40
  item_add 8,"8"
  item_add 8,"10"
  item_add 8,"12"
  item_add 8,"14"
  
check  9 : top  9,160 : left  9, 10 : caption  9,"Gras"
check 10 : top 10,160 : left 10, 90 : caption 10,"Italique"
check 11 : top 11,160 : left 11,170 : caption 11,"Souligné"
check 12 : top 12,160 : left 12,250 : caption 12,"Barré"

memo 99 : top 99,10 : left 99,360 : bar_both 99 : height 99,400

' dll_on "KGF_GRID.dll"
dll_on "KGF.dll"
' on_close 0,exit

res% = dll_call2("SelectComboBoxItem",handle(5),1)
for i%=1 to count(6)
  if item_read$(6,i%)="Arial"
    res% = dll_call2("SelectComboBoxItem",handle(6),i%)
    exit_for
  end_if
next i%
res% = dll_call2("SelectComboBoxItem",handle(8),2)

end

exit:
  res% = dll_call1("KillProcessByHandle",handle(0))
  return

clic:
   clear 99

  ' paramétrer les séparateurs (ce sont d'ailleurs les valeurs par défaut)
  sepcel$ = ""
  seplin$ = chr$(13)+chr$(10)
  item_add 99,"SetGridSeparators en cours..."
  res% = dll_call2("SetGridSeparators",adr(sepcel$),adr(seplin$))
  item_add 99,"SetGridSeparators ok"

  ' récupérer les coordonnées du rectangle sélectionné
  item_add 99,"GetSelectedGridIndexes en cours..."
  res% = DLL_call5("GetSelectedGridIndexes",object_internal(1),adr(x1%),adr(y1%),adr(x2%),adr(y2%))
  item_add 99,"GetSelectedGridIndexes ok"
  message "Rectangle: ("+str$(x1%)+","+str$(y1%)+") --> ("+str$(x2%)+","+str$(y2%)+")"

  ' récupérer le texte des cellules sélectionnées
  s$ = string$(255," ")
  item_add 99,"GetSelectedGridText en cours..."
  res% = DLL_call2("GetSelectedGridText",object_internal(1),adr(s$))
  item_add 99,"GetSelectedGridText ok"
  s$ = trim$(s$)
  message s$
' return

  ' remplacer le texte des cellules sélectionnées par autre chose
  s$ = ""
  for y%=y1% to y2%
    for x%=x1% to x2%
      if x%>x1% then s$ = s$ + sepcel$
      s$ = s$ + "L"+str$(y%) + "  C"+str$(x%)
    next x%
    s$ = s$ + seplin$
  next y%
  item_add 99,"WriteGridCells en cours..."
  res% = dll_call6("WriteGridCells",object_internal(1),x1%,y1%,x2%,y2%,adr(s$))
  item_add 99,"WriteGridCells ok"
  return

enligne:
  i% = checked(2) : ' inverser le mode "édition"
  res% = dll_call6("GridFunction",object_internal(1),1,i%,0,0,0)
  return
  
  
couleur:
  d% = checked(4)*3

  ' forcer le centrage
  att% = val(item_index$(8))
  if checked(9) =1 then att% = att% + 256
  if checked(10)=1 then att% = att% + 512
  if checked(11)=1 then att% = att% + 1024
  if checked(12)=1 then att% = att% + 2048
  s$ = item_index$(6)
  res% = dll_call6("GridFunction",object_internal(1),9,item_index(5)-1,att%,adr(s$),0)

  ' remplacer ONDRAWCELL
  res% = dll_call6("GridFunction",object_internal(1),8,1,0,0,0)

  ' changer la couleur d'une colonne
  RGB(255,255,255)  : ' écriture blanche
  FRGB% = RGB%
  RGB(255,0,0)    : ' fond rouge
  res% = dll_call6("GridFunction",object_internal(1),4+d%,2,0,RGB%,FRGB%)

  ' changer la couleur d'une ligne
  RGB(255,255,0)  : ' écriture jaune
  FRGB% = RGB%
  RGB(0,0,255)    : ' fond bleu
  res% = dll_call6("GridFunction",object_internal(1),3+d%,0,3,RGB%,FRGB%)

  ' changer la couleur d'une cellule
  RGB(0,0,255)  : ' écriture bleue
  FRGB% = RGB%
  RGB(255,255,0)  : ' fond jaune
  res% = dll_call6("GridFunction",object_internal(1),2,2,3,RGB%,FRGB%)
  return

sub RGB(R%,G%,B%)
  RGB% = (B%*256+R%)*256+G%
end_sub

Et voici un exemple de formatage d'un GRID. Tentez de saisir dans les cellules... Attention: juste le formatage est fait, pas les calculs ni les contrôles.
Code:
' facture_avec_GRID.bas

dim res%, i%, RGB%, FRGB%, att%


width 0,800 : height 0,600
grid 1 : full_space 1 : height 1,height(1)-40 : top 1,40
grid_column 1,8
grid_row 1,20
grid_one_column_width 1,1,40
grid_write 1,1,1,"No."
grid_one_column_width 1,2,280
grid_write 1,1,2,"Libellé"
grid_one_column_width 1,3,50
grid_write 1,1,3,"Taux TVA"
grid_one_column_width 1,4,80
grid_write 1,1,4,"Prix unitaire"
grid_one_column_width 1,5,50
grid_write 1,1,5,"Quantité"
grid_one_column_width 1,6,80
grid_write 1,1,6,"Montant TVA"
grid_one_column_width 1,7,80
grid_write 1,1,7,"MontantHT"
grid_one_column_width 1,8,105
grid_write 1,1,8,"Montant TTC"

for i%=2 to 18
  grid_write 1,i%,1,str$(i%-1)
next i%
grid_one_row_height 1,19,5
grid_one_row_height 1,20,35
grid_write 1,20,2,"Totaux......................"

dll_on "KGF.dll"

' remplacer ONDRAWCELL
res% = dll_call6("GridFunction",object_internal(1),8,1,0,0,0)
' permettre la saisie directe dans le GRID
res% = dll_call6("GridFunction",object_internal(1),1,i%,0,0,0)

' changer la couleur d'une ligne
RGB(255,255,255)  : ' écriture blanche
FRGB% = RGB%
RGB(22,174,244)    : ' fond des titres
res% = dll_call6("GridFunction",object_internal(1),3,0,0,RGB%,FRGB%)

' changer les attributs d'une colonne
att% = 14 + 256
res% = dll_call6("GridFunction",object_internal(1),9,2,att%,0,0)
' changer la couleur d'une colonne
RGB(255,255,255)  : ' écriture blanche
FRGB% = RGB%
RGB(200,200,248)    : ' fond des montants TTC
res% = dll_call6("GridFunction",object_internal(1),7,7,0,RGB%,FRGB%)

  ' changer les attributs d'une colonne
att% = 10
res% = dll_call6("GridFunction",object_internal(1),9,2,att%,0,0)
' changer la couleur d'une colonne
RGB(191,0,0)  : ' écriture rouge
FRGB% = RGB%
RGB(248,200,200)    : ' fond des montants HT
res% = dll_call6("GridFunction",object_internal(1),7,6,0,RGB%,FRGB%)

' changer la couleur d'une colonne
RGB(248,248,0)    : ' fond des montants TVA
res% = dll_call6("GridFunction",object_internal(1),7,5,0,RGB%,0)

' changer la couleur d'une colonne
RGB(248,248,230)    : ' fond des quantités
res% = dll_call6("GridFunction",object_internal(1),7,4,0,RGB%,0)

' changer la couleur d'une colonne
RGB(248,248,230)    : ' fond des prix unitaires
res% = dll_call6("GridFunction",object_internal(1),7,3,0,RGB%,0)

' changer la couleur d'une colonne
RGB(248,248,230)    : ' fond des taux TVA
res% = dll_call6("GridFunction",object_internal(1),7,2,0,RGB%,0)


' changer la couleur d'une ligne (séparateur)
res% = dll_call6("GridFunction",object_internal(1),3,0,18,0,0)

' changer la couleur d'une cellule (séparateur)
RGB(255,255,255)
res% = dll_call6("GridFunction",object_internal(1),2,2,19,RGB%,0)
res% = dll_call6("GridFunction",object_internal(1),2,3,19,RGB%,0)
res% = dll_call6("GridFunction",object_internal(1),2,4,19,RGB%,0)
' changer les attributs d'une colonne
att% = 14 + 256
res% = dll_call6("GridFunction",object_internal(1),9,2,att%,0,0)
RGB(208,208,0)    : ' fond des montants TVA
res% = dll_call6("GridFunction",object_internal(1),2,5,19,RGB%,0)
RGB(191,0,0)  : ' écriture rouge
FRGB% = RGB%
RGB(208,160,160)    : ' fond des montants HT
res% = dll_call6("GridFunction",object_internal(1),2,6,19,RGB%,FRGB%)
RGB(255,255,255)  : ' écriture blanche
FRGB% = RGB%
' changer les attributs d'une colonne
att% = 18 + 256
res% = dll_call6("GridFunction",object_internal(1),9,2,att%,0,0)
RGB(160,160,208)    : ' fond des montants TTC
res% = dll_call6("GridFunction",object_internal(1),2,7,19,RGB%,FRGB%)

end

sub RGB(R%,G%,B%)
  RGB% = (B%*256+R%)*256+G%
end_sub


J'ai saisie quelques données cohérentes, et voici ce que ça donne:
[img]KGF_dll - nouvelles versions - Page 24 Aa114[/img]
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 24 EmptyJeu 26 Mar 2015 - 20:50

Klaus, ma mémoire à trous est de retour et la doc n' est pas très explicite.
Quelle est la fonction de synedit qui renvoie le numéro de la ligne où se trouve le curseur ?
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptyJeu 26 Mar 2015 - 21:47

Nouvelle version:
KGF.dll V4.54 du 26/03/2015

Nouveautés:
SyneditFunction:
nouveau code 30: retourner le numéro de ligne du curseur
nouveau code 31: retourner le numéro de colonne du curseur


Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 24 EmptyJeu 26 Mar 2015 - 23:50

Merci Klaus !

Ca, c' est de la rapidité !  Laughing
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptyVen 27 Mar 2015 - 0:11

Il en est des demandes pour KGF.dll comme pour Panoramic, certaines sont plus faciles à réaliser que d'autres...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: RE   KGF_dll - nouvelles versions - Page 24 EmptyVen 27 Mar 2015 - 0:15

Pour info,

Tu as encore un kgf.chm qui traine dans le dossier racine dll sur ton webdav.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 24 EmptyVen 27 Mar 2015 - 0:30

La fonction 30 : res%=0 à chaque fois... Suspect
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptyVen 27 Mar 2015 - 0:45

Oups... C'est corrigé.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 24 EmptyVen 27 Mar 2015 - 0:50

Cà c' est quand c' est trop facile... Laughing
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re    KGF_dll - nouvelles versions - Page 24 EmptyVen 27 Mar 2015 - 18:42

Allo ! Houston...on a un problème...

"SyneditConfigureHighlighter"  code 5 et 6 ne fonctionnent pas.
Que ce soit pour les attributs de style ou de couleur.

en fait, le code 5 devrait agir sur les chaines, agit sur les commentaires et le code 6... ????
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptyVen 27 Mar 2015 - 19:45

Bizarre. Je vais tester cela.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 24 EmptyVen 27 Mar 2015 - 20:27

Voilà la procédure qui initialise les paramètres de l' éditeur :
Code:
SUB Initialize_Param(S%)
' -- Mise à jour des paramètres de syntaxe synedit
  Dim_local P1$,P2$,P3$,P4$,P5$,P6$
  P1$=StyleK$ :P2$=ColorK$ :P3$=StyleT$ :P4$=ColorT$ :P5$=StyleC$ :P6$=ColorC$
'  mots clef
  Syn_res%  = dll_call4("SyneditConfigureHighlighter",Syn%(S%),4,adr(P1$),adr(P2$))
'  chaines
  Syn_res%  = dll_call4("SyneditConfigureHighlighter",Syn%(S%),5,adr(P3$),adr(P4$))
'  commentaires
  Syn_res%  = dll_call4("SyneditConfigureHighlighter",Syn%(S%),6,adr(P5$),adr(P6$))
END_SUB
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptySam 28 Mar 2015 - 1:08

Nouvelle version:
KGF.dll V4.55 du 27/03/2015

Nouveautés:
correction d'un bug dans SyneditConfigureHighlighter

Modules modifiés:
KGF.dll

La doc et les sources sont à jour.

Cette correction porte sur la gestion des attributs et couleurs pour chaînes de caractères et commentaires.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 24 EmptySam 28 Mar 2015 - 2:45

cheers  Bravo Klaus, cela fonctionne.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 24 EmptySam 28 Mar 2015 - 21:29

Petit souci avec la fonction 17 de synedit
Si on sélectionne la dernière ligne, celle ci n' est pas copié dans le liste.
La différence entre les autres lignes et la dernière, c' est qu' elle ne se termine pas par ²².
²² que l' on retrouve dans le texte copié dans le list même si il n' est pas visible dans l' éditeur.
Autre chose, les caractères " ne sont pas copiés...
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptySam 28 Mar 2015 - 23:39

J'ai regardé le code et je ne vois pas bien où ça peut clocher. D'ailleurs, les ²² sont une représentation interne et ne sont pas prévus pour être vus dans l'affichage. Peux-tu me faire un petit exemple ? Genre maquette...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 24 EmptyDim 29 Mar 2015 - 3:00

J' ai abandonné cette piste pour Tab -
Je n' ai pas de solution pour l' instant.
Tab + est simple, il suffit d' insérer string$(3," ") en début de ligne.
Revenir en haut Aller en bas
Jicehel

Jicehel


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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptyDim 29 Mar 2015 - 9:15

Tab - :
Code:
IF LEST$(Contenu de la ligne$,3) = STRING$(" ",3) THEN Contenu de la ligne$ = RIGHT$(Contenu de la ligne$,LEN(Contenu de la ligne$) - 3)
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re    KGF_dll - nouvelles versions - Page 24 EmptyDim 29 Mar 2015 - 16:43

Encore faut il :

- récupérer le contenu de la ligne correctement dans une variable pour la vérification
- pouvoir sélectionner les trois premiers caractères ou plus selon le réglage de Tab +

Cela fait des fonctions en plus pour klaus cà, au moins une  Laughing

ou

- récupérer le contenu de la ligne correctement
- effacer correctement la dite ligne
- replacer la dite ligne sans les trois premiers caractères correctement.

La première des options étant la plus propre.

Si je récupère la ligne par la fonction 17 ce qui est à première vue la seule solution propre.
( par le presse papier, c' est une horreur ):

les caractères " ne sont pas récupérés et les marqueurs internes sont affichés sauf les retours charriot.
ex :

" La terre est ronde " devient  La terre est ronde²² .

Lorsque je supprime la ligne, les marqueurs internes de l' éditeur sont effacés.
Lorsque j' insère la ligne dans l' éditeur les marqueurs sont affichés comme des caractères.
Revenir en haut Aller en bas
Jicehel

Jicehel


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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptyDim 29 Mar 2015 - 18:30

OK, alors laissons Klaus y regarder entre 2 autres choses ...
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptyDim 29 Mar 2015 - 18:49

@Ygeronnimi:
Recharge al DLL stp (pas de changement de numéro de version, pour le moment). J'ai modifié le code 17 de SyneditFunction. J'aimerais bien connaître l'effet...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 24 EmptyDim 29 Mar 2015 - 20:29

Voilà le début de l' essai de sub pour la suppression d' une tabulation de trois espaces.
Code:
SUB SupTab()
   dim_local a$,L%,hnd%,hnd2%
   item_delete ListCopy%,1
   syneditgiveFocus()
   hnd%     =dll_call3("SyneditFunction",Syn%(1),20,0)
   L%       =dll_call3("SyneditFunction",Syn%(1),30,0)
   Syn_res% =dll_call3("SyneditFunction",Syn%(1),14,L%)
   hnd2%    =handle(Listcopy%)
   Syn_res% =dll_call3("SyneditFunction",Syn%(1),17,hnd2%)
   a$=item_read$(ListCopy%,1)
   message a$
   if left$(a$,3)=string$(3," ")
      a$=left$(a$,len(a$)-1)
      a$=right$(a$,len(a$)-3)
      Clav_res% = dll_call5("SendSingleKey",hnd%,12,0,0,0)
      Syn_res% =dll_call2("SyneditInsertString",Syn%(1),adr(a$))
   else
      message "impossible"
   end_if
   syneditgiveFocus()
END_SUB

si je place le curseur sur la ligne 1
KGF_dll - nouvelles versions - Page 24 Captur14
si je place le curseur sur la ligne 2
KGF_dll - nouvelles versions - Page 24 Captur15
si je place le curseur sur la ligne 3
KGF_dll - nouvelles versions - Page 24 Captur16

Et là, je n' ai pas encore retravailler la ligne...
Il y a un souci pour la sélection de la dernière ligne et de l' avant dernière aussi d' ailleurs.
Ensuite, le mieux serait de pouvoir placer le curseur sur la colonne voulu après le teste.
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptyDim 29 Mar 2015 - 22:00

J'ai dû reconstituer un petit programme autour de la SUB qui bien sûr ne peut pas tourner toute seule. La prochaine fois, essaie de faire un petit code autonome, opérationnel, pour que je puisse aller directement à l'essentiel.

Voici ce code, avec mes annotations:
Code:


label test
dim Syn%(1), Syn_res%, Clav_res%, Listcopy%

edit 1 : hide 1

dll_on "KGF.dll"

Syn_res% = dll_call0("SyneditInitialize")
Syn%(1) = dll_call2("SyneditCreate",handle(0),handle(1))

button 11 : top 11,10 : left 11,300 : caption 11,"Test" : on_click 11,test
list 12  : top 12,40 : left 12,300 : width 12,200 : Listcopy% = 12

end

test:
  SupTab()
  return

SUB SupTab()
  dim_local a$,L%,hnd%,hnd2%
  item_delete ListCopy%,1
  syneditgiveFocus()
  hnd%    =dll_call3("SyneditFunction",Syn%(1),20,0)
'    L%      =dll_call3("SyneditFunction",Syn%(1),30,0)  <===== inutile
' le 3ème paramètre est le nombre de lignes à surligner, pas le numéro de ligne !
'    Syn_res% =dll_call3("SyneditFunction",Syn%(1),14,L%)
  Syn_res% =dll_call3("SyneditFunction",Syn%(1),14,1) : ' <===== on surligne 1 ligne !
  hnd2%    =handle(Listcopy%)
  Syn_res% =dll_call3("SyneditFunction",Syn%(1),17,hnd2%)
  a$=item_read$(ListCopy%,1)
  message "1: "+a$
  if left$(a$,3)=string$(3," ")
'      a$=left$(a$,len(a$)-1)    : ' <===== pourquoi couper le dernier caractère ?
      a$=right$(a$,len(a$)-3)
      message "2: "+a$
      Clav_res% = dll_call5("SendSingleKey",hnd%,12,0,0,0)
      Syn_res% =dll_call2("SyneditInsertString",Syn%(1),adr(a$))
  else
      message "impossible"
  end_if
  syneditgiveFocus()
END_SUB

sub syneditgiveFocus()
  Syn_res% = dll_call3("SyneditFunction",Syn%(1),2,0)
end_sub



Ca marche, comme ça. En fait, tu avais deux problèmes:
1. tu as mal compris le code 17 de SyneditFunction. Le 3ème paramètre donne le nombre de lignes à surligner, et non le numéro de ligne. Ce code travaille toujours à partir de la ligne actuelle (et donc ta récupération de la ligne actuelle L% par le code 30 ne sert à rien, en réalité). Et si ce paramètre est positif, on surligne vers le bas, si ce paramètre est négatif, on surligne vers le haut. Donc, j'ai passé 1 et on surligne systématiquement la ligne en cours. Simple.
2. Je n'ai pas compris pourquoi tu coupais systématiquement le dernier caractère de la ligne ? En désactivant cette commande, tout se passe bien.
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

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 EmptyDim 29 Mar 2015 - 22:51

Nouvelle version:
KGF.dll V4.56 du 29/03/2015

Nouveautés:
nouvelle fonction: SyneditSetCursor
nouveau code 32 pour SyneditFunction


Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

La fonction SyneditSetCursor permet de positionner directement le curseur, dans une ligne, et devant une colonne indiquée.

Le code 32 pour SyneditFunction permet d'avancer ou de reculer d'un mot. Si par est >=0, on avance, si par est <0, on recule.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 24 EmptyLun 30 Mar 2015 - 0:58

KGF_dll - nouvelles versions - Page 24 Captur17
Où sont passés les guillemets ?  Suspect
La version précédente me les renvoyait... Sad

En tout cas, merci pour ces explications, en dehors des guillemets qui disparaissent la fonction fonctionne.
Et les deux nouvelles vont ouvrir la voie pour d' autres.
Revenir en haut Aller en bas
Contenu sponsorisé





KGF_dll - nouvelles versions - Page 24 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 24 Empty

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Revenir en haut 
Page 24 sur 40Aller à la page : Précédent  1 ... 13 ... 23, 24, 25 ... 32 ... 40  Suivant
 Sujets similaires
-
» KGF_dll - nouvelles versions
» Nouvelles versions
» Synedit_Editor - nouvelles versions
» KGF_dll - nouvelles versions
» KGF_dll - nouvelles versions

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: