FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Panoramic et ses curiosités
par Jean Claude Aujourd'hui à 20:48

» Synedit Parameters
par Jean Claude Aujourd'hui à 20:15

» Utilitaire de suppression de fichiers
par Jean Claude Aujourd'hui à 20:11

» Code à vérifier SVP (Oups ! résolu)
par Jean Claude Hier à 20:16

» Compilateur FBPano
par jean_debord Hier à 8:56

» Bienvenue à Virtualalan !
par UltraVox Hier à 8:18

» Concours de Morpions
par jjn4 Mer 21 Juin 2017 - 23:04

» ShortName$(F) [Cloturé]
par papydall Mer 21 Juin 2017 - 15:19

» Remplacer espace par tiret dans noms des dossiers / fichiers
par papydall Mer 21 Juin 2017 - 14:27

» Menu personalisé avec icones et menu contextuel
par Laurent (Minibug) Mer 21 Juin 2017 - 11:44

» La liste des choses à faire ...
par Jack Mar 20 Juin 2017 - 21:49

» Quoi de neuf à propos de Goric 3D ? (@Jack)
par UltraVox Mar 20 Juin 2017 - 20:06

» Nom court et anti fenetre dos
par silverman Mar 20 Juin 2017 - 17:31

» Ludothèque Panoramic
par jjn4 Mar 20 Juin 2017 - 17:09

» Proposition à la communauté
par Yannick Mar 20 Juin 2017 - 14:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier

Partagez | 
 

 changer vos icone panoramic

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
pascal10000

avatar

Nombre de messages : 494
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: changer vos icone panoramic   Ven 29 Mai 2015 - 14:23

salut

voila j’ai créé un p'tit programme pour changer vos icône de
vos projets généré en .exe par panoramic

je vais voir si là, il y aura quelqu'un pour répondre  ce qu'il en pense
et le modifier a son gré si je ne vient plus sur le forum c'est que j'ai
constaté que personne ne répond lorsque je demande une chose
ou bien les réponses sont hors sujet mais bon ce n'ai pas grave cela ne
m’empêche de dormir allez a+

Code:
dim FichierExe$,ext$,FichierIco$,dossierExe$,dossierIco$,FichierBat$
dim retour
dim a$,rhacker$
a$="
rhacker$="C:\Program Files\Resource Hacker\ResHacker.exe"
label creer

DLL_ON "form.dll"
retour = DLL_CALL2("SetSize",HANDLE(0),0)
WIDTH 0,WIDTH(0)+1 : ' obligatoire pour "forcer" le rafraichissement de l'affichage du formulaire
retour = DLL_CALL2("SetMinimize",HANDLE( 0),0)
retour = DLL_CALL2("SetMaximize",HANDLE( 0),0)
 dll_off

caption 0,"GetIcon"
height 0,300 : width 0,600

Button 10 : caption 10,"Creer"
left 10,15 : top 10,220
on_click 10,creer

container 20
top 20,50 : Left 20,20
height 20,40 : width 20,160
Caption 20,"  Executable  "

alpha 21
parent 21,20 : color 21,255,255,255
full_space 21
font_size 21,10

container 30
top 30,50 : Left 30,width(20)+50
height 30,40 : width 30,160
Caption 30,"  Icon  "

alpha 31
parent 31,30 : color 31,255,255,255
full_space 31
font_size 31,10

alpha 32 : caption 32,""
top 32,30 : left 32,20

alpha 33 : caption 33,""
top 33,30 : left 33,width(20)+50

container 40
top 40,20 : Left 40,380
height 40,200 : width 40,202
Caption 40,"  Apperçu  "

scene2d 41
height 41,180 : top 41,20
parent 41,40

open_dialog 50
filter 50,"Executable | *.exe"
open_dialog 51
filter 51,"Icon | *.ico"

end

creer:
' ************Sélection des fichiers!*************
caption 21,""
caption 31,""
caption 32,""
caption 33,""
ext$=""
FichierExe$=""
FichierIco$=""
dossierExe$=""
dossierIco$=""
FichierBat$=""

' ***********Executable***************************
dossierExe$=file_name$(50)
if dossierExe$="_" then return

FichierExe$=file_extract_name$(dossierExe$)
caption 21,FichierExe$

dossierExe$=file_extract_path$(dossierExe$)
caption 32,dossierExe$

' ***********Icône***************************
dossierIco$=file_name$(51)
if dossierIco$="_" then return

FichierIco$=file_extract_name$(dossierIco$)
caption 31,FichierIco$

dossierIco$=file_extract_path$(dossierIco$)
caption 33,dossierIco$

' *******************************************
if dossierIco$<>dossierExe$
Message "L'icône doit être du même dossier"
caption 21,""
caption 31,""
caption 32,""
caption 33,""
ext$=""
FichierExe$=""
FichierIco$=""
dossierExe$=""
dossierIco$=""
FichierBat$=""
return
end_if

inactive 10

' ***************creation du script***************
ext$=file_extract_extension$(FichierExe$)
FichierExe$=left$(FichierExe$,len(FichierExe$)-len(ext$))

file_open_write 1,dossierExe$+FichierExe$+".scp"
file_writeln 1,"//Ce script change l'icon"
file_writeln 1,""
file_writeln 1,"   [FILENAMES]"
file_writeln 1,"   Exe= "+dossierExe$+FichierExe$+".exe"
file_writeln 1,"   SaveAs= "+dossierExe$+FichierExe$+"_Nouveau.exe"
file_writeln 1,""
file_writeln 1,"   [COMMANDS]"
file_writeln 1,"   -addoverwrite "+dossierIco$+FichierIco$+", ICONGROUP,MAINICON,0"
file_close 1

' ***************creation du script .bat***************
FichierBat$=FichierExe$
file_open_write 2,dossierExe$+FichierBat$+".bat"
file_writeln 2,"  "+a$+rhacker$+a$+" -script "+a$+dossierExe$+FichierBat$+".scp"+a$
file_close 2

 execute_wait FichierBat$+".bat"

 file_delete dossierExe$+FichierExe$+".scp"
 file_delete dossierExe$+FichierBat$+".bat"
active 10
return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: changer vos icone panoramic   Ven 29 Mai 2015 - 14:48

C'est un bel exemple d'utilisation d'un outil externe, Reshacker en l'espèce. Et l'astuce est utile et intéressante. Merci pour le partage, Pascal10000 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

Nombre de messages : 494
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: changer vos icone panoramic   Ven 29 Mai 2015 - 14:57

merci klaus
mais je n'ai pas réussi a envoyer l'image de l'icone
au picture avec kfg car il me met limage en mémoire
de 32x32 pixel avec tes exemples donc si tu as la solution
a améliorer !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5838
Age : 44
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: changer vos icone panoramic   Ven 29 Mai 2015 - 15:07

T'es dur Pascal10000. On essaye de répondre en règle générale... après il y a des fois où on ne peut pas pour différente raisons.
Sinon, tu devrais juste dire qu'il faut Reshacker et rappeler aux gens comment récupérer la dll: form.dll car tout le monde ne l'utilise pas.
Moi, ici au boulot, je ne peux pas les installer mais je testerais ce soir. J'ai regardé le source et c'est prometteur Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 494
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: changer vos icone panoramic   Ven 29 Mai 2015 - 16:03

non je suis réaliste le sujet "imprimer un grid" 87 visiteurs, 0 réponse!
sur ça j'ai du utiliser une ruse qui est un peut blizzard c'est d'ouvrir
le fichier avec wordpad et d'imprimer!
c'est un programme qui sert a gérer les points obtenu a un tournoi
et plus particulièrement pour le jeu de dame et il peut être convoité
par les clubs et par la FFJD.


la form.dll est une librairie de nardo vous pouvez
utilisé kgf.dll de klaus!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: changer vos icone panoramic   Ven 29 Mai 2015 - 19:20

@Pascal10000:
Si tu as un problème précis avec des fonctions de KGF.dll, poste-moi le code (le plus réduit possible) permettant de reproduire le problème, et explique-moi ce que tu veux faire et ce qui ne marche pas. Dans ce cas, je peux, soit corriger le bug, soit te donner la manière correcte de procéder.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7824
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 29 Mai 2015 - 19:52

Bel utilitaire, je garde !  Laughing

Tu peux améliorer en remplacant la fenêtre noire par une fenêtre d' attente plus jolie...
Mais c' est un détail.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 494
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: changer vos icone panoramic   Ven 29 Mai 2015 - 21:15

klaus
bon ce matin j'ai essayé tes exemples qui sont présent
dans le document de kgf et ouvrir un icône de 48x48 pixels
dans le picture et celui-ci figure que le quart de l'image à partir
du haut a gauche dsl je n'arrive pas a mettre une photo et
le strechs_on ne fonctionne pas

ygeronimi
ne t'y fis pas de trop dès que je change un autre programme
il ne fonctionne pas alors que des que je clic sur le fichier (.bat)
ça fonctionne ! la commande "execute_wait" na pas l'air de vouloir
lancer le fichier '.bat' comme il faut
donc si une personne trouve la solution qu'il le poste


Dernière édition par pascal10000 le Ven 29 Mai 2015 - 21:24, édité 1 fois (Raison : http://i19.servimg.com/u/f19/16/91/51/90/captur30.png)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 0:00

Tu veux utiliser quelle fonction ? LoadPicture, LoadAnyImageFile ? Ou une autre ?  Ce que je peux te dire, c'est qu'avec le code pris dans KGF.chm tel qu'il est, je charge sans problème une photo de 4608x3456 pixels, utilisant le stretch_on... Voici la preuve:

Et voici le code copiable:
Code:
' test_LoadAnyImageFile.bas

label ouvrir

dim f$, res%

button 1 : top 1,10 : left 1,10
caption 1,"Ouvrir" : on_click 1,ouvrir
picture 2 : top 2,40 : left 2,10 : stretch_on 2
width 2,450 : height 2,300
open_dialog 3

dll_on "KGF.dll"

end

ouvrir:
 f$ = file_name$(3)
 if f$="_" then return
 res% = dll_call1("LoadAnyImageFile",adr(f$))
 clipboard_paste 2
 display
 return

Je ne sais pas que te dire de plus. Poste-moi le morceau de code qui ne marche pas, et je pourrai t'en dire plus. Tu sais, quelque soit le problème, nous tous, nous te demanderons un morceau de code précis, exécutable, afin de pouvoir reproduire le problème, car sinon, on parle manifestement dans le vide.

PS. C'est une photo de Muscaris que j'ai faite dans mon jardin... Ce n'est pas une photo copiée sur internet.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

Nombre de messages : 494
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 6:07

bjr klaus
je ne conteste pas! avec les images ça marche très bien
mais les icones y a un prb
voici le code
Code:
' test_LoadAnyImageFile.bas

label ouvrir

dim f$, res%

button 1 : top 1,10 : left 1,10

 caption 1,"Ouvrir" : on_click 1,ouvrir

picture 2 : top 2,40 : left 2,10 : stretch_on 2

 width 2,200 : height 2,200

open_dialog 3

dll_on "KGF.dll"

end

ouvrir:

 f$ = file_name$(3)

 if f$="_" then return

 res% = dll_call1("LoadAnyImageFile",adr(f$))

 clipboard_paste 2

 display

return

l'image obtenu



l'icône proprement dit



et selon dans la documentation le code gère également les icônes.
même avec l'option "res% = dll_call2("ResizePicture",48,48) rien
ne se passe
je pense bien t'avoir bien expliqué!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7824
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 30 Mai 2015 - 6:25

J' ai mis ton programme à ma sauce... Laughing

Suppression de la fenêtre noire
et quelques bricoles... Laughing

Je mets un zip sur mon webdav mais voilà le code nu :
Code:
hide 0
Variables()
Labels()
Init()
Gui()
show 0
set_focus 0
end

' DECLARATION DES VARIABLES
SUB Variables()
'  fichiers
  dim rhacker$ : rhacker$ = "C:\Program Files\Resource Hacker\ResHacker.exe"
  dim Param$  : Param$  = dir_current$+"\Param.inf"
  dim kgf$    : kgf$    = dir_current$+"\KGF.dll"
  dim fond$    : fond$    = dir_current$+"\fond.jpg"
'  événements
  dim clic%
  dim change%
'  objets
  dim no%
  dim Fd%          : no%=no%+1 : Fd%          = no%
  dim ProjectName% : no%=no%+1 : ProjectName% = no%
  dim ProjectIco%  : no%=no%+1 : ProjectIco%  = no%
  dim Preview%    : no%=no%+1 : Preview%    = no%
  dim ButExe%      : no%=no%+1 : ButExe%      = no%
  dim ButIco%      : no%=no%+1 : ButIco%      = no%
  dim ButCreate%  : no%=no%+1 : ButCreate%  = no%
  dim ButQuit%    : no%=no%+1 : ButQuit%    = no%
  dim OpenDial%    : no%=no%+1 : OpenDial%    = no%
  dim Fow%        : no%=no%+1 : Fow%        = no%
  dim Foread%      : no%=no%+1 : Foread%      = no%
'  application
  dim Retour$
  dim FichierExe$
  dim ext$
  dim FichierIco$
  dim dossierExe$
  dim dossierIco$
  dim FichierBat$
  dim retour
  dim a$ : a$="
END_SUB

' DECLARATION DES LABELS
SUB Labels()
  label close
  label change
  label clic
  label L
END_SUB

' INITIALISATIONS
SUB Init()
  dim_local i%
  if file_exists(rhacker$)=0
      if file_exists(Param$)=1
        file_open_read foread%,Param$
        file_readln foread%,rhacker$
        file_close foread%
      else
        L:
        New_Url_Rhacker()
        if rhacker$=""
            i%=message_warning_yes_no("L' URL de ResHacker.exe est invalide !"++"Voulez vous la changer ?...")
            if i%=1
              goto L
            else
              Quitter()
            end_if
        end_if
      end_if
  end_if
  dll_on kgf$
END_SUB

' INTERFACE UTILISATEUR
SUB Gui()
  border_hide 0
  height 0,240
  width 0,500
  top 0,(screen_y-height(0))/2
  left 0,(screen_x-width(0))/2
  color 0,200,200,200
  on_key_down 0,close

  if file_exists(fond$)=1
      picture Fd%
      height Fd%,height(0)
      width Fd%,width(0)
      color Fd%,0,200,0
      file_load Fd%,"fond.jpg"
  end_if
 
  edit ProjectName%
  top ProjectName%,40
  left ProjectName%,20
  width ProjectName%,width(0)-80
  color ProjectName%,240,240,180
  font_name ProjectName%,"Arial" : font_size ProjectName%,8 : font_bold ProjectName%
  font_color ProjectName%,150,150,150
  text ProjectName%,"Url de l' exécutable *.exe"
  on_change ProjectName%,change
 
  button ButExe%
  top ButExe%,40
  left ButExe%,width(0)-50
  height ButExe%,20
  width ButExe%,20
  caption ButExe%,".../..."
  cursor_point ButExe%
  on_click ButExe%,clic
 
  edit ProjectIco%
  top ProjectIco%,80
  left ProjectIco%,20
  width ProjectIco%,width(0)-80
  color ProjectIco%,240,240,180
  font_name ProjectIco%,"Arial" : font_size ProjectIco%,8 : font_bold ProjectIco%
  font_color ProjectIco%,150,150,150
  text ProjectIco%,"Url de la nouvelle icône *.ico"
  on_change ProjectIco%,change
 
  button ButIco%
  top ButIco%,80
  left ButIco%,width(0)-50
  height ButIco%,20
  width ButIco%,20
  caption ButIco%,".../..."
  cursor_point ButIco%
  on_click ButIco%,clic
 
  picture Preview%
  top Preview%,120
  left Preview%,20
  height Preview%,100
  width Preview%,100
 
  button ButCreate%
  inactive ButCreate%
  top ButCreate%,height(0)-65
  left ButCreate%,width(0)-90
  caption ButCreate%,"Changer"
  font_bold ButCreate%
  cursor_point ButCreate%
  on_click ButCreate%,clic
 
  button ButQuit%
  top ButQuit%,height(0)-35
  left ButQuit%,width(0)-90
  caption ButQuit%,"Quitter"
  font_bold ButQuit%
  cursor_point ButQuit%
  on_click ButQuit%,clic
 
END_SUB

' MENUS
Close:
  if scancode =27 : Quitter() : end_if
return

Change:
  change% = number_change
  if change% = ProjectName% :Modify_font(ProjectName% ): end_if
  if change% = ProjectIco%  :Modify_font(ProjectIco% ) : end_if
return

Clic:
  clic% = number_click
  if clic% = ButExe%    : Search_File("*.exe"):end_if
  if clic% = ButIco%    : Search_File("*.ico"):end_if
  if clic% = ButCreate%
      inactive ButExe%
      inactive ButIco%
      inactive ButCreate%
      inactive ButQuit%
      CreateBat()
      Exprog("Cmd.exe /c "+FichierBat$+".bat")
      Initialise()
      active ButExe%
      active ButIco%
      active ButCreate%
      active ButQuit%
      2d_target_is Preview%
      CLS
  end_if
  if clic% = ButQuit%    : Quitter() :end_if
return

' FONCTIONS

SUB Modify_font(n% )
    if left$(text$(n%),3)<>"Url"
      font_name n%,"Arial"
      font_size n%,8
      font_bold n%
      font_color n%,0,0,150
    else
      font_name n%,"Arial"
      font_size n%,8
      font_bold n%
      font_color n%,150,150,150
    end_if
END_SUB

SUB Search_File(f$)
  dim_local res%

  Open_dialog OpenDial%
  filter OpenDial%,f$+"|"+f$
  if f$="*.exe"
      Dir_dialog OpenDial%,":\"
  else
      if file_exists(Text$(ProjectName%))=1
        Dir_dialog OpenDial%,file_extract_path$(text$(ProjectName%))
      else
        message "Sélectionnez un executable !"
        delete OpenDial%
        exit_sub
      end_if
  end_if
  Retour$=file_name$(OpenDial%)
  if Retour$<>"_"
      if f$="*.exe"
        text ProjectName%,Retour$
        dossierExe$=file_extract_path$(Retour$)
        FichierExe$=file_extract_name$(Retour$)
      else
        text ProjectIco%,Retour$
        dossierIco$=file_extract_path$(Retour$)
        FichierIco$=file_extract_name$(Retour$)
        res% = dll_call1("LoadAnyImageFile",adr(Retour$))
        clipboard_paste Preview%
        stretch_on Preview%
        display
        active ButCreate%
      end_if
  else
      if f$="*.exe"
        text ProjectName%,"Url de l' exécutable *.exe"
        dossierExe$=""
        FichierExe$=""
      else
        text ProjectIco%,"Url de l' icône *.ico"
        dossierIco$=""
        FichierIco$=""
        2d_target_is Preview%
        CLS
        inactive ButCreate%
      end_if
  end_if
  delete OpenDIal%
END_SUB

SUB CreateBat()
  ext$=file_extract_extension$(FichierExe$)
  FichierExe$=left$(FichierExe$,len(FichierExe$)-len(ext$))

  file_open_write Fow%,dossierExe$+FichierExe$+".scp"
  file_writeln Fow%,"//Ce script change l'icon"
  file_writeln Fow%,""
  file_writeln Fow%,"  [FILENAMES]"
  file_writeln Fow%,"  Exe= "+dossierExe$+FichierExe$+".exe"
  file_writeln Fow%,"  SaveAs= "+dossierExe$+FichierExe$+"_Nouveau.exe"
  file_writeln Fow%,""
  file_writeln Fow%,"  [COMMANDS]"
  file_writeln Fow%,"  -addoverwrite "+dossierIco$+FichierIco$+", ICONGROUP,MAINICON,0"
  file_close Fow%

' ***************creation du script .bat***************
  FichierBat$=FichierExe$
  file_open_write Fow%,dossierExe$+FichierBat$+".bat"
  file_writeln Fow%,"  "+a$+rhacker$+a$+" -script "+a$+dossierExe$+FichierBat$+".scp"+a$
  file_close Fow%
END_SUB

SUB Exprog(pr$)
  ' Exécution d'un programme externe sans la fenêtre noire Ms-DOS
  ' - exemple:  Exprog("Cmd.exe /c DIR C:\UTIL >C:\TEMP\Dir.txt")
  DIM_LOCAL scr$, qu$: scr$ = "C:\TEMP\Vbscript.vbs": qu$ = CHR$(34)
  FILE_OPEN_WRITE 9, scr$: ' <===== Création du script .vbs =====
      FILE_WRITELN 9, "CreateObject("+qu$+"Wscript.Shell"+qu$+").Run "+qu$+pr$+qu$+",0,True"
  FILE_CLOSE 9
  EXECUTE_WAIT "WSCRIPT.exe "+scr$: ' <===== Exécution du script =====
  FILE_DELETE scr$
  file_delete dossierExe$+FichierExe$+".scp"
  file_delete dossierExe$+FichierBat$+".bat"
END_SUB

SUB Initialise()
  Retour$    =""
  FichierExe$ =""
  ext$        =""
  FichierIco$ =""
  dossierExe$ =""
  dossierIco$ =""
  FichierBat$ =""
  retour=0
  text ProjectName%,"Url de l' exécutable *.exe"
  text ProjectIco%,"Url de la nouvelle icône *.ico"
END_SUB

SUB New_Url_Rhacker()
    dim_local r$
    if message_input("URL de Reshacker.exe","URL : ","")=1
      file_open_write fow%,param$
      r$=message_text$
      file_writeln fow%,r$
      rhacker$ = r$
      file_close fow%
    end_if
END_SUB

SUB Quitter()
  dim_local res%
  res% = dll_call1("KillProcessByHandle",handle(0))
END_SUB
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7824
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 30 Mai 2015 - 6:32

@ Pascal 10000,

Je pense que ton problème vient de l' icône.
certaines sont en fait des "bibliothèques", elles contiennent plusieurs formats et plusieurs résolution
16 couleurs, 256 couleurs, 16x16,24x24,48x48,256x256 et là cela devient le souk.

Essaies d' ouvrir ton icone dans un editeur d' icônes et gardes une seule image.
Je vais ajouter une icone dans le zip, et essaies avec celle là, elle n' a rien à voir avec les dames
mais elle t' éclairera peut être.


J' ai mis à jour le zip avec une icône en bonus... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 494
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 7:09

ygeronimi

bjr! personnellement je reste dans ma façon la plus classique
pour programmer ainsi que pour son résulta finale.
je n'aime pas trop des programmes avec un thème je trouve pas
ça professionnelle. maintenant à chacun son gout
sinon c 'est bien!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 494
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 9:10

ps l'icône que j'utilise est unique et n'est une bibliothèque
je pense que c'est au niveau des assignation des dossiers
même en configurant le dossier par défaut avec "dir_change"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jimx78

avatar

Nombre de messages : 240
Age : 25
Localisation : Yvelines
Date d'inscription : 24/05/2010

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 9:37

Quel est le code fini opérationnel svp ?

@Klaus, j'ai toujours "Resource Hacker" que tu m'avez conseillé et je l'utilise toujours, merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 12:34

pascal10000 a écrit:
la commande "execute_wait" na pas l'air de vouloir
lancer le fichier '.bat' comme il faut
donc si une personne trouve la solution qu'il le poste
Bonjour,
tu as essayé celle-ci ?
UTILS.DLL -> http://nardo26.lescigales.org/divers-dll-28.html
Si cela fonctionne et que tu as besoin d'une dll qui regroupe les fct utilisées par ton prog, fait moi signe...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Klaus

avatar

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

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 12:50

@Pascal10000:
Ok, maintenant, je vois mieux ce qui se passe. Tu as posté l'image, et ainsi, avec le code que tu as posté, j'ai pu faire des essais.

J'ai pu reproduire le même problème. Et j'ai creusé l'affaire un peu plus. Resultat: la version Delphi que j'utilise pour KGF.dll (Delphi 6 Personal Edition) ne sait gérer que les lcônes de 16 ou 32 pixels. Et donc, ton icône de 48 bits sera tronquée automatiquement à 32 pixels, ce qui donne les deux tiers du haut à gauche. Normal.

Par contre, si tu transforme ton fichier ICO en JPG, GIF ou PNG, ça marche parfaitement.

Désolé de ne pas avoir pu apporter une meilleure solution.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 12:57

Klaus a écrit:

[...] la version Delphi que j'utilise pour KGF.dll (Delphi 6 Personal Edition) ne sait gérer que les lcônes de 16 ou 32 pixels.

Bonjour Klaus,
Si tu veux j'ai la version 7, je peux te la passer...
(Je met un lien du fichier d'install dans un dossier de ma freebox et tu peux la télécharger)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Klaus

avatar

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

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 13:08

Merci, Nardo26. Je l'ai téléchargé aussi, mais je ne l'ai pas mis en place, car il fait choisir: V6 ou V7. Les deux ne peuvent pas cohabiter. Et cela m'ennuie: il y a actuellement plusieurs centaines de milliers de lignes en Delphi 6, et je crains la migration vers une autre version. Sans compter les différents composants tiers que j'ai installés dans ma version D6, comme Synedit pour ne nommer que celui-là. Si c'est juste pour un format d'icône, je pense que l'effort dépasse l'enjeu. Actuellement, je gère quand-même les formats BMP, JPG, WMF, EMF, GIF, PNG ou TIF sans restriction, et ICO en 16 ou 32 pixels.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 13:13

Tu as essayé de passer par une machine virtuelle ?
(Ça permet de dégrossir les choses)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Klaus

avatar

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

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 13:20

Ouais... c'est une façon de faire... J'ai WMWarePlayer, avec des images de différents systèmes. Mais sauf impératif technique, je n'ai pas envie d'installer ma dizaine de composants spécifiques dans un autre Delphi, puis transférer l'ensemble de KGF.dll et tout retester... un boulot énorme. Pour le moment, je préfère avancer sur les 3 aspects en cours:
- copie aller/retour des données d'une bitmap dans un tableau bi-dimensionnel Panoramic
- compléter la doc des fonctions de pilotage Excel/OpenCalc
- gestion des collisions de sprites avec tunes (zones sensibles différenciées dans un sprite)
Ca m'occupe pleinement...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 13:26

... je te comprend : c'est un problème avant tout, de ressource temporelle et non pas technique.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
pascal10000

avatar

Nombre de messages : 494
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 13:43

Nardo26

dsl ta librairie n'arrange pas le problème
toujours pareil

Code:
dim FichierExe$,ext$,FichierIco$,dossierExe$,dossierIco$,FichierBat$,DossierTemp$
dim retour
dim a$,rhacker$,batch$
a$="
rhacker$="C:\Program Files\Resource Hacker\ResHacker.exe"
label creer

dir_change "C:\Program Files\GetIcon\Temp"
DossierTemp$=dir_current$+"\"

DLL_ON "form.dll"
retour = DLL_CALL2("SetSize",HANDLE(0),0)
WIDTH 0,WIDTH(0)+1 : ' obligatoire pour "forcer" le rafraichissement de l'affichage du formulaire
retour = DLL_CALL2("SetMinimize",HANDLE( 0),0)
retour = DLL_CALL2("SetMaximize",HANDLE( 0),0)
 dll_off

dll_on "utils.dll"

caption 0,"GetIcon"
height 0,300 : width 0,600

Button 10 : caption 10,"Creer"
left 10,15 : top 10,220
on_click 10,creer

container 20
top 20,50 : Left 20,20
height 20,40 : width 20,160
Caption 20,"  Executable  "

alpha 21
parent 21,20 : color 21,255,255,255
full_space 21
font_size 21,10

container 30
top 30,50 : Left 30,width(20)+50
height 30,40 : width 30,160
Caption 30,"  Icon  "

alpha 31
parent 31,30 : color 31,255,255,255
full_space 31
font_size 31,10

alpha 32 : caption 32,""
top 32,30 : left 32,20

alpha 33 : caption 33,""
top 33,30 : left 33,width(20)+50

alpha 34 : caption 34,""
top 34,110 : left 34,30

container 40
top 40,20 : Left 40,380
height 40,200 : width 40,202
Caption 40,"  Apperçu  "

scene2d 41
height 41,180 : top 41,20
parent 41,40

open_dialog 50
filter 50,"Executable | *.exe"
open_dialog 51
filter 51,"Icon | *.ico"

end

creer:
' ************Sélection des fichiers!*************
caption 21,""
caption 31,""
caption 32,""
caption 33,""
caption 34,""
ext$=""
FichierExe$=""
FichierIco$=""
dossierExe$=""
dossierIco$=""
FichierBat$=""

' ***********Executable***************************
dossierExe$=file_name$(50)
if dossierExe$="_" then return

FichierExe$=file_extract_name$(dossierExe$)
caption 21,FichierExe$

dossierExe$=file_extract_path$(dossierExe$)
caption 32,dossierExe$

' ***********Icône***************************
dossierIco$=file_name$(51)
if dossierIco$="_" then return

FichierIco$=file_extract_name$(dossierIco$)
caption 31,FichierIco$

dossierIco$=file_extract_path$(dossierIco$)
caption 33,dossierIco$

' *******************************************
if dossierIco$<>dossierExe$
Message "L'icône doit être du même dossier"
caption 21,""
caption 31,""
caption 32,""
caption 33,""
caption 34,""
ext$=""
FichierExe$=""
FichierIco$=""
dossierExe$=""
dossierIco$=""
FichierBat$=""
return
end_if

inactive 10

' ***************creation du script***************
ext$=file_extract_extension$(FichierExe$)
FichierExe$=left$(FichierExe$,len(FichierExe$)-len(ext$))

file_open_write 1,DossierTemp$+FichierExe$+".scp"
file_writeln 1,"//Ce script change l'icon"
file_writeln 1,""
file_writeln 1,"  [FILENAMES]"
file_writeln 1,"  Exe= "+dossierExe$+FichierExe$+".exe"
file_writeln 1,"  SaveAs= "+dossierExe$+FichierExe$+"_Nouveau.exe"
file_writeln 1,""
file_writeln 1,"  [COMMANDS]"
file_writeln 1,"  -addoverwrite "+dossierIco$+FichierIco$+", ICONGROUP,MAINICON,0"
file_close 1

' ***************creation du script .bat***************
FichierBat$=FichierExe$
file_open_write 2,DossierTemp$+FichierBat$+".bat"
file_writeln 2,"  "+a$+rhacker$+a$+" -script "+a$+DossierTemp$+FichierBat$+".scp"+a$
file_close 2

batch$ = DossierTemp$+FichierBat$
retour = DLL_CALL1("Execute", ADR(batch$))
if file_exists(dossierExe$+FichierExe$+"_Nouveau.exe")=1 then caption 34,"OK Fichier Créé"

 file_delete DossierTemp$+FichierExe$+".scp"
 file_delete DossierTemp$+FichierBat$+".bat"
active 10
return


j'ai remis la source avec quelque modification

klaus

en mettant une image à la place d'un icône au programme n'y aura t' il pas un
problème! c'est pas tellement prévu pour !!!!!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 13:56

Ben... dans le code que tu as posté, tu essaies de charger l'icône dans un objet PICTURE de Panoramic. Et là, ça marche parfaitement - j'ai essayé.

L'icône d'un programme ou d'une application, c'est autre chose. Le programme Panoramic n'a aucune influence que son icône. Tu peux la changer par ResHacker, certes, mais elle est censée s'afficher dans le coun en haut à gauche de la fenêtre, et éventuellement dans le dossier où se trouve l'EXE, dans la fenêtre de l'explorateur de fichiers. C'est Windows qui s'en charge. Mais Panoramic étant lui-même réalisé pour l'essentiel en Delphi 6, je vois mal comment une icône de 48x48 pixels pourrait s'afficher correctement, ailleurs que dans la fenêtre de l'explorateur des fichiers. De toutes façons, l'icône affichée dans la barre de titre d'un programme ne doit pas dépasser 16x16 pixels.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: changer vos icone panoramic   Sam 30 Mai 2015 - 14:48

Ton programme fonctionne bien avec mes dll :
il faut juste que tu rajoutes l'extension .bat dans la variable batch$ avant l'appel à execute
J'ai rajouté quelques controles. (il en manque encore)
Code:

dim FichierExe$,ext$,FichierIco$,dossierExe$,dossierIco$,FichierBat$,DossierTemp$
dim retour
dim a$,rhacker$,batch$
dim curDir$: curDir$=dir_current$
DIM TmpDir$:TmpDir$="C:\GestIcon.tmp"
a$="
rhacker$="C:\Program Files\Resource Hacker\ResHacker.exe"
label creer

IF DIR_EXISTS(TmpDir$)=0
 DIR_MAKE TmpDir$
 DIM DirRemove%
END_IF

DossierTemp$= TmpDir$+""



' dir_change "C:\Program Files\GetIcon\Temp"


DLL_ON "form.dll"
retour = DLL_CALL2("SetSize",HANDLE(0),0)
WIDTH 0,WIDTH(0)+1 : ' obligatoire pour "forcer" le rafraichissement de l'affichage du formulaire
retour = DLL_CALL2("SetMinimize",HANDLE( 0),0)
retour = DLL_CALL2("SetMaximize",HANDLE( 0),0)
 dll_off

dll_on "utils.dll"

caption 0,"GetIcon"
height 0,300 : width 0,600

Button 10 : caption 10,"Creer"
left 10,15 : top 10,220
on_click 10,creer

container 20
top 20,50 : Left 20,20
height 20,40 : width 20,160
Caption 20,"  Executable  "

alpha 21
parent 21,20 : color 21,255,255,255
full_space 21
font_size 21,10

container 30
top 30,50 : Left 30,width(20)+50
height 30,40 : width 30,160
Caption 30,"  Icon  "

alpha 31
parent 31,30 : color 31,255,255,255
full_space 31
font_size 31,10

alpha 32 : caption 32,""
top 32,30 : left 32,20

alpha 33 : caption 33,""
top 33,30 : left 33,width(20)+50

alpha 34 : caption 34,""
top 34,110 : left 34,30

container 40
top 40,20 : Left 40,380
height 40,200 : width 40,202
Caption 40,"  Apperçu  "

scene2d 41
height 41,180 : top 41,20
parent 41,40

open_dialog 50
filter 50,"Executable | *.exe"
open_dialog 51
filter 51,"Icon | *.ico"

label finProg : ON_CLOSE 0,finProg

end

finProg:
  DLL_OFF
  if VARIABLE("DirRemove%")=1
    DIR_REMOVE TmpDir$
  END_IF
  

return

creer:

  IF FILE_EXISTS(rhacker$)<>1
    MESSAGE "Selectionnez l'executable ResHacker"
    filter 50,"ResHacker.exe"
    rhacker$=file_name$(50)
    if rhacker$="_" then return
  END_IF
  filter 50,"Executable | *.exe"
  ' ************Sélection des fichiers!*************
  caption 21,""
  caption 31,""
  caption 32,""
  caption 33,""
  caption 34,""
  ext$=""
  FichierExe$=""
  FichierIco$=""
  dossierExe$=""
  dossierIco$=""
  FichierBat$=""

  ' ***********Executable***************************
  MESSAGE "Selectionnez l'executable a modifier"
  dossierExe$=file_name$(50)
  if dossierExe$="_" then return

  FichierExe$=file_extract_name$(dossierExe$)
  dossierExe$=file_extract_path$(dossierExe$)

  caption 21,FichierExe$
  caption 32,dossierExe$

  ' ***********Icône***************************
  dossierIco$=file_name$(51)
  if dossierIco$="_" then return

  FichierIco$=file_extract_name$(dossierIco$)
  caption 31,FichierIco$

  dossierIco$=file_extract_path$(dossierIco$)
  caption 33,dossierIco$

  ' *******************************************
  if dossierIco$<>dossierExe$
    Message "L'icône doit être du même dossier"
    caption 21,""
    caption 31,""
    caption 32,""
    caption 33,""
    caption 34,""
    ext$=""
    FichierExe$=""
    FichierIco$=""
    dossierExe$=""
    dossierIco$=""
    FichierBat$=""
    return
  end_if

  inactive 10

' ***************creation du script***************
ext$=file_extract_extension$(FichierExe$)
FichierExe$=left$(FichierExe$,len(FichierExe$)-len(ext$))
file_open_write 1,DossierTemp$+FichierExe$+".scp"
file_writeln 1,"//Ce script change l'icon"
file_writeln 1,""
file_writeln 1,"   [FILENAMES]"
file_writeln 1,"   Exe= "+dossierExe$+FichierExe$+".exe"
file_writeln 1,"   SaveAs= "+dossierExe$+FichierExe$+"_Nouveau.exe"
file_writeln 1,""
file_writeln 1,"   [COMMANDS]"
file_writeln 1,"   -addoverwrite "+dossierIco$+FichierIco$+", ICONGROUP,MAINICON,0"
file_close 1

' ***************creation du script .bat***************
FichierBat$=FichierExe$
file_open_write 2,DossierTemp$+FichierBat$+".bat"
file_writeln 2,"  "+a$+rhacker$+a$+" -script "+a$+DossierTemp$+FichierBat$+".scp"+a$
file_close 2

batch$ = DossierTemp$+FichierBat$+".bat"  : ' DEBUG NARDO : il manquait l'extension .bat
retour = DLL_CALL1("Execute", ADR(batch$))
if file_exists(dossierExe$+FichierExe$+"_Nouveau.exe")=1 then caption 34,"OK Fichier Créé"

 file_delete DossierTemp$+FichierExe$+".scp"
 file_delete DossierTemp$+FichierBat$+".bat"
active 10
return
L'objet 51 n'est pas nécessaire : il te suffit de modifier le filter du 50 pour pouvoir sélectionner l’icône...
Utilise ExecuteAndWait (car tu risque de virer les scripts avant que ceux-ci soient executé)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Contenu sponsorisé




MessageSujet: Re: changer vos icone panoramic   

Revenir en haut Aller en bas
 
changer vos icone panoramic
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» changer l'icone a coter de l'url
» Changer des icone
» comment les admin/modérateur font pour changer les icone
» Changer l'icone près de l'adresse
» Icone de sujet différent sur un sous-forum

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: