Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Allineamento di numeri in una tabella.

56 views
Skip to first unread message

john

unread,
May 15, 2012, 2:58:41 PM5/15/12
to
Salve,
sto stampando delle piccole tabelle 4 righe x 6 col di punteggi e li in
una RichTextBox tramite un RTB.Appendtext. Uso il Format(xxx,"#000.00 ")
che mi funziona benissimo, se non fosse che mi scocciano gli zeri
davanti alla virgola, nel caso ad esempio di 4.55 mi diventa 004.55. Del
resto č cosě che funziona il format. Ma almeno stanno in colonna.

se invece uso Format(xxx, "###0.00) allora, giustamente, mi stampa 4.55,
perň mi perdo l'allineamento. Ovviamente.
Non esiste un metodo per 'forzare uno spazio' nel caso si abbia solo un
numero prima della virgola, in modo che il tutto resti allineato ??
Qual'č l'alternativa a # ??

Mauro Servienti [MVP]

unread,
May 15, 2012, 3:48:42 PM5/15/12
to
Ciao john,

You wrote on 15/05/2012 :
> Salve,
> sto stampando delle piccole tabelle 4 righe x 6 col di punteggi e li in una
> RichTextBox tramite un RTB.Appendtext. Uso il Format(xxx,"#000.00 ") che mi
> funziona benissimo, se non fosse che mi scocciano gli zeri davanti alla
> virgola, nel caso ad esempio di 4.55 mi diventa 004.55. Del resto è così che
> funziona il format. Ma almeno stanno in colonna.
>
> se invece uso Format(xxx, "###0.00) allora, giustamente, mi stampa 4.55, però
> mi perdo l'allineamento. Ovviamente.
> Non esiste un metodo per 'forzare uno spazio' nel caso si abbia solo un
> numero prima della virgola, in modo che il tutto resti allineato ?? Qual'è
> l'alternativa a # ??

oltre a ipotizzare di cambiare il sistema di stampa passando da RTB a
qualcosa che supporti la formattazione, potresti usare PadLeft e
PadRight della classe String per aggiungere i caratteri che ti
interessa a destra o sinistra.

.m

--
blog @ //milestone.topics.it


john

unread,
May 15, 2012, 6:14:04 PM5/15/12
to
On 15.05.2012 21:48, Mauro Servienti [MVP] wrote:

> oltre a ipotizzare di cambiare il sistema di stampa passando da RTB a
> qualcosa che supporti la formattazione, potresti usare PadLeft e
> PadRight della classe String per aggiungere i caratteri che ti interessa
> a destra o sinistra.
>

URCA è vero. Mi ero dimenticato che esistevano (PadLeft e PadRight).

Non dovrei andare troppo a lungo in vacanza alla mia età.....l'Alzheimer
è sempre in agguato...

john

unread,
May 16, 2012, 2:29:03 AM5/16/12
to
On 16.05.2012 00:14, john wrote:
> On 15.05.2012 21:48, Mauro Servienti [MVP] wrote:
>
>> oltre a ipotizzare di cambiare il sistema di stampa passando da RTB a
>> qualcosa che supporti la formattazione, potresti usare PadLeft e
>> PadRight della classe String per aggiungere i caratteri che ti interessa
>> a destra o sinistra.
>>
Giusto ch4e siamo in argomento, quali sono le alternative alla
RichTextBox per stampare delle pagine con Tabelle ?

Il Crystal Report non l'ho mai usato, e presumo che nella versione
Express (VB 2010 Express) non sia nemmeno presente.

Non conosco altre alternative per poter stampare su un oggetto (che poi
posso stampare su carta) altro che l'opzione Savefile della RichTextBox.

Col VB6 potevo almeno rompermi la testa con Printer.print per formattare
un output, ma perlomeno alla fine ci riuscivo.

Esiste una cosa simile in .NET ? Qualcuno aveva detto che la classe
Printer esiste anche in .NET, ma da .NET mi aspettavo qualcosa di più
evoluto. (almno che permetta di scrivere una rinea senza prima essere
obbligato a fare il conteggio dei punti dei font per poter allineare le
scritte). Esiste ?

Mauro Servienti [MVP]

unread,
May 17, 2012, 12:58:28 AM5/17/12
to
Ciao john,

You wrote on 16/05/2012 :
> Esiste una cosa simile in .NET ? Qualcuno aveva detto che la classe Printer
> esiste anche in .NET, ma da .NET mi aspettavo qualcosa di più evoluto. (almno
> che permetta di scrivere una rinea senza prima essere obbligato a fare il
> conteggio dei punti dei font per poter allineare le scritte). Esiste ?

oltre ai vari strumenti di stampa, che nelle express non ci sono, anche
in .net puoi fare tutto a mano:

System.Drawing.Printing.PrintDocument
0 new messages