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
» Gestion d'un système client-serveur.
Impression d'un fichier txt Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Impression d'un fichier txt Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Impression d'un fichier txt Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Impression d'un fichier txt Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Impression d'un fichier txt Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Impression d'un fichier txt Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Impression d'un fichier txt Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Impression d'un fichier txt Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Impression d'un fichier txt Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Impression d'un fichier txt Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Impression d'un fichier txt Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Impression d'un fichier txt Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Impression d'un fichier txt Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Impression d'un fichier txt Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Impression d'un fichier txt Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-14%
Le deal à ne pas rater :
Apple MacBook Air (2020) 13,3″ Puce Apple M1 – RAM 8Go/SSD 256Go
799 € 930 €
Voir le deal

 

 Impression d'un fichier txt

Aller en bas 
3 participants
AuteurMessage
lepetitmarocain




Nombre de messages : 335
Age : 81
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 : 12301
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 : 335
Age : 81
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 : 12301
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 : 12301
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 : 12301
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 : 12301
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 : 12301
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
-
» le processus ne peut pas accéder au fichier car ce fichier..
» Comment reconvertir un fichier exe Panoramic en fichier BAS
» Convertir un fichier BAS panoramic en fichier EXE
» 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: