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
» bouton dans autre form que 0
Impression d'un fichier txt Emptypar Klaus Aujourd'hui à 12:43

» KGF_dll - nouvelles versions
Impression d'un fichier txt Emptypar Klaus Aujourd'hui à 11:41

» Gestion d'un système client-serveur.
Impression d'un fichier txt Emptypar Klaus Aujourd'hui à 10:23

» PANORAMIC V 1
Impression d'un fichier txt Emptypar papydall Sam 4 Mai 2024 - 3:43

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Impression d'un fichier txt Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

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

» trop de fichiers en cours
Impression d'un fichier txt Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Impression d'un fichier txt Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Impression d'un fichier txt Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Impression d'un fichier txt Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Impression d'un fichier txt Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Impression d'un fichier txt Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Impression d'un fichier txt Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Impression d'un fichier txt Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Impression d'un fichier txt Emptypar papydall Dim 21 Avr 2024 - 23:30

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 à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

 

 Impression d'un fichier txt

Aller en bas 
3 participants
AuteurMessage
lepetitmarocain




Nombre de messages : 334
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 : 12289
Age : 74
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 : 334
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 : 12289
Age : 74
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 : 12289
Age : 74
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 : 12289
Age : 74
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 : 12289
Age : 74
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 : 12289
Age : 74
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: