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.
Impression d'un fichier txt Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Impression d'un fichier txt Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Impression d'un fichier txt Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Impression d'un fichier txt Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Impression d'un fichier txt Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Impression d'un fichier txt Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Impression d'un fichier txt Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Impression d'un fichier txt Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Impression d'un fichier txt Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Impression d'un fichier txt Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Impression d'un fichier txt Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Impression d'un fichier txt Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Impression d'un fichier txt Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Impression d'un fichier txt Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Impression d'un fichier txt 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

 

 Impression d'un fichier txt

Aller en bas 
3 participants
AuteurMessage
lepetitmarocain




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

Impression d'un fichier txt Empty
MessageSujet: Impression d'un fichier txt   Impression d'un fichier txt EmptyLun 28 Déc 2020 - 17:08

Bonjour à tous.

Je dois faire une impression d'un fichier txt.

Comme tout le monde le sait, dans un fichier txt, les caractères ne sont pas égaux en largeur avec les espaces.

Cela fait que dans mon fichier c'est de cette manière, et cela me va très bien pour relire.

Loyer du mois                           150.00
electricite                            40.00
salaire                            9200.00

Donc si j'imprime (je passe par KGF.DLL) cela fait la même chose sur le papier.

Je pense que quelqu'un a déjà imprimé ce genre de fichier, et je voudrais savoir comment faire pour aligner les chiffres par exemple.

J'ai essayé en faisant de trim$ pour supprimer les blancs, mais rien n'y fait.

je demande donc de l'aide, mais pas urgent bien entendu.

Bonne soirée à tous
Revenir en haut Aller en bas
Klaus

Klaus


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

Impression d'un fichier txt Empty
MessageSujet: Re: Impression d'un fichier txt   Impression d'un fichier txt EmptyLun 28 Déc 2020 - 17:34

C'est tout simple. Cela ne dépend pas des blancs. Ne tente pas de positionner le texte avec des espaces. Utilise plutôt une police de caractères à pas fixe, comme par exemple:

BatangChe
Consolas
Courier
Courier New
DFKai-SB
DotunChe
GulimChe
GungSahChe
KaiTi
Lucida Console
MingLiU
MS Gothic
MS MinChe
NSimSun
SimHei
Simplified Arabic Fixed
SimSun
SimSun-ExtB

Il y en a plein d'autres.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
lepetitmarocain




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

Impression d'un fichier txt Empty
MessageSujet: Re: Impression d'un fichier txt   Impression d'un fichier txt EmptyLun 28 Déc 2020 - 22:53

Bonsoir à tous.
@Klaus.
Merci beaucoup pour ton intervention.
J'ai pris une des polices et l'impression est propre.
Bonne nuit
Revenir en haut Aller en bas
pascal10000

pascal10000


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

Impression d'un fichier txt Empty
MessageSujet: Re: Impression d'un fichier txt   Impression d'un fichier txt EmptyMar 29 Déc 2020 - 14:31

bonjour

Le mieux encore au lieu d'utilisé des espace
tu peut utilisé la flèche de ton clavier

Impression d'un fichier txt Sans_t16

ce sera mieu mais bon c'est comme tu veut
Revenir en haut Aller en bas
Klaus

Klaus


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

Impression d'un fichier txt Empty
MessageSujet: Re: Impression d'un fichier txt   Impression d'un fichier txt EmptyMar 29 Déc 2020 - 17:36

Citation :
tu peut utilisé la flèche de ton clavier
Il s'agit de la touche de tabulation. Là, ça dépend du driver. Souvent, le caractère TAB (ctrl/I ou chr$(9)) est traduit en un nombre d'espaces nécessaire pour passer au prochain multiple de 8 caractères. Et avec une police proportionnelle, on est marron quand-même. En plus, en fonction de la longueur du texte à gauche avant le TAB, il faut mettre 1 TAB, 2 TABs ou plus pour atteindre la colonne souhaitée, comme ici:
Code:
123456789012<TAB>12
34<TAB>56
Tu verras que le 56 n'est pas en-dessous du 12...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
pascal10000

pascal10000


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

Impression d'un fichier txt Empty
MessageSujet: Re: Impression d'un fichier txt   Impression d'un fichier txt EmptyMar 29 Déc 2020 - 18:40

bsr
ok klaus je ne savais pas
malgré cela dans son exemple les chiffres s'aligne bien
Revenir en haut Aller en bas
Klaus

Klaus


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

Impression d'un fichier txt Empty
MessageSujet: Re: Impression d'un fichier txt   Impression d'un fichier txt EmptyMer 30 Déc 2020 - 0:32

Citation :
malgré cela dans son exemple les chiffres s'aligne bien
Ah bon, tu crois ça ? Regarde le code suivant:
Code:
memo 1 : full_space 1 : bar_both 1
print_target_is 1
print "Loyer du mois"+chr$(9)+"150.00"
print "electricité"+chr$(9)+"40.00"
print "salaire"+chr$(9)+"9200.00"
et le résultat:
Impression d'un fichier txt Aa149

Tu vois bien que cela dépend de la longueur du texte qui précède la tabulation.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
pascal10000

pascal10000


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

Impression d'un fichier txt Empty
MessageSujet: Re: Impression d'un fichier txt   Impression d'un fichier txt EmptyMer 30 Déc 2020 - 3:30

oui tu as raison je retire ce que j'ai dit
parce que j'ai directement utilisé blocknote
au lieu de prendre un objet panoramic
Revenir en haut Aller en bas
Klaus

Klaus


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

Impression d'un fichier txt Empty
MessageSujet: Re: Impression d'un fichier txt   Impression d'un fichier txt EmptyMer 30 Déc 2020 - 12:43

Selon la cible d'impression, le TAB est même ignoré:
Code:
picture 1 : full_space 1
print_target_is 1
print "Loyer du mois"+chr$(9)+"150.00"
print "electricité"+chr$(9)+"40.00"
print "salaire"+chr$(9)+"9200.00"
produit:
Impression d'un fichier txt Aa150

La bonne façon consiste à utiliser une police à pas fixe, la commande PRINT_LOCATE pour le positionnement direct en pixels, et de faire précéder du nombre d'espaces necessaires pour ma justification à droite (des montants, par exemple), et idem pour le cadrage à gauche, de la manière suivante:
Code:

 memo 1 : full_space 1 : bar_both 1
' picture 1 : full_space 1
print_target_is 1
font_name 1,"Courier"
print "Loyer du mois"+chr$(9)+"150.00"
print "electricité"+chr$(9)+"40.00"
print "salaire"+chr$(9)+"9200.00"

print "|"+CadrerAGauche$("Loyer du mois",15)+"|"+CadrerADroite$(150,15)+"|"
print "|"+CadrerAGauche$("electricité",15)+"|"+CadrerADroite$(40,15)+"|"
print "|"+CadrerAGauche$("salaire",15)+"|"+CadrerADroite$(9200,15)+"|"

end

fnc CadrerADroite$(valeur,LargeurColonne%)
result right$(string$(LargeurColonne%," ") + str$(valeur),LargeurColonne%)
end_fnc
fnc CadrerAGauche$(txt$,LargeurColonne%)
result left$(txt$+string$(LargeurColonne%," "),LargeurColonne%)
end_fnc
Voici le résultat:
Impression d'un fichier txt Aa220

De la même manière, on peut forcer l'affichage avec 2 décimales, 3 décimales ou un nombre choisi quelconque, en reformattant le nombre par une fonction à laquelle on passe la valeur et le nombre de décimales voulues.

EDIT

Le même raisonnement s'applique bien sûr lors de l'impression sur une imprimante physique ou dans in fichier PDF (via KGF.dll), ou pour l'écriture dans un fichier texte, sauf que dans ce dernier cas, la police est ignorée. Cela devient plus complexe pour l'impression dans un fichier RTF.

Pour imprimer du texte avec des attributs graphiques, polices et couleurs variées, le plus simple est d'utiliser un objet PICTURE, imprimer dans ce picture selon les méthodes décrites ci-dessus, puis enregistrer le picture sur disque par la commande FILE_SAVE.
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

Impression d'un fichier txt Empty
MessageSujet: Re: Impression d'un fichier txt   Impression d'un fichier txt EmptyMer 30 Déc 2020 - 15:47

Et voici une version de la démo précédente, avec une représentation des valeurs numériques à deux décimales, quelque soit le nombre de décimales présentes dans la valeur initiale, le tout cadré à droite:
Code:

 memo 1 : full_space 1 : bar_both 1
' picture 1 : full_space 1
print_target_is 1
font_name 1,"Courier"
print "Loyer du mois"+chr$(9)+"150.00"
print "electricité"+chr$(9)+"40.00"
print "salaire"+chr$(9)+"9200.00"

print "|"+CadrerAGauche$("Loyer du mois",15)+"|"+CadrerADroite$(ForcerDecimales$(150,2),15)+"|"
print "|"+CadrerAGauche$("electricité",15)+"|"+CadrerADroite$(ForcerDecimales$(40.2,2),15)+"|"
print "|"+CadrerAGauche$("salaire",15)+"|"+CadrerADroite$(ForcerDecimales$(9200.123,2),15)+"|"

end

fnc CadrerADroite$(txt$,LargeurColonne%)
result right$(string$(LargeurColonne%," ") + txt$,LargeurColonne%)
end_fnc

fnc CadrerAGauche$(txt$,LargeurColonne%)
result left$(txt$+string$(LargeurColonne%," "),LargeurColonne%)
end_fnc

fnc ForcerDecimales$(valeur,NombreDecimales%)
  dim_local v$, p%
  v$ = str$(valeur)
  p% = instr(v$,".")
  if p%>0 then v$ = left$(v$,p%-1)+","+mid$(v$,p%+1,len(v$))
  if instr(v$,",")=0 then v$ = v$ + ","
  v$ = v$ + string$(NombreDecimales%,"0")
  p% = instr(v$,",")
  result left$(v$,p%+NombreDecimales%)
end_fnc
Résultat d'impression dans un mémo:
Impression d'un fichier txt Aa151

et:
Code:

' memo 1 : full_space 1 : bar_both 1
picture 1 : full_space 1
print_target_is 1
font_name 1,"Courier"
print "Loyer du mois"+chr$(9)+"150.00"
print "electricité"+chr$(9)+"40.00"
print "salaire"+chr$(9)+"9200.00"

print "|"+CadrerAGauche$("Loyer du mois",15)+"|"+CadrerADroite$(ForcerDecimales$(150,2),15)+"|"
print "|"+CadrerAGauche$("electricité",15)+"|"+CadrerADroite$(ForcerDecimales$(40.2,2),15)+"|"
print "|"+CadrerAGauche$("salaire",15)+"|"+CadrerADroite$(ForcerDecimales$(9200.123,2),15)+"|"

end

fnc CadrerADroite$(txt$,LargeurColonne%)
result right$(string$(LargeurColonne%," ") + txt$,LargeurColonne%)
end_fnc

fnc CadrerAGauche$(txt$,LargeurColonne%)
result left$(txt$+string$(LargeurColonne%," "),LargeurColonne%)
end_fnc

fnc ForcerDecimales$(valeur,NombreDecimales%)
  dim_local v$, p%
  v$ = str$(valeur)
  p% = instr(v$,".")
  if p%>0 then v$ = left$(v$,p%-1)+","+mid$(v$,p%+1,len(v$))
  if instr(v$,",")=0 then v$ = v$ + ","
  v$ = v$ + string$(NombreDecimales%,"0")
  p% = instr(v$,",")
  result left$(v$,p%+NombreDecimales%)
end_fnc
Résultat d'impression dans un picture:
Impression d'un fichier txt Aa221

Je pense que c'est complet, non ?
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

Impression d'un fichier txt Empty
MessageSujet: Re: Impression d'un fichier txt   Impression d'un fichier txt EmptyJeu 31 Déc 2020 - 0:39

Et voici une fonction supplémentaire effectuant l'arrondi sur le nombre de déccimales voulus. Cette fonction est appliquée sur la valeur à 3 dimensions, pour montrer la différence par rapport à la fonction "simple" sans arrondi:
Code:

' memo 1 : full_space 1 : bar_both 1
picture 1 : full_space 1
print_target_is 1
font_name 1,"Courier"
print "Loyer du mois"+chr$(9)+"150.00"
print "electricité"+chr$(9)+"40.00"
print "salaire"+chr$(9)+"9200.125"

print "|"+CadrerAGauche$("Loyer du mois",15)+"|"+CadrerADroite$(ForcerDecimales$(150,2),15)+"|"
print "|"+CadrerAGauche$("electricité",15)+"|"+CadrerADroite$(ForcerDecimales$(40.2,2),15)+"|"
print "|"+CadrerAGauche$("salaire",15)+"|"+CadrerADroite$(ForcerDecimales$(9200.125,2),15)+"|"
print "|"+CadrerAGauche$("salaire arrondi",15)+"|"+CadrerADroite$(ForcerDecimalesAvecArrondi$(9200.125,2),15)+"|"

end

fnc CadrerADroite$(txt$,LargeurColonne%)
result right$(string$(LargeurColonne%," ") + txt$,LargeurColonne%)
end_fnc

fnc CadrerAGauche$(txt$,LargeurColonne%)
result left$(txt$+string$(LargeurColonne%," "),LargeurColonne%)
end_fnc

fnc ForcerDecimales$(valeur,NombreDecimales%)
  dim_local v$, p%
  v$ = str$(valeur)
  p% = instr(v$,".")
  if p%>0 then v$ = left$(v$,p%-1)+","+mid$(v$,p%+1,len(v$))
  if instr(v$,",")=0 then v$ = v$ + ","
  v$ = v$ + string$(NombreDecimales%,"0")
  p% = instr(v$,",")
  result left$(v$,p%+NombreDecimales%)
end_fnc

fnc ForcerDecimalesAvecArrondi$(valeur,NombreDecimales%)
  dim_local v$, p%
  v$ = str$(valeur+val("0."+string$(NombreDecimales%,"0")+"5"))
  p% = instr(v$,".")
  if p%>0 then v$ = left$(v$,p%-1)+","+mid$(v$,p%+1,len(v$))
  if instr(v$,",")=0 then v$ = v$ + ","
  v$ = v$ + string$(NombreDecimales%,"0")
  p% = instr(v$,",")
  result left$(v$,p%+NombreDecimales%)
end_fnc
Et ça donne ceci:
Impression d'un fichier txt Aa152
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Impression d'un fichier txt Empty
MessageSujet: Re: Impression d'un fichier txt   Impression d'un fichier txt Empty

Revenir en haut Aller en bas
 
Impression d'un fichier txt
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment reconvertir un fichier exe Panoramic en fichier BAS
» le processus ne peut pas accéder au fichier car ce fichier..
» Convertir un fichier BAS panoramic en fichier EXE
» probleme d'impression.
» impression

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: