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 7 Emptypar Pedro Aujourd'hui à 10:37

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

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

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

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

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

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

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

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

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

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

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

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

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

» fichier.exe
KGF_dll - nouvelles versions - Page 7 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 du moment : -29%
DYSON V8 Origin – Aspirateur balai sans fil
Voir le deal
269.99 €

 

 KGF_dll - nouvelles versions

Aller en bas 
+12
JL35
Oscaribout
bignono
Pedro
pascal10000
silverman
Jicehel
papydall
Minibug
Marc
Yannick
Klaus
16 participants
Aller à la page : Précédent  1 ... 6, 7, 8 ... 23 ... 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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyJeu 6 Avr 2017 - 23:47

@Yannick:
La fonction de complément automatique est détectée par Synedit, signalée au programme Panoramic appelant et exécutée par ce dernier. Ce n'est pas l'objet Synedit qui le fait. La doc de Synedit_Editor dit:
Citation :
F2 Complément automatique des mots-clé pour Panoramic et FBPano
Cette commande sera passée au programme appelant avec le code axxx.
On saisit le début d'un mot-clé, puis on frappe F2. Une fenêtre s'ouvre alors avec la liste des mots-clé commençant par le texte saisi, et une zone de saisie dans laquelle ce début de mot-clé est recopié. On complète ce texte, et le contenu de la liste est actualisé immédiatement. Un clic sur un élément ce cette liste remplace le texte saisi dans la page active, par le mot-clé corrspondant. Si le texte saisi initialement est en minuscules, le mot-clé sera inséré en minuscules. Sinon, il le sera en majuscules.

ctrl/F2 Complément automatique des mons de fonctions de KGF
Cette commande sera passée au programme appelant avec le code kxxx.
Fonctionnement identique à F2, mais avec la liste des fonctions de KGF.dll. Deux différences néanmoins:
1. le critère de filtrage est recherché dans le nom entier et pas seulement au début du nom
2. le nom sélectionné est inséré avec son orthographe exacte, indépendemment de la casse du critère saisi.

alt/F2 Complément automatique des mons de fonctions d'une DLL quelconque
Cette commande sera passée au programme appelant avec le code dxxx.
Fonctionnement identique à F2, mais avec la liste des fonctions d'une autreDLL. Cette dll doit avoir été sélectionné par la fonction Autre DLL du menu Outils. Deux différences néanmoins:
1. le critère de filtrage est recherché dans le nom entier et pas seulement au début du nom
2. le nom sélectionné est inséré avec son orthographe exacte, indépendemment de la casse du critère saisi.

Voici les valeurs retournées au programme Panoramic appelant, dans l'objet EDIT recevant les messages:
F2: annns
ctrl/F2: knnns
alt/F2: dnnns cyclops

dans tous les cas: nnn est le numéro du Synedit
s est la chaîne de caractères partielle à partir de laquelle il faut afficher la liste des choix possibles.

Donc, il appartient au programme Panoramic de charger un objet DLIST avec tous les mots-clé concernés pour chacune de ces 3 actions. Puis, lorsque l'évènement survient, il faut charger un objet LIST à partir de la DLIST concernée, en filtrant avec la chaîne de caractères s. Et le tour est joué.
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 7 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 7 EmptyVen 7 Avr 2017 - 1:52

Je comprends un peu mieux... Wink
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 7 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 7 EmptyVen 7 Avr 2017 - 11:32

Coucou, c' est casse cou.... qui est de retour... pale

J' ai vu ceci sur wiki pascal
KGF_dll - nouvelles versions - Page 7 Captur82

dans cette capture, on voit que le pliage/depliage est signifié, comme dans d' autres éditeurs, dans la gouttière.
penses tu que cela sera faisable dans kgf ?...

Bon, j' ai compris, je sors... 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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyVen 7 Avr 2017 - 18:46

Je vais regarder, mais j'en doute... Ma façon d'implémenter le pliage permet de plier une section, puis de plier une section plus large incluant la section pliée (ou plusieurs sections pliées) et ainsi de suite. Au dépliage, cela restutue l'image exacte, y compris l'état des sections incluses encore pliées etc. Puis il y a la notioin de "projet" dans Synedit_Editor. Un projet enregistre l'état actuel de pliage, quelque soit le nombre de segments pliés et la "profondeur" hiérarchique de pliage. A la réouverture, cette situation extacte est restituée. Je doute que l'objet Synedit fasse cela...
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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyVen 7 Avr 2017 - 18:51

Nouvelle version:
KGF.dll V7.40 du 07/04/2017

Nouveautés:
- SearchStringInTextFile: ajout de recherche individuelle de mots multiples

Modules modifiés:
KGF.dll
KGF.dll


La doc et les sources sources sont à jour.

En ajoutant 10 au code sortie (5ème paramètre de SearchStringInTextFile), on ne cherche plus le critère extact, mais chaque mot contenu dans le critère. Le retour est classé dans l'ordre des mots dans le critère de recherche avec une ligne [mot] au début de la section de resultats pour chaque mot.

Voici une démo:
Code:
' test_SearchStringInTextFile.bas

label exec

dim res%, fic$, crit$, ind%

full_space 0
dll_on "KGF.dll"
memo  1  : bar_both 1 : top 1,40 : width 1,300 : height 1,400
combo 2  : left 2,310 : top 2,40 : width 2,300 : height 2,400
list  3  : left 3,620 : top 3,40 : width 3,300 : height 3,400

option 10 : top 10,10 : left 10, 10 : caption 10,"Clipboard"
option 11 : top 11,10 : left 11,110 : caption 11,"Memo"
option 12 : top 12,10 : left 12,210 : caption 12,"Combo"
option 13 : top 13,10 : left 13,310 : caption 13,"List"
check 14 : top 14,10 : left 14,440 : caption 14,"Mots individuels"

alpha  20 : top 20,10 : left 20,510 : caption 20,"Critère:"
edit  21 : top 21,10 : left 21,580 : width 21,100
button 22 : top 22,10 : left 22,690 : caption 22,"Exécuter" : on_click 22,exec
mark_on 10

fic$ = "dico_français_espagnol.txt"
text 21,"travail"
end

exec:
  ind% = checked(14)*10
  crit$ = text$(21)
  ' res% = dll_call4("SearchStringInTextFile",adr(fic$),adr(crit$),LineNumbers%, AtStartOnly%, OutType%, OutHandle%)
  '    LineNumbers: 0=pas de numéros de ligne  <>0=numéros de ligne
  '    AtStartOnly: 0=dans toute la ligne      <>0=au début de la ligne uniquement
  '    OutType%:    0=clipboard  1=memo  2=combo  3=list
  if checked(10)=1
    clear 1
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,ind%+0,0)
    clipboard_paste 1
  end_if
  if checked(11)=1
    clear 1
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,ind%+1,handle(1))
  end_if
  if checked(12)=1
    clear 2
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,ind%+2,handle(2))
  end_if
  if checked(13)=1
    clear 3
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,ind%+3,handle(3))
  end_if
  message str$(res%)+" lignes trouvées"
  return

end

Le programme cherche son critère dans "dico_français_espagnol.txt", un gros fichier de texte de l'application de traduction de Pédro Alvarez. Mais vous pouvez prendre n'importe quel fichier texte.
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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptySam 8 Avr 2017 - 11:57

Nouvelle version:
KGF.dll V7.41 du 08/04/2017

Nouveautés:
- nouvelle fonction: IsolateWordsFromString

Modules modifiés:
KGF.dll
KGF.dll


La doc et les sources sources sont à jour.

Cette fonction permet de retourner les mots contenus dans une chaîne de caractères, un mot par ligne, en igniorant tout que qui n'est pas lettre. La sortie peut être le presse-papier, un mémo, une combo ou une list.

Voici une démo:
Code:
' test_IsolateWordsFromString.bas

label analyser

dim res%, txt$

dll_on "KGF.dll"


width 0,1000 : height 0,600
alpha 1 : top 1,10 : left 1,10 : caption 1,"Chaîne de caractères à analyser:"
edit 2 : top 2,30 : left 2,10 : width 2,400

alpha 3 : top 3,60 : left 3,10 : caption 3,"Résultat dans:"
option 10 : top 10,80 : left 10, 10 : caption 10,"Clipboard"
option 11 : top 11,80 : left 11,110 : caption 11,"Memo"
option 12 : top 12,80 : left 12,210 : caption 12,"Combo"
option 13 : top 13,80 : left 13,310 : caption 13,"List"

button 20 : top 20,110 : left 20,10 : caption 20,"Analyser" : on_click 20,analyser

memo  21  : left 21,10  : top 21,140 : width 21,300 : height 21,400 : bar_both 21
combo 22  : left 22,310 : top 22,140 : width 22,300 : height 22,400
list  23  : left 23,620 : top 23,140 : width 23,300 : height 23,400

end

analyser:
  txt$ = text$(2)
  clear 21
  clear 22
  clear 23
  if checked(10)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),0,0)
    clipboard_paste 21
  end_if
  if checked(11)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),1,handle(21))
  end_if
  if checked(12)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),2,handle(22))
  end_if
  if checked(13)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),3,handle(23))
  end_if

  message str$(res%)+" mots trouvés"
 
  return
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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyDim 9 Avr 2017 - 15:36

Nouvelle version:
KGF.dll V7.42 du 09/04/2017

Nouveautés:
- nouvelle fonction: SetAlphabet

Modules modifiés:
KGF.dll
KGF.dll


La doc et les sources sources sont à jour.

Cette fonction est destinée à préparer le terrain pour la fonction IsolateWordsFromString. Cette dernière utilise un alphabet français par défaut, avec ses lettres accentuée. Mais les autres langues ?

J'ai donc défini les alphabets suivants:
0: AlphabetFull - utilisé pour filtrer les caractères - 'union des alphabets de détail nécessaires
1: AlphabetLower - minuscules normales
2: AlphabetUpper - majuscules normales
3: AlphabetSpecial - lettres spéciales propres à la langue (minuscules accentuées, ...)
4: AlphabetSpace - espace
5: AlphabetDigits - chiffres
6: AlphabetKeep - caractères spéciaux à préserver (comme le trait d'union ou l'apostrophe)

Chacun de ces alphabets a un contenu par défaut qui correspond à la langue française. Mais chacun peut metre effacé et/ou chargé par d'autres caractères, et chacun peut faire partie ou nom de AlphabetFull, sauf bien sûr AlphabetKeep qui a une fonction particulière.

Voici un code qui recrée en fait le contenu par défaut de tous les alphabets. Il n'est pas nécessaire de l'exécuter puisque c'est déjà ainsi, mais il peut servir de modèle pour définir des alphabets pour d'autres langues:
Code:
dim res%, txt$

dim AlphabetLower$       : ' lettres minuscules
dim AlphabetUpper$       : ' lettres majuscules
dim AlphabetSpecial$     : ' lettres spéciales (accentuées, ...)
dim AlphabetSpace$       : ' espace
dim AlphabetDigits$      : ' chiffres
dim AlphabetKeep$        : ' caractères à conserver

' ceci sont les définitions par défaut présentes dans KGF.dll
AlphabetLower$   = "abcdefghijklmnopqrstuvwxyz"   : '  lettres minuscules
AlphabetUpper$   = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"   : '  lettres majuscules
AlphabetSpecial$ = "àâéêëèîïôùûüç"                : '  lettres spéciales (accentuée, ...)
AlphabetSpace$   = " "                            : ' espace
AlphabetDigits$  = "0123456789"                   : '  chiffres
AlphabetKeep$    = "-'"                           : '  caractères à conserver

' effacer tout, puis reconstruire les alphabets tels que présents par défaut
res% = dll_call3("SetAlphabet",0,0-1,0)   : ' effacer tout
res% = dll_call3("SetAlphabet",1,1,adr(AlphabetLower$)) : ' charger minuscules et ajouter à l'alphabet global
res% = dll_call3("SetAlphabet",1,2,adr(AlphabetUpper$)) : ' charger majuscules et ajouter à l'alphabet global
res% = dll_call3("SetAlphabet",1,3,adr(AlphabetSpecial$)) : ' charger accentuées et ajouter à l'alphabet global
res% = dll_call3("SetAlphabet",1,4,adr(AlphabetSpace$)) : ' charger l'espace et ajouter à l'alphabet global
res% = dll_call3("SetAlphabet",2,5,adr(AlphabetDigits$)) : ' charger les chiffres mais ne pas les ajouter à l'alphabet global
res% = dll_call3("SetAlphabet",2,6,adr(AlphabetKeep$)) : ' charger - et ' mais ne pas les ajouter à l'alphabet global

Et voici le programme de démo adapté à cette version. On a une CheckBox permettant de choisir dynamiquement si l'on veut préserver le trait d'union et l'apostrophe ou pas:
Code:
' test_IsolateWordsFromString.bas

label analyser

dim res%, txt$
dim AlphabetLower$       : ' lettres minuscules
dim AlphabetUpper$       : ' lettres majuscules
dim AlphabetSpecial$     : ' lettres spéciales (accentuées, ...)
dim AlphabetSpace$       : ' espace
dim AlphabetDigits$      : ' chiffres
dim AlphabetKeep$        : ' caractères à conserver

dll_on "KGF.dll"

AlphabetLower$   = "abcdefghijklmnopqrstuvwxyz"   : '  lettres minuscules
AlphabetUpper$   = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"   : '  lettres majuscules
AlphabetSpecial$ = "àâéêëèîïôùûüç"                : '  lettres spéciales (accentuée, ...)
AlphabetSpace$   = " "                            : ' espace
AlphabetDigits$  = "0123456789"                   : '  chiffres
AlphabetKeep$    = "-'"                           : '  caractères à conserver

res% = dll_call3("SetAlphabet",0,0-1,0)
res% = dll_call3("SetAlphabet",1,1,adr(AlphabetLower$))
res% = dll_call3("SetAlphabet",1,2,adr(AlphabetUpper$))
res% = dll_call3("SetAlphabet",1,3,adr(AlphabetSpecial$))
res% = dll_call3("SetAlphabet",1,4,adr(AlphabetSpace$))
res% = dll_call3("SetAlphabet",2,5,adr(AlphabetDigits$))  : ' ne pas ajouter les chiffres !


width 0,1000 : height 0,600
alpha 1 : top 1,10 : left 1,10 : caption 1,"Chaîne de caractères à analyser:"
edit 2 : top 2,30 : left 2,10 : width 2,400
check 15 : top 15,30 : left 15,440 : caption 15,"Garder - et '" : font_bold 15

alpha 3 : top 3,60 : left 3,10 : caption 3,"Résultat dans:"
option 10 : top 10,80 : left 10, 10 : caption 10,"Clipboard"
option 11 : top 11,80 : left 11,110 : caption 11,"Memo"
option 12 : top 12,80 : left 12,210 : caption 12,"Combo"
option 13 : top 13,80 : left 13,310 : caption 13,"List"
mark_on 10

button 20 : top 20,110 : left 20,10 : caption 20,"Analyser" : on_click 20,analyser

memo  21  : left 21,10  : top 21,140 : width 21,300 : height 21,400 : bar_both 21
combo 22  : left 22,310 : top 22,140 : width 22,300 : height 22,400
list  23  : left 23,620 : top 23,140 : width 23,300 : height 23,400

end

analyser:
  res% = dll_call3("SetAlphabet",0,6,0)
  if checked(15)=1 then res% = dll_call3("SetAlphabet",2,6,adr(AlphabetKeep$))

  txt$ = text$(2)
  clear 21
  clear 22
  clear 23
  if checked(10)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),0,0)
    clipboard_paste 21
  end_if
  if checked(11)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),1,handle(21))
  end_if
  if checked(12)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),2,handle(22))
  end_if
  if checked(13)=1
    res% = dll_call3("IsolateWordsFromString",adr(txt$),3,handle(23))
  end_if

  message str$(res%)+" mots trouvés"
  
  return
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 7 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 7 EmptyDim 9 Avr 2017 - 19:46

@ Klaus,

Peut-être l' as tu mis déjà quelque part.
Je voudrais récupérer une couleur en RGB depuis une couleur KGF
dans le sens RGB => KGF la formule est : 

CouleurKgf% =(B%*256+G%)*256+R%

mais dans l' autre sens ?...
scratch 
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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyDim 9 Avr 2017 - 19:55

Code:
R% = bin_and(CouleurKgf%,255)
G% = bin_and(CouleurKgf%/256,255)
B% = bin_and(CouleurKgf%/(256*256))
100 % Panoramic...
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 7 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 7 EmptyDim 9 Avr 2017 - 20:20

Merci Klaus !

J' avais commencé à ré-ouvrir mes archives de Math...
...c' est très loin tout çà.
lol!
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 7 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 7 EmptyDim 9 Avr 2017 - 20:38

Sad
Je récupère pas les bonnes valeurs.

r% = bin_and(coul%,255)
g% = bin_and(coul%/256,255)
b% = bin_and(coul%/(256*256),255)

le gris (230,230,230) me renvoie : 231,231,230 
le blanc (255,255,255) me renvoie : 255,0,0 (rouge)
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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyDim 9 Avr 2017 - 23:58

Bon, je me suis fait avoir, encore une fois, par la confusion entre le résultat des divisions (qui sont des flottants) et les opérations sur des entiers.

Voici les formules correctes:
Code:
dim R%, G%, B%, CouleurKgf%

CouleurKgf% = (255*256+255)*256+255

R% = bin_and(CouleurKgf%,255)
G% = bin_and(int(CouleurKgf%/256),255)
B% = bin_and(int(CouleurKgf%/(256*256)),255)

print str$(r%)+" "+str$(g%)+" "+str$(b%)

end

EDIT

Et la même chose avec 3 procédures:
Code:
dim R%, G%, B%, CouleurKgf%

CouleurKgf% = (255*256+255)*256+255

Color_R(CouleurKgf%,adr(R%))
Color_G(CouleurKgf%,adr(G%))
Color_B(CouleurKgf%,adr(B%))

print str$(r%)+" "+str$(g%)+" "+str$(b%)

end

sub Color_R(clr%,aR%)
  poke aR%,bin_and(CouleurKgf%,255)
end_sub
sub Color_G(clr%,aG%)
  poke aG%,bin_and(int(CouleurKgf%/256),255)
end_sub
sub Color_B(clr%,aB%)
  poke aB%,bin_and(int(CouleurKgf%/(256*256)),255)
end_sub
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 7 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 7 EmptyLun 10 Avr 2017 - 8:06

Merci Klaus.

Cela fonctionne très bien.
Tu m' as évité quelques heures de recherche... Embarassed

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 7 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 7 EmptyLun 10 Avr 2017 - 8:44

@ Klaus,

As tu pu regarder pour le marquage du pliage dans la goutière ?...
Very Happy
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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyLun 10 Avr 2017 - 9:20

Oui, j'ai regardé. La version de Synedit que j'utilise, est:
Code:
$Id: SynEdit.pas,v 1.32.1 2012/19/09 10:50:00 CodehunterWorks Exp $
Cette version ne supporte pas le pliage de code. Il y a bien une version nettement plus récente de Synedit, supportant le pliage de code, mais sa compatibilité avec Delphi 6 n'est pas assurée.

C'est bien pour cette raison que j'ai créé ma propre version de pliage. Maladroitement peut-être, mais opérationnelle. Et ceci est réalisé en Panoramic, dans Synedit_Editor, en réaction à la touche ctrl/P. Pour ces raisons, je dois dire que
1. le Synedit actuel ne contient pas de pliage "natif"
2. mon implélentation du pliage est réalisée en Panoramc dans Synedit_Editor, en-dehors de l'objet Synedit
3. cette gestion du pliage peut être "copiée" à partir des sources de Synedit_Editor, mais il y a peu de chances que cette section de code soit compatible avec ton éditeur.

Je vais pousser la recherche un peu plus loin pour savoir si je peux réécrire la partie pliage en Delphi et l'intégrer dans KGF.dll. Ce sera certainement compliqué, mais pas impossible, évidemment. Encore faut-il savoir si ma technique peut te convenir, puisque je crée une multitude de petits fichiers contenant chacun la partie pliée du code. Les noms de ces fichiers identifient leur appartenance et leur localisation, et ce nom de fichier est mémorisé dans le fichier source à la place des portions pliées du code.

Si tu as une meilleure idée pour l'implémentation du pliage, je suis preneur !
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 7 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 7 EmptyLun 10 Avr 2017 - 10:13

J' en ai plein les... de refaire 50 fois les mêmes message avec ce forum à la ...
donc je vais faire court.

Je réfléchis et je reviens vers toi avant ce soir.
Avant que tu es tout fait...
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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyLun 10 Avr 2017 - 10:25

En fait, j'ai réfléchi. En réalité, la majeure partie de la gestion du pliage se fait déjà dans KGF.dll, dans le code qui "entoure" l'objet Synedit. Et ça devrait donc être faisable. Je t'en dirai plus prochainement.
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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyLun 10 Avr 2017 - 10:28

En fait, fais l'essai suivant:
dans un objet Synedit, sélectionne quelques lignes, puis frappe ctrl/P. Qu'est-ce qui se passe ?

En gros, il devrait "plier" les lignes sélectionnées. Ou, si rien n'est sélectionné, il devrait plier tout, à partir de la ligne dans laquelle se trouve le curseur, jusqu'à la prochaine ligne blanche.

Les segments pliés sont retirés du code et placés dans de petits fichiers, d'où ils sont réintégrés au moment de la sauvegarde ou de la soumission du source à un outil. Ces fichiers sont déposés dans un dossier temporaire créé dans le dossier où se trouve le code source sur lequel un travaille, et nommé ...\Temp\Segments\. La fonction SyneditSaveToFile avec le paramètre unfold%=2 reconstitue le fichier complet, entièrement déplié.
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 7 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 7 EmptyLun 10 Avr 2017 - 12:24

En fait, le seul impératif, que je voyais, était de pouvoir sauvegarder le fichier 
dans son intégrité à la fermeture d' un onglet.
Peu importe qu' un dossier soit créé pour garder en mémoire les paramètres de pliage.
Le dossier racine du projet n' est qu' un dossier de travail, le dossier racine de distribution
est constitué par l' auteur une fois que tout fonctionne et épuré des fichiers tests et autres.

Il faut bien qu' il reste quelque chose à faire au programmeur !..
Quoi que, bientôt on te demandera une fonction de transmission de pensées.
lol!

Le truc qui n' est pas "joli" avec le pliage actuel par la fonction 13 c' est la ligne de repli qui affiche tout un tas
d' info pas très esthétique. d' où ma demande pour voir si on pouvait en lieu et place avoir un petit +/- dans la gouttière.
On peut peut-être définir des marqueurs de pliage. 
une ligne de commentaire de début et de fin 

pour Notepadd++ je me sers de : 
' ! pour un début et ' - pour la fin
sub pour un autre début et end_sub pour la fin

voilà ce que donne mes réglages pour Notepadd++ :
KGF_dll - nouvelles versions - Page 7 Captur83

J' ai placé un zip pour la coloration syntaxique dans Notepadd++ 
sur mon webdav si tu veux voir
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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyLun 10 Avr 2017 - 14:25

Malheureusement, je ne peux pas toucher à la gouttière. Son contenu est déssiné graphiquement par l'objet Synedit d'origine, et cela sème une pagaille sans nom si j'interviens la-dedans.

Le format de la ligne plié est:
Code:
#$SE_id_n.pli = sub test()
pour le code plié de
Code:
sub test()
  sdfsdfsd
  fdgdf
  gfgh
  tghj
  gh
  jh
  jk
  hjk
end_sub
avec id=numéro du Synedit, et n=numéro d'ordre du segment plié. Le tout forme le nom du fichier contenant les lignes pliées.

Je peux mémoriser ces deux valeurs numériques (id et n) de façon invisible, et juste faire une marque du genre
Code:
<*> sub test()
pour signaler le pliage. J'ai testé - ça marche. Le gros problème c'est que ça m'interdit d'avoir des pliages à plusieurs niveaux. Ce qui veut dire que je ne peux pas lier ainsi une section de texte dans laquelle il y a déjà une ou plusieurs sections pliées. Et dans ce sens, m'objet Synedit tel que le l'ai développé, est beaucoup plus puissant !

Mais je peux faire une suggestion de compromis:
Je peux placer une marque devant la première ligne, et le fameux nom de fichier en commentaire derrière. Cela donnerait ceci:
Code:
<*> sub test()  : ' #$SE_id_n.pli
Quest-ce que tu dirais de cela ? J'en conviens, c'est juste esthétique, mais je tiens à garder la possibilité de pliage à plusieurs niveaux !
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 7 Empty
MessageSujet: Re   KGF_dll - nouvelles versions - Page 7 EmptyLun 10 Avr 2017 - 15:28

Bon, maintenant que l' on sait ce qui est possible et ne l' est pas via la dll,
Je ne voudrais pas te faire faire un travail "inutile".

Je pense que le mieux est de garder les choses en l' état et d' attendre de voir sur quel version
de Synedit Jack va travailler. 
Si toutes les fonctions que l' on utilise par la dll arrivent en natif, la section deviendra obsolète.
et cela aura été une perte de temps.
Les fonctions risquent d' être plus longues à venir mais si il intègre une version plus récente,
Il sera peut être plus facile pour toi d' intervenir par la dll sur ce nouvelle objet que de créer des fonctions qui n' exitent pas
dans celui ci.
J' espère que je n' ai pas trop été brouillon dans mes dires.
Laughing

Donc, je propose un "wait en see" pour le moment.
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 7 Empty
MessageSujet: Re   KGF_dll - nouvelles versions - Page 7 EmptyLun 10 Avr 2017 - 19:14

@ Klaus 


Tu dis que tu es sur la version 1.32 de synedit.
Je viens de voir qu il existait un version 2.0.6 et 2.0.8 pour Delphi.
C' est sur le site de Christian Ferons (Miscellanées).
Il y a des liens de téléchargement.


A moins que ta version de Delphi soit trop ancienne...
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 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyLun 10 Avr 2017 - 22:18

Merci, Yannick.

J'ai téléchargé la version 2.0.8 en Unicode. Et, surprise: ligne par ligne, c'est exactement le code que j'ai ! Et dans le module Synedit.pas (le module de base du composant), il y a exactement la même référence que celle que je viens de donner. A l'époque (lorsque j'ai cherché une version de Synedit utilisable avec mon Delphi), j'avais tout exploré et pris la version qui me semblait appropriée. Je n'ai pas trouvé de version plus récente utilisable avec Delphi 6.

Je suis en train de chercher une solution différente de celle que j'utilise actuellement. Je pense que je vais y arriver...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

KGF_dll - nouvelles versions - Page 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyMar 11 Avr 2017 - 0:52

@Klaus
Il me semble que tu développes sous Delphi 6
La dernière version de Delphi est 10.2 Tokyo (mars 2017) et je pense (sauf erreur de ma part) que cette version n’est pas gratuite.
Personnellement je dispose de Delphi 7 (gratuit) que j’utilise  occasionnellement  pour des petits tests, car ne maitrisant pas assez le langage. Embarassed
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 7 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 7 EmptyMar 11 Avr 2017 - 1:05

Citation :
Il me semble que tu développes sous Delphi 6
Exact. Delphi 6 Personal Edition (version gratuite)

J'ai essayé Delphi 7, mais je n'ai pas réussi à porter KGF.dll sous Delphi 7. Trop de composants additionnels, ce qui pose problème avec Delphi 7 en version gratuite. Et bien sûr, je ne souhaite pas prendre une version payante.

J'avais essayé Lazarus (avec FreePascal), mais là, les problèmes se multiplient à l'infini.

Non, je vais rester sagement à Delphi 6 où je peux faire à peu près ce que je veux, sauf des bases de données natives, mais j'y ai pallié avec diverses bases de données de mon cru.

Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





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

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Revenir en haut 
Page 7 sur 40Aller à la page : Précédent  1 ... 6, 7, 8 ... 23 ... 40  Suivant
 Sujets similaires
-
» KGF_dll - nouvelles versions
» KGF_dll - nouvelles versions
» KGF_dll - nouvelles versions
» Synedit_Editor - nouvelles versions
» version instantanée PANORAMIC V 0.9.25i6 du 14/12/2013

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: