Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| KGF_dll - nouvelles versions | |
|
+12JL35 Oscaribout bignono Pedro pascal10000 silverman Jicehel papydall Minibug Marc Yannick Klaus 16 participants | |
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 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 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é. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 7 Avr 2017 - 1:52 | |
| Je comprends un peu mieux... | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 7 Avr 2017 - 11:32 | |
| Coucou, c' est casse cou.... qui est de retour... J' ai vu ceci sur wiki pascal 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... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 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... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 7 Avr 2017 - 18:51 | |
| Nouvelle version: KGF.dll V7.40 du 07/04/2017Nouveautés: - SearchStringInTextFile: ajout de recherche individuelle de mots multiples Modules modifiés: KGF.dll KGF.dllLa 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. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 8 Avr 2017 - 11:57 | |
| Nouvelle version: KGF.dll V7.41 du 08/04/2017Nouveautés: - nouvelle fonction: IsolateWordsFromStringModules modifiés: KGF.dll KGF.dllLa 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
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 9 Avr 2017 - 15:36 | |
| Nouvelle version: KGF.dll V7.42 du 09/04/2017Nouveautés: - nouvelle fonction: SetAlphabetModules modifiés: KGF.dll KGF.dllLa 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
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 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 ?... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 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... | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 9 Avr 2017 - 20:20 | |
| Merci Klaus ! J' avais commencé à ré-ouvrir mes archives de Math... ...c' est très loin tout çà. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 9 Avr 2017 - 20:38 | |
| 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) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 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 EDITEt 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
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 10 Avr 2017 - 8:06 | |
| Merci Klaus. Cela fonctionne très bien. Tu m' as évité quelques heures de recherche... | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 10 Avr 2017 - 8:44 | |
| @ Klaus, As tu pu regarder pour le marquage du pliage dans la goutière ?... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 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 ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 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... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 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. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 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é. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 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. 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 finvoilà ce que donne mes réglages pour Notepadd++ : J' ai placé un zip pour la coloration syntaxique dans Notepadd++ sur mon webdav si tu veux voir | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 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 ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re Lun 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. Donc, je propose un "wait en see" pour le moment. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| | | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 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... | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: KGF_dll - nouvelles versions Mar 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. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 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. | |
| | | Contenu sponsorisé
| Sujet: Re: KGF_dll - nouvelles versions | |
| |
| | | | KGF_dll - nouvelles versions | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |