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.
KGF_dll - nouvelles versions - Page 15 Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
KGF_dll - nouvelles versions - Page 15 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
KGF_dll - nouvelles versions - Page 15 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
KGF_dll - nouvelles versions - Page 15 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
KGF_dll - nouvelles versions - Page 15 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
KGF_dll - nouvelles versions - Page 15 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
KGF_dll - nouvelles versions - Page 15 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
KGF_dll - nouvelles versions - Page 15 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
KGF_dll - nouvelles versions - Page 15 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
KGF_dll - nouvelles versions - Page 15 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
KGF_dll - nouvelles versions - Page 15 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
KGF_dll - nouvelles versions - Page 15 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
KGF_dll - nouvelles versions - Page 15 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
KGF_dll - nouvelles versions - Page 15 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
KGF_dll - nouvelles versions - Page 15 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 :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

 

 KGF_dll - nouvelles versions

Aller en bas 
+12
JL35
Oscaribout
bignono
Pedro
pascal10000
silverman
Jicehel
papydall
Minibug
Marc
Yannick
Klaus
16 participants
Aller à la page : Précédent  1 ... 9 ... 14, 15, 16 ... 27 ... 40  Suivant
AuteurMessage
pascal10000

pascal10000


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyVen 21 Juil 2017 - 12:15

bonjour Klaus
La fonction "FindPanoramicObject" fonctionne correctement

Il y a un mais! Elle ne fonctionne uniquement avec la commande "GetAbsoluteMousePosition"
et non avec "GetMousePosition" donc une petit rectification s'impose dans l'aide KGF.chm
bonne journée et merci
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyVen 21 Juil 2017 - 13:29

Tu as raison ! Merci de l'avoir signalé. Ce sera corrigé pour la prochaine version.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 15 EmptyDim 13 Aoû 2017 - 16:35

Klaus, la capture d" écran ne fonctionne apparemment plus. pale

Code:
sub CaptureJeu()
 show BtnShot%
 SNAP% = dll_call5("CreateScreenSnapshot",1,(screen_x-430)/2,(screen_y-430)/2,430,430)
end_sub

sub TakeSnapshot()
 dim_local f$,res%,m%
 
 f$=mid$(date$,7,4)+mid$(date$,4,2)+mid$(date$,1,2)+"_"
 f$=f$+mid$(Time$,1,2)+mid$(Time$,4,2)+mid$(Time$,7,2)+".jpg"
 f$=Path$+"Capture_"+f$

 hide BtnShot%
 ' message f$+chr$(13)+str$(Snap%)+chr$(13)+str$(adr(f$))
 res% = dll_call2("TakeScreenSnapshot",SNAP%,adr(f$))
 if res%<0
 m%=message_warning_ok("Désolé !"+chr$(13)+"Une erreur s' est produite, la capture a échouée.")
 end_if
 res% = dll_call1("DeleteScreenSnapshot",SNAP%)
end_sub

J' ai droit au message à chaque essai... Crying or Very sad

Précision : Avec le compilateur. (cela fonctionne avec l' interpréteur)
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyVen 6 Oct 2017 - 1:22

Nouvelle version:
KGF.dll V7.88 du 05/10/2017

Nouveautés:
- Nouvelles fonctions: MoveRegion, CheckRegionIntersection

Modules modifiés:
KGF.dll
KGF.chm


La doc est à jour. Les sources seront à jour prochainement.

Les fichiers sont sur mon site (et mon site miroir). Le WebDav suivra prochainement.

Voici une démo:
Code:
' test_collisions_de_sprites_avec_regions.bas

label key

dim res%, RGN1%, RGN2%, key%, posx%, posy%, M1%


dll_on "KGF.dll"

M1% = 0 - 1


caption 0,"Flèches pour déplacer le sprite rouge, ESC pour sortir"
image 1 : picture 2 : hide 2 : width 2,100 : height 2,50
scene2d 3 : full_space 3 : color 3,200,200,200

2d_target_is 2
  
color 2,255,0,0 : 2d_image_copy 1,0,0,100,50
sprite 1 : sprite_image_load 1,1
sprite_position 1,50,20
posx% = 50
posy% = 20
RGN1% = 0
RGN1% = DLL_call5("WindowAddRectangleRegion",adr(RGN1%),posx%,posy%,100,50)

color 2,0,0,255 : 2d_image_copy 1,0,0,100,50
sprite 2 : sprite_image_load 2,1
sprite_position 2,200,150
RGN2% = 0
RGN2% = DLL_call5("WindowAddRectangleRegion",adr(RGN2%),200,150,100,50)

sprite 3
font_size 3,20
font_color 3,255,0,0
font_bold 3
sprite_text 3,"Contact !"
sprite_position 3,200,0
sprite_hide 3

on_key_down 0,key

end

key:
  key% = scancode
  if key%=27 then terminate
  if key%=37 then gauche()
  if key%=38 then haut()
  if key%=39 then droite()
  if key%=40 then bas()
  
  return
  
sub gauche()
  sprite_hide 3
  posx% = posx% - 1
  sprite_position 1,posx%,posy%
  res% = dll_call3("MoveRegion",adr(RGN1%),M1%,0)
  if res%=0 then message "oups"
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posx% = posx% + 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),1,0)  
  end_if
end_sub

sub haut()
  sprite_hide 3
  posy% = posy% - 1
  sprite_position 1,posx%,posy%
  res% = dll_call3("MoveRegion",adr(RGN1%),0,M1%)
  if res%=0 then message "oups"
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posy% = posy% + 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),0,1)
  end_if
end_sub

sub droite()
  sprite_hide 3
  posx% = posx% + 1
  sprite_position 1,posx%,posy%
  res% = dll_call3("MoveRegion",adr(RGN1%),1,0)
  if res%=0 then message "oups"
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posx% = posx% - 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),M1%,0)
  end_if
end_sub

sub bas()
  sprite_hide 3
  posy% = posy% + 1
  sprite_position 1,posx%,posy%
  res% = dll_call3("MoveRegion",adr(RGN1%),0,1)
  if res%=0 then message "oups"
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posy% = posy% - 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),0,M1%)
  end_if
end_sub


Avec les flèches, essayez de déplacer le sprite mobile sur le sprite fixe...

La touche Echap termine le programme.

EDIT

Le WebDav est à jour également - DLL, CHM et sources.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1596
Date d'inscription : 19/01/2014

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: kgf.dll   KGF_dll - nouvelles versions - Page 15 EmptyVen 6 Oct 2017 - 9:09

Bonjour à tous.

Ah, je suis vraiment très content de te retrouver sur ce forum Klaus.

Amicalement.
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyVen 6 Oct 2017 - 10:39

J'ai corrigé une petite maladresse de programmation dans mon code exemple Panoramic. En effet, il vaut mieux faire le test de collision AVANT de déplacer physiquement le sprite:
Code:
' test_collisions_de_sprites_avec_regions.bas

label key

dim res%, RGN1%, RGN2%, key%, posx%, posy%, M1%


dll_on "KGF.dll"

M1% = 0 - 1


caption 0,"Flèches pour déplacer le sprite rouge, ESC pour sortir"
image 1 : picture 2 : hide 2 : width 2,100 : height 2,50
scene2d 3 : full_space 3 : color 3,200,200,200

2d_target_is 2
 
color 2,255,0,0 : 2d_image_copy 1,0,0,100,50
sprite 1 : sprite_image_load 1,1
sprite_position 1,50,20
posx% = 50
posy% = 20
RGN1% = 0
RGN1% = DLL_call5("WindowAddRectangleRegion",adr(RGN1%),posx%,posy%,100,50)

color 2,0,0,255 : 2d_image_copy 1,0,0,100,50
sprite 2 : sprite_image_load 2,1
sprite_position 2,200,150
RGN2% = 0
RGN2% = DLL_call5("WindowAddRectangleRegion",adr(RGN2%),200,150,100,50)

sprite 3
font_size 3,20
font_color 3,255,0,0
font_bold 3
sprite_text 3,"Contact !"
sprite_position 3,200,0
sprite_hide 3

on_key_down 0,key

end

key:
  key% = scancode
  if key%=27 then terminate
  if key%=37 then gauche()
  if key%=38 then haut()
  if key%=39 then droite()
  if key%=40 then bas()
 
  return
 
sub gauche()
  sprite_hide 3
  posx% = posx% - 1
  res% = dll_call3("MoveRegion",adr(RGN1%),M1%,0)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posx% = posx% + 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),1,0)
  else 
    sprite_position 1,posx%,posy%
  end_if
end_sub

sub haut()
  sprite_hide 3
  posy% = posy% - 1
  res% = dll_call3("MoveRegion",adr(RGN1%),0,M1%)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posy% = posy% + 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),0,1)
  else
    sprite_position 1,posx%,posy%
  end_if
end_sub

sub droite()
  sprite_hide 3
  posx% = posx% + 1
  res% = dll_call3("MoveRegion",adr(RGN1%),1,0)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posx% = posx% - 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),M1%,0)
  else
    sprite_position 1,posx%,posy%
  end_if
end_sub

sub bas()
  sprite_hide 3
  posy% = posy% + 1
  res% = dll_call3("MoveRegion",adr(RGN1%),0,1)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posy% = posy% - 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),0,M1%)
  else
    sprite_position 1,posx%,posy%
  end_if
end_sub
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyVen 6 Oct 2017 - 14:05

Nouvelle version:
KGF.dll V7.89 du 06/10/2017

Nouveautés:
- Nouvelle fonction: CheckPointInRegion

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Cette fonction complète les possibilités de travail avec des régions compexes, associées à des sprites. Elle permet de svoir si un point fait partie d'une région quelconque, ou noon. Ceci permet par exemple de tester si un tir touche un sprite, à un endroit précis. Il y a plein d'autres applications.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptySam 7 Oct 2017 - 11:45

Nouvelle version:
KGF.dll V7.90 du 07/10/2017

Nouveautés:
- Nouvelle fonction: DeleteRegion

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Cette fonction permet de suprimer une région lorsqu'elle n'est plus utilisée. Dans Windows, chaque région est représentée par un handle global pointant vers uns structure de taille variable en mémoire décrivant la région. Cet espace, ainsi que le handle global lui-même, représente une consommation de resources qu'on peut optimiser dès l'instant qu'on n'a plus besoin de la région. Certes, cela ne s'applique pas pour les régions décrivant la forme d'une fenêtre, pour des raisons évidentes. Par contre, lors de l'utilisation des régions en lien avec des sprites, il est fortement conseillé de supprimer ces régions dès que les sprites concernés sont supprimés, ou au plis tard à la fin du programme.

Voici le programme de démo, adapté à a suppression propre des régions utilisées:
Code:
' test_collisions_de_sprites_avec_regions.bas

label key, exit

dim res%, RGN1%, RGN2%, key%, posx%, posy%, M1%


dll_on "KGF.dll"

M1% = 0 - 1

on_close 0,exit

caption 0,"Flèches pour déplacer le sprite rouge, ESC pour sortir"
image 1 : picture 2 : hide 2 : width 2,100 : height 2,50
scene2d 3 : full_space 3 : color 3,200,200,200

2d_target_is 2
 
color 2,255,0,0 : 2d_image_copy 1,0,0,100,50
sprite 1 : sprite_image_load 1,1
sprite_position 1,50,20
posx% = 50
posy% = 20
RGN1% = 0
RGN1% = DLL_call5("WindowAddRectangleRegion",adr(RGN1%),posx%,posy%,100,50)

color 2,0,0,255 : 2d_image_copy 1,0,0,100,50
sprite 2 : sprite_image_load 2,1
sprite_position 2,200,150
RGN2% = 0
RGN2% = DLL_call5("WindowAddRectangleRegion",adr(RGN2%),200,150,100,50)

sprite 3
font_size 3,20
font_color 3,255,0,0
font_bold 3
sprite_text 3,"Contact !"
sprite_position 3,200,0
sprite_hide 3

on_key_down 0,key

end

key:
  key% = scancode
  if key%=27 then sortie()
  if key%=37 then gauche()
  if key%=38 then haut()
  if key%=39 then droite()
  if key%=40 then bas()
 
  return
 
exit:
  res% = dll_call1("DeleteRegion",adr(RGN1%))
  res% = dll_call1("DeleteRegion",adr(RGN2%))
  return
 
sub sortie()
  gosub exit
  terminate
end_sub
 
sub gauche()
  sprite_hide 3
  posx% = posx% - 1
  res% = dll_call3("MoveRegion",adr(RGN1%),M1%,0)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posx% = posx% + 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),1,0)
  else 
    sprite_position 1,posx%,posy%
  end_if
end_sub

sub haut()
  sprite_hide 3
  posy% = posy% - 1
  res% = dll_call3("MoveRegion",adr(RGN1%),0,M1%)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posy% = posy% + 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),0,1)
  else
    sprite_position 1,posx%,posy%
  end_if
end_sub

sub droite()
  sprite_hide 3
  posx% = posx% + 1
  res% = dll_call3("MoveRegion",adr(RGN1%),1,0)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posx% = posx% - 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),M1%,0)
  else
    sprite_position 1,posx%,posy%
  end_if
end_sub

sub bas()
  sprite_hide 3
  posy% = posy% + 1
  res% = dll_call3("MoveRegion",adr(RGN1%),0,1)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posy% = posy% - 1
    sprite_position 1,posx%,posy%
    res% = dll_call3("MoveRegion",adr(RGN1%),0,M1%)
  else
    sprite_position 1,posx%,posy%
  end_if
end_sub
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyDim 8 Oct 2017 - 17:36

Voici une nouvele version dui programme de démo des collisions détectées par l'utilisation des régions Windows. A la place de simples rectangles, le programme utilise des triangles, créées dans le code Panoramic par les commandes 2D. Puis, on construit les régions à partir des bitmaps de ces triangles. Cela montr qu'on peut utiliser n'importe quelle bitmap pour cela, en spécifiant la couleur de transparence (ici, c'est 0=noir car c'est la couleur de transparence des sprites en Panoramic).

On déplace toujours le sprite rouge par les fléches. Et dès qu'une des pointes du traingle rouche touche un point du triangle bleu (ou inversement), le contact est détecté. Cela montre à la perfection que la détection ne se jour plus sur le rectangle englobant, mais bien sur la partie significative (non transparente) des sprites.

Voici le code:
Code:
' test_collisions_de_sprites_avec_regions.bas

label key, exit

dim type_sprite%
' type_sprite% = 1 : ' rectangle
type_sprite% = 2 : ' triangle

dim res%, RGN1%, RGN2%, key%, posx%, posy%, M1%, bmp$
bmp$ = "temp.bmp"


dll_on "KGF.dll"

M1% = 0 - 1

on_close 0,exit

caption 0,"Flèches pour déplacer le sprite rouge, ESC pour sortir"
image 1 : picture 2 : hide 2 : width 2,100 : height 2,50
scene2d 3 : full_space 3 : color 3,200,200,200

2d_target_is 2
  
select type_sprite%
  case 1
    color 2,255,0,0 : 2d_image_copy 1,0,0,100,50
    sprite 1 : sprite_image_load 1,1
    sprite_position 1,50,20
    posx% = 50
    posy% = 20
    RGN1% = 0
    RGN1% = DLL_call5("WindowAddRectangleRegion",adr(RGN1%),posx%,posy%,100,50)
  case 2
    color 2,0,0,0
    2d_pen_color 255,0,0
    2d_pen_width 3
    2d_fill_color 255,0,0
    2d_poly_from 50,10 : 2d_poly_to 90,45 : 2d_poly_to 20,30 : 2d_poly_to 50,10
    2d_flood 50,30,255,0,0
    2d_image_copy 1,0,0,100,50
    file_save 2,bmp$
    sprite 1 : sprite_image_load 1,1
    sprite_position 1,50,20
    posx% = 50
    posy% = 20
    RGN1% = 0
    RGN1% = DLL_call5("WindowCreateRegionFromBMP",adr(bmp$),adr(RGN1%),0,0,0)
    res% = DLL_call3("MoveRegion",adr(RGN1%),posx%,posy%)
    file_delete bmp$
end_select

select type_sprite%
  case 1
    color 2,0,0,255 : 2d_image_copy 1,0,0,100,50
    sprite 2 : sprite_image_load 2,1
    sprite_position 2,200,150
    RGN2% = 0
    RGN2% = DLL_call5("WindowAddRectangleRegion",adr(RGN2%),200,150,100,50)
  case 2
    color 2,0,0,0
    2d_pen_color 0,0,255
    2d_pen_width 3
    2d_fill_color 255,0,0
    2d_poly_from 50,10 : 2d_poly_to 90,45 : 2d_poly_to 20,30 : 2d_poly_to 50,10
    2d_flood 50,30,0,0,255
    2d_image_copy 1,0,0,100,50
    file_save 2,bmp$
    sprite 2 : sprite_image_load 2,1
    sprite_position 2,200,150
    RGN2% = 0
    RGN2% = DLL_call5("WindowCreateRegionFromBMP",adr(bmp$),adr(RGN2%),0,0,0)
    res% = DLL_call3("MoveRegion",adr(RGN2%),200,150)
    file_delete bmp$
end_select

sprite 3
font_size 3,20
font_color 3,255,0,0
font_bold 3
sprite_text 3,"Contact !"
sprite_position 3,200,0
sprite_hide 3

on_key_down 0,key

end

key:
  key% = scancode
  if key%=27 then sortie()
  if key%=37 then gauche()
  if key%=38 then haut()
  if key%=39 then droite()
  if key%=40 then bas()
  
  return
  
exit:
  res% = dll_call1("DeleteRegion",adr(RGN1%))
  res% = dll_call1("DeleteRegion",adr(RGN2%))
  return
  
sub sortie()
  gosub exit
  terminate
end_sub
  
sub gauche()
  sprite_hide 3
  posx% = posx% - 1
  res% = dll_call3("MoveRegion",adr(RGN1%),M1%,0)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posx% = posx% + 1
    res% = dll_call3("MoveRegion",adr(RGN1%),1,0)
  else  
    sprite_position 1,posx%,posy%
  end_if
end_sub

sub haut()
  sprite_hide 3
  posy% = posy% - 1
  res% = dll_call3("MoveRegion",adr(RGN1%),0,M1%)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posy% = posy% + 1
    res% = dll_call3("MoveRegion",adr(RGN1%),0,1)
  else
    sprite_position 1,posx%,posy%
  end_if
end_sub

sub droite()
  sprite_hide 3
  posx% = posx% + 1
  res% = dll_call3("MoveRegion",adr(RGN1%),1,0)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posx% = posx% - 1
    res% = dll_call3("MoveRegion",adr(RGN1%),M1%,0)
  else
    sprite_position 1,posx%,posy%
  end_if
end_sub

sub bas()
  sprite_hide 3
  posy% = posy% + 1
  res% = dll_call3("MoveRegion",adr(RGN1%),0,1)
  res% = dll_call2("CheckRegionIntersection",adr(RGN1%),adr(RGN2%))
  if res%=1
    sprite_show 3
    posy% = posy% - 1
    res% = dll_call3("MoveRegion",adr(RGN1%),0,M1%)
  else
    sprite_position 1,posx%,posy%
  end_if
end_sub

Et voici une détection, en abaissant le triangle rouge sur le triangle bleu, par le haut:
KGF_dll - nouvelles versions - Page 15 Aa114

EDIT

Un peu de didactique autour de cela:
Imaginons un personnage comme un combattant avec une épée. On peut placer son image dans un sprite sur fond noir, et il va se déplacer normalement. On va maintenant définir une région par WindowCreateRegionFromBMP comprenant la totalité du personnage. Conséquence: on peut facilement savoir si le personnage va se heurter ) un élément du décor (mur, arbre, ...), en définissant une seule région contenant l'ensemble des éléments fixes du décor. Mais on peut aussi définir une région juste pour l'épée, et savoir ainsi si l'épée "pique" un autre personnage (entre en collision avec la région associée à l'autre personnage). On obtient ainsi une gestion très fine des collisions, avec une application directe sur les actions à effectuer.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyLun 9 Oct 2017 - 11:20

Nouvelle version:
KGF.dll V7.91 du 09/10/2017

Nouveautés:
- Nouvelles fonctions: CreateRegionGroup, AddRegionToGroup, DeleteRegionGroup, MoveRegionGroup

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Ces fonctions introduisent une nouvelle notion: le groupe de régions. C'est un simple regroupement logique de plusieurs régions (le nombre n'est pas limité) dans le but de pourvoir déplacer toutes ces régions en un sel appel d'une fonction DLL, de façon synchrone. Ce sera beaucoup plus performat que de faire appel à la fonction de déplacement d'une région dans une boucle Panoramic.

A quoi ça sert ? Imaginons un personnage dans un jeu video en 2D. On veut tester les contacts (collisions) avec certaines parties du personnage (pieds, tête, épée, bouclier, ...). On définit alors une région pour chacune de ces parties et une région globae pour l'ensemble du personnage. Cette dernière va servir à détecter les collisions avec les éléments fixes du décor (mor, arbres, rochers, ...) et éléments mobiles inertes (voitures, ...). Les autres servent à détecter une collision entraînant une action (épée du personnage A sur tête du personnage B ==> mort du personnage B, etc). Mais le problème est le déplacement de tout ce système lorsque le personnage se déplace. Alors, au lieu de faire une boucle sur toutes les régions du personnage, il suffit de déplacer le groupe lui étant associé - c'est beaucoup plus simple et surtout beaucoup plus rapide.

Simple mise en garde: avant de quitter un programme utilisant de telles régions, il faut veiller à supprimer toutes les régions créées, ainsi que les éventuels groupes de régions. Pour voir comment faire, regarder le programme de démo dans le post plus haut.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMar 10 Oct 2017 - 14:08

Nouvelle version:
KGF.dll V7.912du 10/10/2017

Nouveautés:
- Nouvelle fonction: CheckRegionGroupIntersection

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

C'est une fonction très puissante, et elle complète la collection de fonctions gérant les groupes de régions. On peut maintenant tester s'il è a un point commun (contact) entre une région et une région quelconque d'un groupe de régions, ou entre une région quelconque d'un groupe de régions avec une région quelconque d'un autre groupe de régions. De plus, on peut savoir exactement quelles régions sont concernées.

Ceci permet, lors du déplacement d'un personnage décliné en plusieurs régions, de savoir par exemple si sont épée a touché la tête, l'épée ou le bouclier d'un autre personnage. C'est un seul appel d'une fonction DLL qui réalise cela.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMar 10 Oct 2017 - 17:49

Nouvelle version:
KGF.dll V7.93 du 10/10/2017

Nouveautés:
- Nouvelle fonction: GetRegionRectangle

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Cette fonction permet de récupérer la position et le dimensions du rectangle englobant une région, quelque soit sa forme.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMer 1 Nov 2017 - 11:57

Nouvelle version:
KGF.dll V7.94 du 31/10/2017

Nouveautés:
- Nouvel objet: Scanner

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Ce nouvel objet (invisible) permet de gérer un scanner en mode TWAIN et acquérir des images. On peut donc maintenant scanner et archiver des documents directement à partir du programme Panoramic, un peu comme c'est fait dans les pharmacies qui scannent les ordonnances, etc.

Voici une démo:
Code:
' test_Scanner.bas

label pret, close0, choix, scan1, scan2, sauver

dim TW%, res%, sel%, f$, e$

dll_on "KGF.dll"

button 1 : top 1,10 : left 1,10 : width 1,110 : caption 1,"Scanner direct" : on_click 1,scan1
button 2 : top 2,10 : left 2,130 : width 2,110 : caption 2,"Scanner dialogue" : on_click 2,scan2
button 3 : top 3,10 : left 3,250 : width 3,110 : caption 3,"Sauver" : on_click 3,sauver

save_dialog 9 : filter 9,"Images|*.bmp;*.jpg; *.png"

list 11 : top 11,40 : left 11,10 : width 11,150 : on_click 11,choix
picture 12 : top 12,40 : left 12,180 : width 12,300 : height 12,400 : stretch_on 12

TW% = dll_call0("CreateScanner")

res% = dll_call2("GetScannerSources",TW%,handle(11))
sel% = dll_call1("GetSelectedScannerSource",TW%)
res% = dll_call2("SelectListBoxItem",handle(11),sel%)

on_user_event pret
on_close 0,close0

end

close0:
  res% = dll_call1("DeleteScanner",TW%)
  return
 
choix:
  sel% = item_index(11)
  res% = dll_call2("SelectScannerSource",TW%,sel%)
  return

scan1:
  res% = dll_call1("StartSelectedScanner",TW%)
  return

scan2:
  res% = dll_call1("StartScannerWithDialog",TW%)
  return
 
sauver:
  f$ = file_name$(9)
  if f$="_" then return
  e$ = lower$(file_extract_extension$(f$))
  message e$
  return
  if (e$<>".bmp") and (e$<>".jpg") and (e$<>".png")
    message "Choisissez le format BMP, JPG ou PNG!"
    return
  end_if
  if file_exists(s$)=1
    if message_confirmation_yes_no("Ce fichier existe déjà. Remplacer ?")<>1 then return
  end_if
  clipboard_copy 12
  res% = dll_call1("SaveAnyImageFile",adr(f$))
  return

pret:
  message "reçu !"
  res% = dll_call1("CopyScannerImapeToClipBoard",TW%)
  clipboard_paste 12
  display
  message "reçu !"
  return


Ce programme de démo est placé égement dans le fichier d'aide KGF.chm.

L'objet Scanner est réalisé à l'aide d'un composant freeware sous licence GPL trouvé sur SourceForge, avec les conditions de licence suivantes:
Citation :
DelphiTwain by Kluug.net
------------------------

Licensed under: MPL / GPL / LGPL

Copyright:
Gustavo Daud (delphitwain.sourceforge.net)
Nemeth Peter
vcldeveloper (stackoverflow.com/questions/2059343/twain-scanning-components-for-delphi)
Ondrej Pokorny (www.kluug.net/delphitwain.php)
J'ai intégré cela dans KGF.dll et créé les fonctions nécessaires pour réaliser une enveloppe (wrapper) autour de cet objet réalisé en Delphi. Aucune DLL externe ni contrôle ActiveX n'est nécessaire.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 15 EmptyMer 1 Nov 2017 - 14:20

cheers Bravo Klaus !

Après la gestion de l'imprimante, celle du scanner.
La gestion des périphériques donne de nouvelles ouvertures à Panoramic.
Bravo et encore merci Klaus.
Very Happy
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMer 1 Nov 2017 - 22:12

Merci Klaus pour cette nouvelle extension sur le monde extérieur !  cheers

N'ayant pas de scanner, je ne peux pas faire les tests.

Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMer 1 Nov 2017 - 22:49

Tu peux tester le logiciel en utilisant un simulateur de scanner. A côté de mon scanner physique, j'utilise ceci:
http://developer.dynamsoft.com/dwt/kb/2659
Cela marche sans problème (version 64 bits dans mon cas, sous W10 64 bits). L'image "scannée" est lme logo de TWAIN.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMer 1 Nov 2017 - 23:03

Merci Klaus !

L'objet SCANNER que tu as implanté dans ta DLL fonctionne parfaitement !

Test fait sous W10 64bits

Spoiler:

Bravo et encore merci !
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyLun 13 Nov 2017 - 23:47

Nouvelle version:
KGF.dll V7.95 du 13/11/2017

Nouveautés:
- Nouvelle fonction: GetFileDateTime

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Cette fonction est un extension de la fonction GetFileDate. Elle prend un paramètre supplémentaire permettant de choisir le type de date et heure à retourner: date de création, modification ou dernier accès. En voici une petite démo:
Code:
' test_GetFileDateTime.bas

dim f$, res%, cre$, mod$, acc$

open_dialog 1

dll_on "KGF.dll"

f$ = file_name$(1)
if f$="_" then terminate

cre$ = string$(255," ")
res% = dll_call3("GetFileDateTime",adr(f$),0,adr(cre$))
cre$ = trim$(cre$)
mod$ = string$(255," ")
res% = dll_call3("GetFileDateTime",adr(f$),1,adr(mod$))
mod$ = trim$(mod$)
acc$ = string$(255," ")
res% = dll_call3("GetFileDateTime",adr(f$),2,adr(acc$))
acc$ = trim$(acc$)

message "création: "+cre$+chr$(13)+chr$(10)+"Modification: "+mod$+chr$(13)+chr$(10)+"Accès: "+acc$


end
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMar 14 Nov 2017 - 10:35

Bonjour à tous, Smile  Bonjour Klaus Very Happy
Je viens d'essayer ta dernière version de KGF.dll avec ton programme exemple. Ça fonctionne très bien. Mais quand j'insère tes fonctions dans mon programme qui recherche tous les dossiers et fichiers dans mon ordinateur, dès le début à la racine de C:\ il m'affiche 7 dossiers et 12 fichiers, et arrivé au 20ème élément, il m'affiche un message d'erreur: "erreur système. Code: 32. Le processus ne peut accéder au fichier car ce fichier est utilisé par un autre processus."
Je n'avais pas ce problème avec la version précédente de ta dll avec la fonction "res% = dll_call2("GetFileDate",adr(f$),adr(v$))"
Merci de ton aide par avance
A+ Wink  Wink  Wink
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMar 14 Nov 2017 - 12:14

Est-ce que tu as essayé d'exécuter le programme comme administrateur (clic droit sur l'EXE - l'option est proposée). C'est une question de droit d'accès pour ce mode particulier d'accès au fichier. Puis, essaie de déterminer quel fichier est en cause -système ? invisible ? ouvert par le système ? fichier SWAP ou similaire ? Les informations de directory ne sont pas totalement accessibles pour tous les fichiers.

De toutes façons, je vais modifier ma fonction de sorte que l' problème d'accès ne conduise plus au plantage.

EDIT

La fonction est sécurisée maintenant (pas de changement de documentation). En cas de problème d'accès (ou fichier inexistant), elle retourne "00/00/0000 00:00:00".
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMar 14 Nov 2017 - 22:41

Après la correction mentionnée ci-dessus, on peut "scanner" la racine C:\ sans problème. Voici le code:
Code:
' test_GetFileDateTime.bas

dim f$, res%, cre$, mod$, acc$, dir$

dll_on "KGF.dll"

memo 1 : full_space 1 : bar_both 1
dir$ = dir_current$
dir_change "C:"
f$ = file_find_first$
while f$<>"_"
  if left$(f$,1)<>"."
    cre$ = string$(255," ")
    res% = dll_call3("GetFileDateTime",adr(f$),0,adr(cre$))
    cre$ = trim$(cre$)
    mod$ = string$(255," ")
    res% = dll_call3("GetFileDateTime",adr(f$),1,adr(mod$))
    mod$ = trim$(mod$)
    acc$ = string$(255," ")
    res% = dll_call3("GetFileDateTime",adr(f$),2,adr(acc$))
    acc$ = trim$(acc$)
    item_add 1, f$+" création: "+cre$+chr$(13)+chr$(10)+"Modification: "+mod$+chr$(13)+chr$(10)+"Accès: "+acc$+chr$(13)+chr$(10)
  end_if
  f$ = file_find_next$
end_while
file_find_close

dir_change dir$
end

Et voici le résultat:
Spoiler:
On voit que les fichiers Hiberfile, Pagefile et Swapfile ne fournissent pas de date valide, mais ça marche pour tout le reste. Plus de bloquage.


Dernière édition par Klaus le Mer 15 Nov 2017 - 0:09, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMar 14 Nov 2017 - 23:25

Bonsoir KLAUS Smile
Ça fonctionne parfaitement bien maintenant. Le bloquage se faisait sur le fichier install.exe dans la racine C:\
Merci bien Klaus, et bonne soirée.
A+ Wink Wink Wink
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMar 14 Nov 2017 - 23:59

Bonjour à tous !

Merci Klaus !
Je viens de faire l'essai sous Windows 10 : it's OK ! cheers
J'ai juste ajouté un espace ligne 22 devant le mot création pour séparer ce mot du nom du fichier. Autrement ils se touchent.

Avant, sans espace :
Spoiler:

Après, avec un espace devant "création" :
Spoiler:
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptyMer 15 Nov 2017 - 0:08

Tu as raison, Marc37. C'est bien plus lisible ainsi. J'adopte.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 EmptySam 18 Nov 2017 - 14:58

Bonjour à tous  Very Happy , bonjour Klaus Smile
Je viens d'essayer les fonctions du scanner, et j'ai modifié un peu le programme essai que tu as posté plus haut, pour l'adapter à mes besoins. D'ailleurs, le voici:
Code:
caption 0,"SCANORAMIC"
label pret, close0, choix, scan1, scan2, sauver, nf

dim TW%, res%, sel%, f$, ff$, V$,C$,i,q
V$="<\:*?|/>"+chr$(34)

dll_on "C:\SCAN\KGF794.dll"

button 1 : top 1,10 : left 1,10 : width 1,110 : caption 1,"Scanner direct" : on_click 1,scan1
 button 2 : top 2,10 : left 2,130 : width 2,110 : caption 2,"Scanner dialogue" : on_click 2,scan2
button 3 : top 3,10 : left 3,250 : width 3,110 : caption 3,"Sauver" : on_click 3,sauver
alpha 4  : top 4,150: left 4,10  : font_bold 4 : caption 4,"Nom du fichier (préfixe+numéro)"
alpha 5  : top 5,175: left 5,10  : font_underline 5: caption 5,"Préfixe :"
alpha 6  : top 6,220: left 6,10  : font_underline 6: caption 6,"Numéro:"
edit 7   : top 7,175: left 7,60  : width 7,180 : text 7,"Image":on_change 7,nf
spin 8   : top 8,220: left 8,60  : width 8,50  : min 8,1 : max 8,999 : position 8,1:on_change 8,nf
alpha 9  : top 9,200: left 9,130 : font_bold 9 : caption 9,"Format image"
combo 10 :top 10,220:left 10,130 : width 10,90:on_change 10,nf
item_add 10,".bmp":item_add 10,".jpg":item_add 10,".png" : text 10,".jpg"
alpha 11 :top 11,250: left 11,10 :font_bold 11:font_color 11,0,0,255:gosub nf
list 12 : top 12,40 : left 12,10 : width 12,230 : on_click 12,choix
picture 14 : top 14,40 : left 14,250 : width 14,283 : height 14,400 : stretch_on 14

TW% = dll_call0("CreateScanner")
res% = dll_call2("GetScannerSources",TW%,handle(12))
sel% = dll_call1("GetSelectedScannerSource",TW%)
res% = dll_call2("SelectListBoxItem",handle(12),sel%)

on_user_event pret
on_close 0,close0

end

close0:
  res% = dll_call1("DeleteScanner",TW%)
return
  
choix:
  sel% = item_index(12):res% = dll_call2("SelectScannerSource",TW%,sel%)
return

scan1:
  res% = dll_call1("StartSelectedScanner",TW%)
return

scan2:
  res% = dll_call1("StartScannerWithDialog",TW%)
return
  
sauver:
  f$ = caption$(11)
  if file_exists(f$)=1
     if message_confirmation_yes_no("Ce fichier existe déjà. Remplacer ?")<>1 then return
  end_if
  clipboard_copy 14:res% = dll_call1("SaveAnyImageFile",adr(f$))
  position 8,position(8)+1
return

pret:
  res% = dll_call1("CopyScannerImapeToClipBoard",TW%):clipboard_paste 14:display
return

nf:
   ff$=upper$(text$(7))
   if ff$="CON" or ff$="PRN" or ff$="AUX" or ff$="NUL" or ff$="COM" or ff$="LPT"
      message "Nom de fichier interdit! Recommencez!":text 7,"Image"
   end_if
   for i=1 to len(V$)
      C$=mid$(V$,i,1):q=instr(text$(7),C$)
      if q>0 then message "Caractère interdit! Recommencez!":text 7,"Image"
   next i
   caption 11,"C:\SCAN\"+text$(7)+str$(position(8))+text$(10)
return
J'ai vu que l'on pouvait avoir accès à certain réglage avec le bouton "Scanner dialogue", ce qui est très bien, mais j'aurais aimé, plutôt que de passer par ce bouton, avoir accès à des fonctions supplémentaires telles le choix de la "résolution en ppp", une sélection directe en noir et blanc ou couleur et la possibilité de délimiter une zone à scanner dans l'aperçu de l'image.
Mais ne te casse pas la tête si ce n'est pas possible à faire ou trop difficile!
A bientôt.
Wink Wink Wink
Revenir en haut Aller en bas
Contenu sponsorisé





KGF_dll - nouvelles versions - Page 15 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 15 Empty

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Revenir en haut 
Page 15 sur 40Aller à la page : Précédent  1 ... 9 ... 14, 15, 16 ... 27 ... 40  Suivant
 Sujets similaires
-
» KGF_dll - nouvelles versions
» KGF_dll - nouvelles versions
» KGF_dll - nouvelles versions
» Synedit_Editor - nouvelles versions
» version instantanée PANORAMIC V 0.9.25i6 du 14/12/2013

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: