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
» Une calculatrice en une ligne de programme
KGF.dll Bug ou pas ? - Page 2 Emptypar jean_debord Aujourd'hui à 8:47

» Form(résolu)
KGF.dll Bug ou pas ? - Page 2 Emptypar leclode Hier à 17:59

» trop de fichiers en cours
KGF.dll Bug ou pas ? - Page 2 Emptypar Marc Hier à 11:42

» Bataille navale SM
KGF.dll Bug ou pas ? - Page 2 Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Gestion d'un système client-serveur.
KGF.dll Bug ou pas ? - Page 2 Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
KGF.dll Bug ou pas ? - Page 2 Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
KGF.dll Bug ou pas ? - Page 2 Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
KGF.dll Bug ou pas ? - Page 2 Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
KGF.dll Bug ou pas ? - Page 2 Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
KGF.dll Bug ou pas ? - Page 2 Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
KGF.dll Bug ou pas ? - Page 2 Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
KGF.dll Bug ou pas ? - Page 2 Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
KGF.dll Bug ou pas ? - Page 2 Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
KGF.dll Bug ou pas ? - Page 2 Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
KGF.dll Bug ou pas ? - Page 2 Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment :
Réassort du coffret Pokémon 151 ...
Voir le deal

 

 KGF.dll Bug ou pas ?

Aller en bas 
3 participants
Aller à la page : Précédent  1, 2
AuteurMessage
lepetitmarocain




Nombre de messages : 333
Age : 81
Localisation : Région Parisienne (à mon grand désespoir)
Date d'inscription : 04/07/2018

KGF.dll Bug ou pas ? - Page 2 Empty
MessageSujet: Re: KGF.dll Bug ou pas ?   KGF.dll Bug ou pas ? - Page 2 EmptySam 4 Déc 2021 - 20:32

Code:
impression:

attr$ = "BAXAY": ' gras, positionnement en absolu

R% = 0: G% = 255: B% = 0    : ' <===== en integer !
pol$ = "Arial"
sz% = 12
coulsiz% = ((B%*256+G%)*256+R%)*256 + sz%      : ' <====== R, G, B en integer, ajout de sz%

' **** Apercu de l'impression ***

apercu% = DLL_call1("MetaPrinterMode",1)

' **************************************

 f$=dir_current$+"\"+text$ (51)
 
 if file_exists (f$) =0
    message "Le fichier n'existe pas: "+f$ +chr$(13)+chr$(10)+dir_current$
    goto retour
 end_if
a$=text$(53)
if a$=""
  message "il faut saisir un titre"
  goto retour
end_if
    
' Initialisation impression pour Titre *******************


  
  res% = DLL_call4("PrinterManager",1,ADR(phnd%),ADR(chnd%),0): ' init imprimante
 
' *********************************************
'  ***********  Titre ********************
' **************************************

txt$= text$(53) : ' titre ***

x%=600
 
res% = DLL_CALL6("PrinterFunction",8,ADR(phnd%),ADR(chnd%),9,0,0)
 
res% = DLL_call6("PrinterPrintText",ADR(txt$),ADR(pol$),ADR(attr$),clsz%,ADR(x%),ADR(y%))
 

file_open_read 1,f$
x% = 250: y% = 200              : ' <======= initialiser le positionnement ici, hors de la boucle !

while file_eof(1) <> 1
file_readln 1, a$

attr$ = "BAXAY": ' gras, positionnement en absolu
R% = 0: G% = 255: B% = 0    : ' <===== en integer !
clsz% = cl% + sz%        : ' <====== ????????? inutile, pas utilisé !
' x% = 250: y% = 200      <======= ne pas réinitialiser ici !
pol$ = "Courier"
sz% = 10
coulsiz% = ((B%*256+G%)*256+R%)*256 + sz%      : ' <====== R, G, B en integer, ajout de sz%




txt$=mid$(a$,1,1)

y% = y% + 45
x%=200


' Préparation impression de txt$

  res% = DLL_call6("PrinterPrintText",adr(txt$),adr(pol$),adr(attr$),coulsiz%,adr(x%),adr(y%))
  
txt$=mid$(a$,2,30)
  
x%=250

  res% = DLL_call6("PrinterPrintText",adr(txt$),adr(pol$),adr(attr$),coulsiz%,adr(x%),adr(y%))

 
 
txt$=ltrim$(mid$(a$,32,15))

x%=800

  res% = DLL_call6("PrinterPrintText",adr(txt$),adr(pol$),adr(attr$),coulsiz%,adr(x%),adr(y%))
  
  
end_while

' Clôture et lancement impression
res% = DLL_call4("PrinterManager",3,ADR(phnd%),ADR(chnd%),0): ' fermer et imprimer

TERMINATE

Bonsoir Klaus.

Voila un morceau de code, qui fait voir qu'avant la ligne aperçu%, j'ai mis les lignes de police et de taille, et meme dans ce cas

 la taille reste minuscule.

J’espère que tu pourras comprendre un peu mieux ma demande

Bonne soirée
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF.dll Bug ou pas ? - Page 2 Empty
MessageSujet: Re: KGF.dll Bug ou pas ?   KGF.dll Bug ou pas ? - Page 2 EmptyDim 5 Déc 2021 - 1:16

Plusueurs remarques:

1. c'est juste un extrait d''un ensemble plus grand. Il manque les objets, les variables, le fichier utilisé etc.
Il est très difficile de dire quelque chose sans pouvoir executer.
J'ai donc tenté de créer artificiellement ce qui manque pour pouvoir tester.

2. Tu utilises une variable text$ qui utilise un mot réservé en Panoramic. Toléré en interprétation, mais pas en compilation. Pratique à éviter absolument. Voici la ligne:
Code:
txt$= text$(53) : ' titre ***

3. La ligne
Code:
res% = DLL_call6("PrinterPrintText",ADR(txt$),ADR(pol$),ADR(attr$),[b]clsz%[/b],ADR(x%),ADR(y%))
utilise une variable clsz% dont je ne vois pas l'initialisation. Ne serait-ce pas plutôt coulsize% qui serait approprié ici ? En tout cas, si clsz% contient une valeur invalide (0 par exemple), pas étonnant alors que l'impression soit "petite" pisque par défaut, l'imprimante utilise alors la plus petite taille pour la police ce qui, en général, est 8...

4. Tout au début, tu as:
Code:
[b]coulsiz%[/b] = ((B%*256+G%)*256+R%)*256 + sz%      : ' <====== R, G, B en integer, ajout de sz%

' **** Apercu de l'impression ***

apercu% = DLL_call1("MetaPrinterMode",1)

Or, lorsque tu commences à utiliser vraiment l'imprimante, tu utilises la mauvaise variable:
Code:
res% = DLL_call6("PrinterPrintText",ADR(txt$),ADR(pol$),ADR(attr$),[b]clsz%[/b],ADR(x%),ADR(y%))

Et un peu plus loin, tu redéfinis cette variable avec une taille 10 (ce qui n'est pas grand du tout):
Code:
pol$ = "Courier"
sz% = 10
[b]coulsiz%[/b] = ((B%*256+G%)*256+R%)*256 + sz%      : ' <====== R, G, B en integer, ajout de sz%

Regarde bien ce que j'ai fait pour au moins "tenter" de faire quelque chose:
Code:
dim attr$, pol$, coulsiz%, apercu%, s$, a$, x%, txt$
dim y%, sz%, res%, R%, G%, B%, f$, phnd%, chnd%, text$
dim clsz%
phnd% = 0
chnd% = 0
label retour
dll_on "KGF.dll"

' impression:

attr$ = "BAXAY": ' gras, positionnement en absolu

R% = 0: G% = 255: B% = 0    : ' <===== en integer !
pol$ = "Arial"
sz% = 12
coulsiz% = ((B%*256+G%)*256+R%)*256 + sz%      : ' <====== R, G, B en integer, ajout de sz%

' **** Apercu de l'impression ***

apercu% = DLL_call1("MetaPrinterMode",1)

' **************************************

' f$=dir_current$+"\"+text$ (51)
 f$=dir_current$+"\"+"MonImpression.dat"
    file_open_write 1,f$
    file_writeln 1,"Une ligne de test"
    file_close 1
 
 if file_exists (f$) =0
    message "Le fichier n'existe pas: "+f$ +chr$(13)+chr$(10)+dir_current$
    goto retour
 end_if
' a$=text$(53)
a$="test d'impression"
if a$=""
  message "il faut saisir un titre"
  goto retour
end_if
   
' Initialisation impression pour Titre *******************


 
  res% = DLL_call4("PrinterManager",1,ADR(phnd%),ADR(chnd%),0) : ' init imprimante
 
' *********************************************
'  ***********  Titre ********************
' **************************************

' txt$= text$(53) : ' titre ***
text$ = "abcdef"

x%=600
 
res% = DLL_CALL6("PrinterFunction",8,ADR(phnd%),ADR(chnd%),9,0,0)
 
clsz% = coulsiz%
res% = DLL_call6("PrinterPrintText",ADR(txt$),ADR(pol$),ADR(attr$),clsz%,ADR(x%),ADR(y%))
 

file_open_read 1,f$
x% = 250: y% = 200              : ' <======= initialiser le positionnement ici, hors de la boucle !

while file_eof(1) <> 1
file_readln 1, a$

attr$ = "BAXAY": ' gras, positionnement en absolu
R% = 0: G% = 255: B% = 0    : ' <===== en integer !
' clsz% = cl% + sz%        : ' <====== ????????? inutile, pas utilisé !
' x% = 250: y% = 200      <======= ne pas réinitialiser ici !
pol$ = "Courier"
sz% = 10
coulsiz% = ((B%*256+G%)*256+R%)*256 + sz%      : ' <====== R, G, B en integer, ajout de sz%




txt$=mid$(a$,1,1)

y% = y% + 45
x%=200


' Préparation impression de txt$

  res% = DLL_call6("PrinterPrintText",adr(txt$),adr(pol$),adr(attr$),coulsiz%,adr(x%),adr(y%))
 
txt$=mid$(a$,2,30)
 
x%=250

  res% = DLL_call6("PrinterPrintText",adr(txt$),adr(pol$),adr(attr$),coulsiz%,adr(x%),adr(y%))

 
 
txt$=ltrim$(mid$(a$,32,15))

x%=800

  res% = DLL_call6("PrinterPrintText",adr(txt$),adr(pol$),adr(attr$),coulsiz%,adr(x%),adr(y%))
 
 
end_while

' Clôture et lancement impression
res% = DLL_call4("PrinterManager",3,ADR(phnd%),ADR(chnd%),0): ' fermer et imprimer
retour:
TERMINATE

Et ce n'est pas parfait, car on n'imprime rien...

La prochaine fois, crée un petit extrait OPERATIONNEL de ton programme de sorte que je puisse tester sans avoir un monstre de code à parcourir. Juste de quoi mettre le problème en évidence. Mais enfin, tu as quelques pistes, maintenant.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
lepetitmarocain




Nombre de messages : 333
Age : 81
Localisation : Région Parisienne (à mon grand désespoir)
Date d'inscription : 04/07/2018

KGF.dll Bug ou pas ? - Page 2 Empty
MessageSujet: Re: KGF.dll Bug ou pas ?   KGF.dll Bug ou pas ? - Page 2 EmptyDim 5 Déc 2021 - 18:15

Bonsoir Klaus.

Comme c'est toujours la même chose pour l'impression, j'envoie le programme et le fichier.

Lorsqu'il y a en service la ligne

apercu% = DLL_call1("MetaPrinterMode",1)

l'aperçu se fait, mais a visualiser avec des jumelles, et même l'impression à partir ce cette visu est très petite

Si on enlève cette ligne,  l'impression se fait normalement avec la bonne police.

je joins également un fichier que tu pourras appeler comme tu veux, et c'est ce nom qu'il faudra saisir en début de programme.

(je le joins en code, car je ne sais pas comment faire pour joindre un fichier: à créer avec Bloc Notes)

Le titre bien entendu importe peu.

Merci de ton implication

Bonne soirée

Code:


' ************************************************************

' ********************  Impression     ****************

' *************************************************************

DIM dll$, res%, phnd%, chnd%, txt$, pol$, sz%, attr$, cl%, clsz%, x%, y%, R%, G%, B% ,toto$  , fichier$ , titre$    : ' R, G, B en integer !
dim passage  ,f$ , coulsiz% , mvts_txt$ , longueur_libelle, blancs  
dim  apercu%
dll$ = "KGF.dll"
label final

label impression

 label retour
DLL_ON dll$

dim a$
 
  retour:
  passage=passage+1
 if passage=1
 alpha 50
 top 50,50
 caption 50, "Saisir le nom du fichier "
 color 50 ,0,224,255
 font_size 50, 15
 
 edit 51
 top 51,50
 left 51,350
 height 51, 30
 
 alpha 52
 top 52,150
 caption 52, "Saisir le Titre "
 color 52 ,160,160,255
 font_size 52, 15
 
 edit 53
 top 53,150
 left 53,350
 height 53, 30
 
 button 55
 top 55,250
 left 55,400
 caption 55, "Impression
 on_click 55, impression
 
 button 56
 top 56,250
 left 56,200
 caption 56 ,"Fin"
 on_click 56 , final
end_if

end

  impression:

    attr$ = "BAXAY": ' gras, positionnement en absolu

    R% = 0: G% = 255: B% = 0    : ' <===== en integer !
    pol$ = "Arial"
    sz% = 12
    coulsiz% = ((B%*256+G%)*256+R%)*256 + sz%      : ' <====== R, G, B en integer, ajout de sz%

    ' **** Apercu de l'impression ***

   apercu% = DLL_call1("MetaPrinterMode",1)

    ' **************************************

     f$=dir_current$+"\"+text$ (51)
    
    
     if file_exists (f$) =0
        message "Le fichier n'existe pas: "+f$ +chr$(13)+chr$(10)+dir_current$
        goto retour
     end_if
     a$=text$(53)
    
    
    
    if a$=""
      message "il faut saisir un titre"
      goto retour
    end_if
      
    ' Initialisation impression pour Titre *******************


    
      res% = DLL_call4("PrinterManager",1,ADR(phnd%),ADR(chnd%),0) : ' init imprimante
    
    ' *********************************************
    '  ***********  Titre ********************
    ' **************************************

     txt$= text$(53) : ' titre ***
    

    x%=600
    
    res% = DLL_CALL6("PrinterFunction",8,ADR(phnd%),ADR(chnd%),9,0,0)
    
    clsz% = coulsiz%
    res% = DLL_call6("PrinterPrintText",ADR(txt$),ADR(pol$),ADR(attr$),clsz%,ADR(x%),ADR(y%))
    

    file_open_read 1,f$
    x% = 250: y% = 200              : ' <======= initialiser le positionnement ici, hors de la boucle !

    while file_eof(1) <> 1
    file_readln 1, a$

    attr$ = "BAXAY": ' gras, positionnement en absolu
    R% = 0: G% = 255: B% = 0    : ' <===== en integer !
    ' clsz% = cl% + sz%        : ' <====== ????????? inutile, pas utilisé !
    ' x% = 250: y% = 200      <======= ne pas réinitialiser ici !
    pol$ = "Courier"
    sz% = 10
    coulsiz% = ((B%*256+G%)*256+R%)*256 + sz%      : ' <====== R, G, B en integer, ajout de sz%




    txt$=mid$(a$,1,1)

    y% = y% + 45
    x%=200


    ' Préparation impression de txt$

      res% = DLL_call6("PrinterPrintText",adr(txt$),adr(pol$),adr(attr$),coulsiz%,adr(x%),adr(y%))
    
    txt$=mid$(a$,2,30)
    
    x%=250

      res% = DLL_call6("PrinterPrintText",adr(txt$),adr(pol$),adr(attr$),coulsiz%,adr(x%),adr(y%))

    
    
    txt$=ltrim$(mid$(a$,32,15))

    x%=800

      res% = DLL_call6("PrinterPrintText",adr(txt$),adr(pol$),adr(attr$),coulsiz%,adr(x%),adr(y%))
    
    
    end_while

    ' Clôture et lancement impression
    res% = DLL_call4("PrinterManager",3,ADR(phnd%),ADR(chnd%),0): ' fermer et imprimer
    
    TERMINATE

end

final:
terminate
end




Code:






CGaz Total Spring(01/08)                 95.00111111110000
CTaxe Habitation                         41.00111111111100
CPoste                                   50.00111111111111
CPredica                                152.45111111111111
CTaxe Fonciere                          144.00111111111111
CElectricité Total Spring (01/08)        35.00111111111111
CMutuelle                               227.10111111110000
CFree                                    38.96111111111111
CAveugle                                 10.00111111111111
CAssurance Credit Agricole                6.46111111111111
CAssurance Carrefour                      4.35111111111111
CLe Parisien                             28.90111111111111
Cscience avenir                           5.00111111111111
Cmedecins sans frontieres                 7.00111111111111
                                            
                                            
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF.dll Bug ou pas ? - Page 2 Empty
MessageSujet: Re: KGF.dll Bug ou pas ?   KGF.dll Bug ou pas ? - Page 2 EmptyDim 5 Déc 2021 - 20:16

Ok. Je vais regarder cela.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
lepetitmarocain




Nombre de messages : 333
Age : 81
Localisation : Région Parisienne (à mon grand désespoir)
Date d'inscription : 04/07/2018

KGF.dll Bug ou pas ? - Page 2 Empty
MessageSujet: Re: KGF.dll Bug ou pas ?   KGF.dll Bug ou pas ? - Page 2 EmptyJeu 9 Déc 2021 - 19:18

Bonsoir Klaus.

As tu pu regarder STP le problème concernant cette commande de la DLL

apercu% = DLL_call1("MetaPrinterMode",1)

Merci pour ta réponse

Bonne soirée
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF.dll Bug ou pas ? - Page 2 Empty
MessageSujet: Re: KGF.dll Bug ou pas ?   KGF.dll Bug ou pas ? - Page 2 EmptyVen 10 Déc 2021 - 0:25

Oui, je regarde - je n'ai pas oublié. Simplement, en ce moment, j'ai une "petite" surcharge ur le plan peronnel, mais ça va passer. Patience...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
lepetitmarocain




Nombre de messages : 333
Age : 81
Localisation : Région Parisienne (à mon grand désespoir)
Date d'inscription : 04/07/2018

KGF.dll Bug ou pas ? - Page 2 Empty
MessageSujet: Re: KGF.dll Bug ou pas ?   KGF.dll Bug ou pas ? - Page 2 EmptyLun 21 Fév 2022 - 9:53

Bonjour à tous.
Klauss comme tu as fait des modifs, as tu pu regarder STP le problème concernant cette commande de la DLL

apercu% = DLL_call1("MetaPrinterMode",1).

Je voudrais imprimer un autre fichier, mais je ne voudrais pas dépenser du papier lors des tests

Merci par avance.
Bonne journée
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF.dll Bug ou pas ? - Page 2 Empty
MessageSujet: Re: KGF.dll Bug ou pas ?   KGF.dll Bug ou pas ? - Page 2 EmptyLun 21 Fév 2022 - 11:22

Oui. Je n'en suis pas encore tout à fait sûr, mais il est probable que les unités d'un méta-fichier n'ont rien à voir avec les unités d'une page physique sur une imprimante. Je pense que ce mode d'aperçu n'est pas vraiment opérant...

Je te conseille d'imprimer dans un PDF ce qui te permet de visualisze à loisir, aux bonnes dimensions? C'est ce que je fais. Pour ma par, j'utilise une imprimante virtuelle produisant un PDF, et c'est gratuit:
https://pdfcreator.fr/
Ainsi, l'impression dans un PDF sera dispinible partout. Vu par Windows, c'est juste unen imprimante comme une autre.

Avec ce logiciel, un outil PDFArchitect sera également livré, mais il ne sert à rien dans ce context.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
lepetitmarocain




Nombre de messages : 333
Age : 81
Localisation : Région Parisienne (à mon grand désespoir)
Date d'inscription : 04/07/2018

KGF.dll Bug ou pas ? - Page 2 Empty
MessageSujet: Re: KGF.dll Bug ou pas ?   KGF.dll Bug ou pas ? - Page 2 EmptySam 26 Fév 2022 - 10:09

Bonjour à tous.
Merci Klaus pour ta réponse.
Je vais faire comme tu préconises.
C'est vrai qu'en test on dépense beaucoup de papier.
Bonne journée
Revenir en haut Aller en bas
Contenu sponsorisé





KGF.dll Bug ou pas ? - Page 2 Empty
MessageSujet: Re: KGF.dll Bug ou pas ?   KGF.dll Bug ou pas ? - Page 2 Empty

Revenir en haut Aller en bas
 
KGF.dll Bug ou pas ?
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2

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: