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.
Tentative de surlignage Emptypar Pedro Hier à 10:37

» Un autre pense-bête...
Tentative de surlignage Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Tentative de surlignage Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Tentative de surlignage Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Tentative de surlignage Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Tentative de surlignage Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Tentative de surlignage Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Tentative de surlignage Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Tentative de surlignage Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Tentative de surlignage Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Tentative de surlignage Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Tentative de surlignage Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Tentative de surlignage Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Tentative de surlignage Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Tentative de surlignage 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 : -47%
SAMSUNG T7 Shield Bleu – SSD Externe 1 To ...
Voir le deal
89.99 €

 

 Tentative de surlignage

Aller en bas 
AuteurMessage
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Tentative de surlignage Empty
MessageSujet: Tentative de surlignage   Tentative de surlignage EmptyJeu 2 Oct 2014 - 18:08

J'ai tenté de faire une sub de surlignage dans un List, par exemple, pour mettre en évidence certains éléments trouvés par programme, mais finalement je ne suis pas trop satisfait du résultat: les éléments sont bien surlignés, mais au moindre clic le surlignage disparait: en fait l'opération se fait par superposition de pictures sur les parties concernées, mais dès qu'on fait autre chose le List est régénéré par panoramic et les pictures rajoutés passent au 2ème plan (dessous -> invisibles).

Donc ça peut être utilisé ponctuellement, mais c'est tout, à moins que quelqu'un ait une meilleure idée:
Code:
DIM f$, a$, buf$, i%

f$ = "C:\GRAPH\JPG\GOLDGATE.jpg": ' <=== un fichier quelconque
WIDTH 0,660: HEIGHT 0,900
LIST 2: TOP 2,0: WIDTH 2,640: HEIGHT 2,850
FONT_NAME 2,"Lucida Console": FONT_SIZE 2,10
MEMO 3: WIDTH 3,600: HIDE 3

Dump(f$,0,1024,16)
ITEM_ADD 3,rda$: FOR i% = 1 TO COUNT(3): ITEM_ADD 2,ITEM_READ$(3,i%): NEXT i%
CAPTION 0,f$

Surligne(2,16,50,5): ' ligne 16, caractère 50
Surligne(2,23,38,5): ' ligne 23, caractère 38
Surligne(2,29,26,5): ' ligne 29, caractère 26
Surligne(2,41,8,11): ' ligne 41, caractère 8
end
' ==============================================================================
SUB Surligne(obj%,ligne%,carac%,nbcar%)
' surligner un élément d'un Memo obj% (à police fixe)
DIM_LOCAL wc%,hc%,fm%,ps%,npt%,n2d%,el$
npt% = NUMBER_PRINT_TARGET: n2d% = NUMBER_2D_TARGET: ' sauvegarde
el$ = MID$(ITEM_READ$(obj%,ligne%),carac%,nbcar%): ' élément à surligner
fm%=2000: WHILE OBJECT_EXISTS(fm%)=1: fm%=fm%+1: END_WHILE
ps%=fm%+1: WHILE OBJECT_EXISTS(ps%)=1: ps%=ps%+1: END_WHILE
wc% = 1+TEXT_WIDTH("ABCDEFGHIJ",obj%)/10: hc% = TEXT_HEIGHT("AjBp",obj%)
FORM fm%: BORDER_HIDE fm%: TOP fm%,TOP(obj%)+(ligne%-1)*hc%+31
LEFT fm%,LEFT(obj%)+(carac%-1)*wc%+12: WIDTH fm%,wc%*nbcar%+4: HEIGHT fm%,hc%
PICTURE ps%: PARENT ps%,fm%: FULL_SPACE ps%
FONT_NAME ps%,"Lucida Console": FONT_SIZE ps%,10: ' font_color ps%,255,0,0
2d_target_is ps%: 2d_fill_color 255,255,80
PRINT_TARGET_IS ps%: PRINT_LOCATE 0,1: PRINT el$
PRINT_TARGET_IS npt%: 2D_TARGET_IS n2d%: ' restore
END_SUB
' ==============================================================================
SUB Dump(f$,posit%,n%,nol%)
' dump de n% octets de f$ à partir de posit% -> rda$, nol% octets par ligne
' à relire par exemple dans un Memo (Item_Add nmemo,rda$)
' (n% ramené si nécessaire au nombre entier inférieur de lignes)
IF VARIABLE("rda$")=0 THEN DIM rda$
DIM_LOCAL ads%, di%, dj%, dk%, ba$, ca$, cc$
IF MOD(n%,nol%)<>0 THEN n% = INT(n%/nol%): n% = n%*nol%
FILEBIN_OPEN_READ 9,f$: FILEBIN_POSITION 9,posit%: ba$ = FILEBIN_HEXA_READ$(9,n%)
FILEBIN_CLOSE 9
ads% = 0: rda$ = ""
FOR di% = 1 TO (n%-1)*2 STEP 2*nol%
    rda$ = rda$ + RIGHT$("0000"+HEX$(ads%),5) + ": ": ca$ = " "
    FOR dj% = di% TO di%+2*nol%-2 STEP 2
        cc$ = MID$(ba$, dj%, 2)
        rda$ = rda$ + cc$ + " ": dk% = HEX(cc$)
        IF dk% > 31
            ca$ = ca$ + CHR$(dk%)
        ELSE
            ca$ = ca$ + "."
        END_IF
    NEXT dj%
    ads% = ads% + nol%
    rda$ = rda$ + ca$ + " " + CHR$(13) + CHR$(10)
NEXT di%
rda$ = LEFT$(rda$, LEN(rda$)-2)
END_SUB
' ==============================================================================
Revenir en haut Aller en bas
Invité
Invité




Tentative de surlignage Empty
MessageSujet: Re: Tentative de surlignage   Tentative de surlignage EmptyJeu 2 Oct 2014 - 19:37

J'ai pas le temps en ce moment de tester quoique ce soit, donc je ne fais pas l'essai, et je sais comment cela se passe.

Pour mon programme de conception d'un site, j'ai trouvé une solution pour montrer la ligne en cour d'un GRID. Au lieu d'utiliser un picture, utiliser un container. Ca fait la même chose, mais si il est conçu après le list, il restera au dessus, car c'est le dernier créé qui restera sur le précédent, à l'inverse d'un picture qui est recouvert.

EDIT: J'ai pas pensé qu'il y avait une tentative d'écriture, donc dans un container il faudra rajouter un picture ou un alpha. Mille excuses.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Tentative de surlignage Empty
MessageSujet: Re: Tentative de surlignage   Tentative de surlignage EmptyJeu 2 Oct 2014 - 20:02

Merci cosmos pour tes suggestions, il me semblait bien que tu avais fait quelque chose dans ce genre, autrefois.
Je vais regarder ça de plus près.

EDIT: Formidable cosmos ton idée de container, après un essai rapide le surlignage suit la fenêtre si on la déplace ou si on clique simplement dessus, il reste visible !
Je vais continuer dans cette voie, merci pour cette idée géniale !
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Tentative de surlignage Empty
MessageSujet: Re: Tentative de surlignage   Tentative de surlignage EmptyJeu 2 Oct 2014 - 22:00

Suite à l'intervention de cosmos, l'outil de surlignage devient plus intéressant, puisqu'il reste visible si on clique ou déplace la fenêtre.
Du coup j'ai ajouté une sub de recherche de séquence, un peu sommaire, mais c'est à titre expérimental: on donne une séquence à chercher, ici en hexa, et les zones trouvées sont surlignées dans le dump affiché (ici, recherche de la séquence 'FFC4' dans un fichier binaire, en l'occurence une image):
Tentative de surlignage Image110
C'est très perfectible, évidemment, par exemple si la séquence est à cheval sur deux lignes, et il faudrait pouvoir se déplacer dans le fichier (faire défiler le dump), mais c'est une idée de départ.
Le principe est conçu pour une recherche dans un dump, dans un fichier texte ce serait plus facile.
Code:
DIM f$, a$, buf$, i%, j%
f$ = "C:\GRAPH\JPG\GOLDGATE.jpg": ' <=== un fichier quelconque
WIDTH 0,660: HEIGHT 0,900
LIST 2: TOP 2,0: WIDTH 2,640: HEIGHT 2,850
FONT_NAME 2,"Lucida Console": FONT_SIZE 2,10
MEMO 3: WIDTH 3,600: HIDE 3

Dump(f$,0,1024,16)
ITEM_ADD 3,rda$: FOR i% = 1 TO COUNT(3): ITEM_ADD 2,ITEM_READ$(3,i%): NEXT i%
CAPTION 0,f$
rda$ = ""
FOR i% = 1 TO COUNT(2)
    a$ = MID$(ITEM_READ$(2,i%),8,48)
    FOR j% = 1 TO LEN(a$) STEP 3: rda$=rda$+MID$(a$,j%,2): NEXT j%
NEXT i%

Recherche(rda$,"FFC4"): ' Rechercher et surligner les séquences "FFC4" dans le dump
end
' ==============================================================================
SUB Recherche(a$,seq$)
DIM_LOCAL k%,li%,ca%,nbc%
k% = INSTR(a$,seq$)
WHILE k%>0
    IF odd(k%) = 0: ' pour les recherches en hexa: k% doit être impair
        k%=k%-1
    ELSE
        li% = 1+INT(k%/32)
        ca% = k%-(li%-1)*32: ca%=ca%+INT(ca%/2)-1: ca%=ca%+8: ' (+ adresse)
        nbc% = LEN(seq$)+INT(LEN(seq$)/2)-1: ' pour tenir compte des espaces dump
        Surligne(2,li%,ca%,nbc%)
    END_IF
    k% = INSTR_POS(a$,seq$,k%+2)
END_WHILE
END_SUB
' ==============================================================================
SUB Surligne(obj%,ligne%,carac%,nbcar%)
' surligner un élément d'un Memo obj% (à police fixe)
' ligne%=ligne de l'élément, carac%=rang du caractère dans la ligne, nbcar%=nombre de caractères à surligner
DIM_LOCAL wc%,hc%,fm%,ps%,npt%,n2d%,el$
npt% = NUMBER_PRINT_TARGET: n2d% = NUMBER_2D_TARGET: ' sauvegarde
el$ = MID$(ITEM_READ$(obj%,ligne%),carac%,nbcar%): ' élément à surligner
fm%=2000: WHILE OBJECT_EXISTS(fm%)=1: fm%=fm%+1: END_WHILE
ps%=fm%+1: WHILE OBJECT_EXISTS(ps%)=1: ps%=ps%+1: END_WHILE
wc% = 1+TEXT_WIDTH("ABCDEFGHIJ",obj%)/10: hc% = TEXT_HEIGHT("AjBp",obj%)
CONTAINER fm%: TOP fm%,TOP(obj%)+(ligne%-1)*hc%
LEFT fm%,LEFT(obj%)+(carac%-1)*wc%+3: WIDTH fm%,wc%*nbcar%+4: HEIGHT fm%,hc%
PICTURE ps%: PARENT ps%,fm%: WIDTH ps%,WIDTH(fm%): HEIGHT ps%,HEIGHT(fm%)
FONT_NAME ps%,"Lucida Console": FONT_SIZE ps%,10
2D_TARGET_IS ps%: 2D_FILL_COLOR 255,255,64
PRINT_TARGET_IS ps%: PRINT_LOCATE 0,2: PRINT el$
PRINT_TARGET_IS npt%: 2D_TARGET_IS n2d%: ' restore
END_SUB
' ==============================================================================
SUB Dump(f$,posit%,n%,nol%)
' dump de n% octets de f$ à partir de posit% -> rda$, nol% octets par ligne
' à relire par exemple dans un Memo (Item_Add nmemo,rda$)
' (n% ramené si nécessaire au nombre entier inférieur de lignes)
IF VARIABLE("rda$")=0 THEN DIM rda$
DIM_LOCAL ads%, di%, dj%, dk%, ba$, ca$, cc$
IF MOD(n%,nol%)<>0 THEN n% = INT(n%/nol%): n% = n%*nol%
FILEBIN_OPEN_READ 9,f$: FILEBIN_POSITION 9,posit%: ba$ = FILEBIN_HEXA_READ$(9,n%)
FILEBIN_CLOSE 9
ads% = 0: rda$ = ""
FOR di% = 1 TO (n%-1)*2 STEP 2*nol%
    rda$ = rda$ + RIGHT$("0000"+HEX$(ads%),5) + ": ": ca$ = " "
    FOR dj% = di% TO di%+2*nol%-2 STEP 2
        cc$ = MID$(ba$, dj%, 2)
        rda$ = rda$ + cc$ + " ": dk% = HEX(cc$)
        IF dk% > 31
            ca$ = ca$ + CHR$(dk%)
        ELSE
            ca$ = ca$ + "."
        END_IF
    NEXT dj%
    ads% = ads% + nol%
    rda$ = rda$ + ca$ + " " + CHR$(13) + CHR$(10)
NEXT di%
rda$ = LEFT$(rda$, LEN(rda$)-2)
END_SUB
' ==============================================================================
Revenir en haut Aller en bas
Invité
Invité




Tentative de surlignage Empty
MessageSujet: Re: Tentative de surlignage   Tentative de surlignage EmptyJeu 2 Oct 2014 - 23:43

Merci pour me citer.
J'ai essayé le programme. On voit bien que le surlignage. Le problème est qu'il ne faut pas que cela scroll. Mais c'est expérimental. Le problème du décalage a toujours été problématique pour ce type de programme.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Tentative de surlignage Empty
MessageSujet: Re: Tentative de surlignage   Tentative de surlignage EmptyJeu 2 Oct 2014 - 23:49

Tu as raison, si on voulait faire quelque chose de vraiment exploitable il faudrait vraiment résoudre ce problème de scroll, ou alors (je parle dans le cas d'un dump comme ici) ne pas faire de scroll mais faire défiler les pages par programme, c'est à dire n'afficher dans le list que ce qui y tient, pas plus, en fonction de clics sur des flèches avant ou arrière, comme j'ai fait dans un programme de dump, et réafficher les surlignages en conséquence.

Mais bon, c'était une expérience, je ne crois pas que je vais aller plus loin pour le moment.
Revenir en haut Aller en bas
Contenu sponsorisé





Tentative de surlignage Empty
MessageSujet: Re: Tentative de surlignage   Tentative de surlignage Empty

Revenir en haut Aller en bas
 
Tentative de surlignage
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Surlignage de texte sélectionné dans un mémo
» tentative de poo(belle) (jeu de mot hein)
» Autre tentative de mise en forme des nombres

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Présentation et bavardage-
Sauter vers: