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
» Gestion d'un système client-serveur.
Tentative de surlignage Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Tentative de surlignage Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Tentative de surlignage Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Tentative de surlignage Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Tentative de surlignage Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Tentative de surlignage Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Tentative de surlignage Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Tentative de surlignage Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Tentative de surlignage Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Tentative de surlignage Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Tentative de surlignage Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Tentative de surlignage Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Tentative de surlignage Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Tentative de surlignage Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Tentative de surlignage Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Cartes Pokémon : la prochaine extension ...
Voir le deal

 

 Tentative de surlignage

Aller en bas 
AuteurMessage
JL35




Nombre de messages : 7095
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 : 7095
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 : 7095
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 : 7095
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: