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
» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Sélecteur graphique de caractères Unicode avec export Emptypar jjn4 Aujourd'hui à 13:06

» PANORAMIC V 1
Sélecteur graphique de caractères Unicode avec export Emptypar papydall Aujourd'hui à 01:22

» select intégrés [résolu]
Sélecteur graphique de caractères Unicode avec export Emptypar jjn4 Hier à 15:00

» number_mouse_up
Sélecteur graphique de caractères Unicode avec export Emptypar jjn4 Hier à 09:59

» Aide de PANORAMIC
Sélecteur graphique de caractères Unicode avec export Emptypar jjn4 Hier à 09:16

» trop de fichiers en cours
Sélecteur graphique de caractères Unicode avec export Emptypar lepetitmarocain Hier à 08:43

» Je teste PANORAMIC V 1 beta 1
Sélecteur graphique de caractères Unicode avec export Emptypar papydall Hier à 02:17

» bouton dans autre form que 0
Sélecteur graphique de caractères Unicode avec export Emptypar leclode Lun 06 Mai 2024, 11:59

» KGF_dll - nouvelles versions
Sélecteur graphique de caractères Unicode avec export Emptypar Klaus Lun 06 Mai 2024, 09:41

» Gestion d'un système client-serveur.
Sélecteur graphique de caractères Unicode avec export Emptypar Klaus Lun 06 Mai 2024, 08:23

» @Jack
Sélecteur graphique de caractères Unicode avec export Emptypar Jack Mar 30 Avr 2024, 18:40

» Une calculatrice en une ligne de programme
Sélecteur graphique de caractères Unicode avec export Emptypar jean_debord Dim 28 Avr 2024, 06:47

» Form(résolu)
Sélecteur graphique de caractères Unicode avec export Emptypar leclode Sam 27 Avr 2024, 15:59

» Bataille navale SM
Sélecteur graphique de caractères Unicode avec export Emptypar jjn4 Ven 26 Avr 2024, 15:39

» Les maths du crocodile
Sélecteur graphique de caractères Unicode avec export Emptypar jean_debord Jeu 25 Avr 2024, 08:37

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 : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

 

 Sélecteur graphique de caractères Unicode avec export

Aller en bas 
3 participants
AuteurMessage
Klaus

Klaus


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

Sélecteur graphique de caractères Unicode avec export Empty
MessageSujet: Sélecteur graphique de caractères Unicode avec export   Sélecteur graphique de caractères Unicode avec export EmptyJeu 03 Sep 2015, 16:52

J'ai fait un petit outil qui permet d'afficher tous les codes Unicode (65535 codes !), par pages de 256 caractères (et donc 256 pages). Un clic sur un des caractères l'affiche séparément, agrandi. Et on peut en exporter l'image dans la résolution voulu, de 8 à 256 pixels. Voici ce que ça donne:
Sélecteur graphique de caractères Unicode avec export Aa111

Et voici le source, en 108 lignes:
Code:
' affichage_et_selection_de_caracteres_UNICODE.bas

label changesection, identify, export

dim res%, l%, c%, ucar%, car%

dll_on "KGF.dll"

full_space 0
alpha 1 : top 1,10 : left 1,10 : caption 1,"Section Unicode (0..255):"
spin 2 : top 2,10 : left 2,140 : min 2,0 : max 2,255 : position 2,0
  width 2,50
button 5 : top 5,10 : left 5,200 : caption 5,"Charger" : on_click 5,changesection
picture 3 : top 3,40 : left 3,10 : width 3,1024+33 : height 3,512+17
  on_click 3,identify
image 4

picture 6 : top 6,40 : left 6,left(3)+width(3)+30
  width 6,66 : height 6,66
  2d_target_is 6
  2d_rectangle 0,0,65,65
 
alpha 7 : top 7,130 : left 7,left(6) : caption 7,"Résolution:"
spin 8 : top 8,130 : left 8,left(6)+100 : width 8,50
  min 8,8 : max 8,256 : position 8,32
button 9 : top 9,160 : left 9,left(8) : caption 9,"Exporter" : on_click 9,export


2d_target_is 3
print_target_is 3
for l%=0 to 16
  2d_line 0,l%*32+l%,1026+32,l%*32+l%
next l%
for c%=0 to 32
  if bin_and(c%,1)=1
    2d_pen_dot
  else
    2d_pen_solid
  end_if
  2d_line c%*32+c%,0,c%*32+c%,512+16
next c%
font_color 3,0,0,255
for l%=0 to 15
  for c%=0 to 15
    print_locate c%*65+c%+2,l%*32+l%+3
    print str$(l%*16+c%)
    print_locate c%*65+c%+2,l%*32+l%+16
    print "x"+hex$(l%*16+c%)
  next c%
next l%
font_color 3,0,0,0

end

changesection:
  charger_images()
  return
 
identify:
  identifier_caractere()
  return
 
export:
  exporter()
  return
 
sub charger_images()
  dim_local uc%, l%, c%
  uc% = position(2)*256
  for l%=0 to 15
    for c%=0 to 15
      res% = dll_call2("GetUnicodeGraphic",uc%,32)
      clipboard_paste 4
      2d_image_paste 4,c%*65+c%+33+1,l%*32+l%+1
      uc% = uc% + 1
    next c%
  next l%
  ucar% = -1 : ' rien n'est sélectionné
  2d_target_is 6
  color 6,255,255,255
  2d_rectangle 0,0,65,65
  2d_target_is 3
end_sub
 
sub identifier_caractere()
  dim_local x%, y%, l%, c%
  x% = mouse_x_left_down(3)
  y% = mouse_y_left_down(3)
  l% = int(y%/33)
  c% = int(x%/66)
  car% = l%*16 + c%
  ucar% = position(2)*256 + car%
      res% = dll_call2("GetUnicodeGraphic",ucar%,64)
      clipboard_paste 4
      2d_target_is 6
      2d_image_paste 4,1,1
      2d_target_is 3
end_sub

sub exporter()
  dim_local f$
  if ucar%<0 then exit_sub
  res% = dll_call2("GetUnicodeGraphic",ucar%,position(8))
  clipboard_paste 4
  f$ = "U+"+str$(ucar%)+"_"+str$(position(8))+"x"+str$(position(8))+".bmp"
  file_save 4,f$
  message "Exporté dans "+f$
end_sub
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Sélecteur graphique de caractères Unicode avec export Empty
MessageSujet: Re: Sélecteur graphique de caractères Unicode avec export   Sélecteur graphique de caractères Unicode avec export EmptyJeu 03 Sep 2015, 20:18

Je n'en ai pas l'usage pour le moment, mais ça ne m'empêche pas de reconnaître un très bon programme Wink
Revenir en haut Aller en bas
Klaus

Klaus


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

Sélecteur graphique de caractères Unicode avec export Empty
MessageSujet: Re: Sélecteur graphique de caractères Unicode avec export   Sélecteur graphique de caractères Unicode avec export EmptyJeu 03 Sep 2015, 20:28

Content que ça te plaise ! Voici un petit ajout: un bouton "Exporter page". Ce bouton crée un seul fichier BMP qui contient la juxtaposition des 256 images de la page sélectionnée, avec la résolution choisie. Donc, si la résolution est de 64 pixels, l'image résultante aura une hauteur de 64 pixels et 256*64 pixels de largeur:
Code:
' affichage_et_selection_de_caracteres_UNICODE.bas

label changesection, identify, export, exportpage

dim res%, l%, c%, ucar%, car%

dll_on "KGF.dll"

full_space 0
alpha 1 : top 1,10 : left 1,10 : caption 1,"Section Unicode (0..255):"
spin 2 : top 2,10 : left 2,140 : min 2,0 : max 2,255 : position 2,0
  width 2,50
button 5 : top 5,10 : left 5,200 : caption 5,"Charger" : on_click 5,changesection
picture 3 : top 3,40 : left 3,10 : width 3,1024+33 : height 3,512+17
  on_click 3,identify
image 4

picture 6 : top 6,40 : left 6,left(3)+width(3)+30
  width 6,66 : height 6,66
  2d_target_is 6
  2d_rectangle 0,0,65,65
 
alpha 7 : top 7,130 : left 7,left(6) : caption 7,"Résolution:"
spin 8 : top 8,130 : left 8,left(6)+100 : width 8,50
  min 8,8 : max 8,256 : position 8,32
button 9 : top 9,160 : left 9,left(8) : caption 9,"Exporter" : on_click 9,export
button 10 : top 10,200 : left 10,left(8) : caption 10,"Exporter page" : on_click 10,exportpage


2d_target_is 3
print_target_is 3
for l%=0 to 16
  2d_line 0,l%*32+l%,1026+32,l%*32+l%
next l%
for c%=0 to 32
  if bin_and(c%,1)=1
    2d_pen_dot
  else
    2d_pen_solid
  end_if
  2d_line c%*32+c%,0,c%*32+c%,512+16
next c%
font_color 3,0,0,255
for l%=0 to 15
  for c%=0 to 15
    print_locate c%*65+c%+2,l%*32+l%+3
    print str$(l%*16+c%)
    print_locate c%*65+c%+2,l%*32+l%+16
    print "x"+hex$(l%*16+c%)
  next c%
next l%
font_color 3,0,0,0

end

changesection:
  charger_images()
  return
 
identify:
  identifier_caractere()
  return
 
export:
  exporter()
  return
 
exportpage:
  exporterpage(position(2))
  return

sub charger_images()
  dim_local uc%, l%, c%
  uc% = position(2)*256
  for l%=0 to 15
    for c%=0 to 15
      res% = dll_call2("GetUnicodeGraphic",uc%,32)
      clipboard_paste 4
      2d_image_paste 4,c%*65+c%+33+1,l%*32+l%+1
      uc% = uc% + 1
    next c%
  next l%
  ucar% = -1 : ' rien n'est sélectionné
  2d_target_is 6
  color 6,255,255,255
  2d_rectangle 0,0,65,65
  2d_target_is 3
end_sub
 
sub identifier_caractere()
  dim_local x%, y%, l%, c%
  x% = mouse_x_left_down(3)
  y% = mouse_y_left_down(3)
  l% = int(y%/33)
  c% = int(x%/66)
  car% = l%*16 + c%
  ucar% = position(2)*256 + car%
      res% = dll_call2("GetUnicodeGraphic",ucar%,64)
      clipboard_paste 4
      2d_target_is 6
      2d_image_paste 4,1,1
      2d_target_is 3
end_sub

sub exporter()
  dim_local f$
  if ucar%<0 then exit_sub
  res% = dll_call2("GetUnicodeGraphic",ucar%,position(8))
  clipboard_paste 4
  f$ = "U+"+str$(ucar%)+"_"+str$(position(8))+"x"+str$(position(8))+".bmp"
  file_save 4,f$
  message "Exporté dans "+f$
end_sub
 
sub exporterpage(page%)
  dim_local f$, uc%, w%
  w% = position(8)
  picture 1000 : hide 1000 : height 1000,position(8) : width 1000,256*w%
  progress_bar 1001 : top 1001,230 : left 1001,left(10)-40 : width 1001,width(10)+80
    min 1001,0 : max 1001,255 : position 1001,0
  2d_target_is 1000
  for uc%=0 to 255
    res% = dll_call2("GetUnicodeGraphic",uc%+page%*256,w%)
    clipboard_paste 4
    2d_image_paste 4,uc%*w%,0
    position 1001,uc%
    display
  next uc%
  f$ = "Unicode_"+str$(page%*256)+"_"+str$(page%*256+255)+"_"+str$(w%)+"x"+str$(w%)+".bmp"
  file_save 1000,f$
  message "Exporté dans "+f$
  2d_target_is 3
  delete 1000
  delete 1001
end_sub
 
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Sélecteur graphique de caractères Unicode avec export Empty
MessageSujet: Re: Sélecteur graphique de caractères Unicode avec export   Sélecteur graphique de caractères Unicode avec export EmptyJeu 03 Sep 2015, 23:46

Et voici l'ajout d'un bouton "Exporter tout". Après une confirmation (car ce sera long !), le programme exporte, une à une, les 256 pages en 256 fichiers BMP, chacun contenant une ligne de 256 caractères Unicode, en utilisant la résolution choisie. Des barres de progression indiquent la progression du travail. Un bouton d'interruption permet d'interrompre l'export à la fin du traitement du caractère en cours.

L'idée, c'est de permettre à un programme 100 % Panoramic, d'utiliser les graphismes Unicode. Pour cela, il suffit de charger le BMP de la bonne page dans un PICTURE caché, de copier la section du caractère souhaitée dans un IMAGE par 2d_image_copy, puis de récupérer l'image de ce caractère par 2d_image_paste. Facile.

Voici le texte:
Code:
' affichage_et_selection_de_caracteres_UNICODE.bas

label changesection, identify, export, exportpage, exportall, abort

dim res%, l%, c%, ucar%, car%, abort%

dll_on "KGF.dll"

full_space 0
alpha 1 : top 1,10 : left 1,10 : caption 1,"Section Unicode (0..255):"
spin 2 : top 2,10 : left 2,140 : min 2,0 : max 2,255 : position 2,0
  width 2,50
button 5 : top 5,10 : left 5,200 : caption 5,"Charger" : on_click 5,changesection
picture 3 : top 3,40 : left 3,10 : width 3,1024+33 : height 3,512+17
  on_click 3,identify
image 4

picture 6 : top 6,40 : left 6,left(3)+width(3)+30
  width 6,66 : height 6,66
  2d_target_is 6
  2d_rectangle 0,0,65,65
  
alpha 7 : top 7,130 : left 7,left(6) : caption 7,"Résolution:"
spin 8 : top 8,130 : left 8,left(6)+100 : width 8,50
  min 8,8 : max 8,256 : position 8,32
button 9 : top 9,160 : left 9,left(8) : caption 9,"Exporter" : on_click 9,export
button 10 : top 10,200 : left 10,left(8) : caption 10,"Exporter page" : on_click 10,exportpage
button 11 : top 11,230 : left 11,left(8) : caption 11,"Exporter tout" : on_click 11,exportall
button 12 : hide 12 : top 12,310 : left 12,left(8) : caption 12,"Interrompre" : on_click 12,abort

2d_target_is 3
print_target_is 3
for l%=0 to 16
  2d_line 0,l%*32+l%,1026+32,l%*32+l%
next l%
for c%=0 to 32
  if bin_and(c%,1)=1
    2d_pen_dot
  else
    2d_pen_solid
  end_if
  2d_line c%*32+c%,0,c%*32+c%,512+16
next c%
font_color 3,0,0,255
for l%=0 to 15
  for c%=0 to 15
    print_locate c%*65+c%+2,l%*32+l%+3
    print str$(l%*16+c%)
    print_locate c%*65+c%+2,l%*32+l%+16
    print "x"+hex$(l%*16+c%)
  next c%
next l%
font_color 3,0,0,0

end

changesection:
  charger_images()
  return
  
identify:
  identifier_caractere()
  return
  
export:
  exporter()
  return
  
exportpage:
  exporterpage(position(2),1)
  return

exportall:
  exportertout()
  return
  
abort:
  abort% = 1
  return

sub charger_images()
  dim_local uc%, l%, c%
  uc% = position(2)*256
  for l%=0 to 15
    for c%=0 to 15
      res% = dll_call2("GetUnicodeGraphic",uc%,32)
      clipboard_paste 4
      2d_image_paste 4,c%*65+c%+33+1,l%*32+l%+1
      uc% = uc% + 1
    next c%
  next l%
  ucar% = -1 : ' rien n'est sélectionné
  2d_target_is 6
  color 6,255,255,255
  2d_rectangle 0,0,65,65
  2d_target_is 3
end_sub
  
sub identifier_caractere()
  dim_local x%, y%, l%, c%
  x% = mouse_x_left_down(3)
  y% = mouse_y_left_down(3)
  l% = int(y%/33)
  c% = int(x%/66)
  car% = l%*16 + c%
  ucar% = position(2)*256 + car%
      res% = dll_call2("GetUnicodeGraphic",ucar%,64)
      clipboard_paste 4
      2d_target_is 6
      2d_image_paste 4,1,1
      2d_target_is 3
end_sub

sub exporter()
  dim_local f$
  if ucar%<0 then exit_sub
  res% = dll_call2("GetUnicodeGraphic",ucar%,position(8))
  clipboard_paste 4
  f$ = "U+"+str$(ucar%)+"_"+str$(position(8))+"x"+str$(position(8))+".bmp"
  file_save 4,f$
  message "Exporté dans "+f$
end_sub
  
sub exporterpage(page%,tell%)
  dim_local f$, uc%, w%
  w% = position(8)
  picture 1000 : hide 1000 : height 1000,w% : width 1000,256*w%
  alpha 1001 : top 1001,260 : left 1001,left(7) : caption 1001,"Caractère:"
  progress_bar 1002 : top 1002,260 : left 1002,left(10)-40 : width 1002,width(10)+80
    min 1002,0 : max 1002,255 : position 1002,0
  2d_target_is 1000
  for uc%=0 to 255
    if abort%=1 then exit_for
    res% = dll_call2("GetUnicodeGraphic",uc%+page%*256,w%)
    clipboard_paste 4
    2d_image_paste 4,uc%*w%,0
    position 1002,uc%
    display
  next uc%
  f$ = "Unicode_"+str$(page%*256)+"_"+str$(page%*256+255)+"_"+str$(w%)+"x"+str$(w%)+".bmp"
  file_save 1000,f$
  if tell%=1 then message "Exporté dans "+f$
  2d_target_is 3
  delete 1000
  delete 1001
  delete 1002
end_sub
  
sub exportertout()
  dim_local page%, n%
  if message_confirmation_yes_no("Voulez-vous vraiment exporter les 256 pages ?")<>1 then exit_sub
  alpha 1003 : top 1003,280 : left 1003,left(7) : caption 1003,"Page:"
  progress_bar 1004 : top 1004,280 : left 1004,left(10)-40 : width 1004,width(10)+80
    min 1004,0 : max 1004,255 : position 1004,0
  show 12
  for page%=0 to 255
    if abort%=1 then exit_for
    exporterpage(page%,0)
    position 1004,page%
    display
  next page%
  if abort%=1
    message "L'export a été interrompu."
    abort% = 0
  else
    message "Les 256 pages sont exportées."
  end_if
  hide 12
  delete 1003
  delete 1004
end_sub
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
dannick

dannick


Nombre de messages : 46
Age : 24
Localisation : yaounde
Date d'inscription : 04/09/2015

Sélecteur graphique de caractères Unicode avec export Empty
MessageSujet: pour klauss   Sélecteur graphique de caractères Unicode avec export EmptyVen 04 Sep 2015, 17:10

Salut klaus!silteplait je voudrais savoir si tu pouvais me faire un tuto complet pour la creation et l utilisation des dll...https://2img.net/i/fa/i/smiles/icon_razz.gif
Revenir en haut Aller en bas
http://apollo.forumperso.com
Klaus

Klaus


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

Sélecteur graphique de caractères Unicode avec export Empty
MessageSujet: Re: Sélecteur graphique de caractères Unicode avec export   Sélecteur graphique de caractères Unicode avec export EmptyVen 04 Sep 2015, 17:30

Un gros morceau, l'écriture d'une DLL ! Déjà en soi, ce n'est pas évident de faire une DLL. Il faut choisir un langage capable de le faire, comme Delphi 6 Personal Edition, FreeBasic ou VisualBasic 6. Et ensuite, il faut respecter les règles d'interfaçage que Panoramic impose. Je copie ici un extrait du fichier d'aide de la DLL que je crée pour Panoramic:
Citation :
Panoramic impose des restrictions sévères à l'utilisation des DLLs. Elles sont les suivantes:

Il faut "ouvrir" une DLL par la commande DLL_ON et la "fermer" par la commande DLL_OFF

Panoramic ne peut gérer qu'une seule DLL ouverte à un moment quelconque. Pour utiliser une fonction d'une autre DLL si une DLL est déjà ouverte, il faut donc d'abord fermer la DLL ouverte, puis ouvrir la nouvelle, avant de pouvoir appeler la fonction choisie.

Les noms des fonctions sont sensibles à la casse, et doivent donc scrupuleusement respecter les minuscules et majuscules des noms définis dans la DLL.

On ne peut appeler que des fonctions, pas de procédures.

Une fonction ne peut retourner que des valeurs entières comme celles contenues par des variables typées par %.

Une fonction dans une DLL peut être appelée avec 0 à 6 paramètres.

Un paramètre doit impérativement être une valeur entière comme celles contenues par des variables typées par %.

Tous les paramètres sont passés "par valeur", pas de passage "par référence". Donc, pour retourner une valeur dans un paramètre, il faut passer l'adresse d'une variable dans ce paramètre.

Comme on ne peut passer que des valeurs entières en paramètre, il faut donc également passer l'adresse des variables flottantes et chaînes de caractères pour les passer à la DLL.

Une fonction est appelée par la fonction Panoramic DLL_CALLx avec x indiquant le nombre de paramètres de 0 à 6 à passer à la fonction de la DLL. Le premier paramètre de DLL_CALLx doit être une chaîne de caractères contenant le nom exact de la fonction DLLà appeler. Les x paramètres suivants contiennent les paramètres à passer à la DLL.

Exemples:

resultat% = dll_call0( "MaFonction" )

resultat% = dll_call3( "MonAutreFonction" , 15 , par%, adr(s$) )

Avant de t'attaquer aux DLLs, fais quelques programmes simples avec Panoramic, pour commencer !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Sélecteur graphique de caractères Unicode avec export Empty
MessageSujet: Re: Sélecteur graphique de caractères Unicode avec export   Sélecteur graphique de caractères Unicode avec export Empty

Revenir en haut Aller en bas
 
Sélecteur graphique de caractères Unicode avec export
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Affichage de caractères Unicode.
» plus de caractères avec chr$()
» Problème avec les chaines de caractères
» Ne cherchez plus vos couleurs grace à ma petite palette!
» Un sélecteur de dossiers 100 % Panoramic

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