Newsgroup: it.comp.lang.delphi
Titolo: Campo negativo senza segno

Vorrei che una colonna di un DBGrid mostrasse il segno meno se il valore 
nella colonna è negativo, ma per qualche ragione non succede.
Il campo in questione (un campo quantità) non c'è sul dataset, ma è un campo 
'calcolato'  nell'evento OnCalcFields che metto negativo quando appropriato 
(ed è negativo, perchè l'ho verificato).
Non dovrebbe mostrare il segno - ?
 
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 


io uso:
    TnumericField(CDSwkbol.fieldbyname('QTA_BOL')).displayformat:='#,###.000';
    TnumericField(CDSmovcon.fieldbyname('impdare')).displayformat:='#,##0.00;#,##0.00;#,###.##;';
 
nella unit DB
 
ci sono tre sezioni :
To allow different formats for positive, negative, and zero values, the format string can contain between one and three sections
separated by semicolons.
 
One section: The format string applies to all values.
	Two sections: The first section applies to positive values and zeros, and the second section applies to negative values.
	Three sections: The first section applies to positive values, the second applies to negative values, and the third applies
to zeros. 
 
 
 

On Thu, 17 Mar 2016 21:56:42 +0100, 
eugenio...@outlook.com
 wrote:
 
Aspetta...non avevo letto bene.
forse con i campi calcolati non funziona
 

Aspetta...non avevo letto bene.
forse con i campi calcolati non funziona
----
Infatti penso anch'io, perchč avevo provato cosě..
Lo strano che ho un'altra colonna, questa definita currency (l'altra  č 
float), che invece mostra il segno meno quando č negativa. 
 
 
---
Questa e-mail č stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 

 float), che invece mostra il segno meno quando č negativa. 
 
Posta il modo in cui calcoli il valore.
 
 

Posta il modo in cui calcoli il valore.
---
Ho scoperto perchè. In effetti il campo calcolato è positivo o negativo, ma 
la colonna nel DBGrid è una e mappata sul campo del file. Quello che avrei 
dovuto fare era invece di usare alternativamente a seconda delle condizioni 
i due campi quantità (QtaV opuure QtaA) che sono calcolati così:
procedure TFormTitoli.MovimTableCalcFields(DataSet: TDataSet);
begin
  with MovimTable do begin
    if FieldByName('T_Mov').AsString = 'E' then begin
       MovimTableQTAA.Value    := FieldByName('QTA').AsFloat;
       MovimTableCOSTO.Value   := FieldByName('IMPORTO').AsCurrency;
    end else begin
       MovimTableQTAV.Value    := FieldByName('QTA').AsFloat*-1;
       MovimTableRICAVO.Value  := FieldByName('IMPORTO').AsCurrency*-1;
    end;
  end;
end;
Ora la domanda è un'altra. Si può alternativamente definire un campo o 
l'altro per la stessa colonne del DBGTrid ?
 
Nel file, il campo QTA (numerico 10,4) è sempre positivo. Il campo IMPORTO 
(numerico 13,2) può essere positivo o negativo, ma nel DBGrid lo mostro 
sempre positivo: Per questo lo moltiplico per -1, e infatti funziona. 
 
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 

 l'altro per la stessa colonne del DBGTrid ?
 
In che senso un campo o l'altro? Il campo e` trasversale a tutto il dataset.

 l'altro per la stessa colonne del DBGTrid ?
In che senso un campo o l'altro? Il campo e` trasversale a tutto il dataset.
---
Ha lo stesso effetto di *-1? Cioè se il numero è negativo, con il meno 
davanti diventa positivo ?
Per quanto concerne la quantità, quello che intendo è questo.: Nel DBGrid 
c'è una sola colonna quantità. In quella colonna vorrei che fosse mostrato 
il campo QtaV nel caso la transazione sia di un certo tipo, oppure il campo 
QtaA se è di un altro. 


 oppure il campo QtaA se è di un altro.
 
E cosa ti impedisce di farlo?
 
-- 
4ndre4
"The use of COBOL cripples the mind; its teaching should, therefore, be 
regarded as a criminal offense." (E. Dijkstra)
"Ora, questo "Delta11" non è nulla di più di uno scemo del villaggio" - 
http://tinyurl.com/z6y6gpd
 

 Cioè se il numero è negativo, con il meno davanti diventa positivo ?
 
ragazziiiiiiiiiiiiiiii, ma poi volete che non mi incazzi!
ma questa è la base. ma a sQuola non ve l'hanno insegnato?
INCREDIBILE E' ROBA DA PRIMA MEDIA!
Ai miei tempi sta roba si insegnava in prima media.
Ma che cazzo di programmi scrivete?
 
BAMBOCCIONI DELLA MADONNA....incredibile, incredibile e inconcepibile!
 
PAZZESCO!
 
-- 
Quando la dittatura è un dato di fatto, la rivoluzione diventa un diritto.
(Victor Hugo)
 
“L’intelligenza sa di essere libera, quali che siano le coercizioni 
esteriori.
Sa che la grandezza dell’Uomo è nel pensiero, e sa che c’è sempre
almeno un altro uomo che lo afferra e lo trasmette.”
(Ida Magli, Omaggio agli Italiani)

ragazziiiiiiiiiiiiiiii, ma poi volete che non mi incazzi!
ma questa è la base. ma a sQuola non ve l'hanno insegnato?
INCREDIBILE E' ROBA DA PRIMA MEDIA!
Ai miei tempi sta roba si insegnava in prima media.
Ma che cazzo di programmi scrivete?
BAMBOCCIONI DELLA MADONNA....incredibile, incredibile e inconcepibile!
PAZZESCO!
-- 
Ma cosa avete capito ! Non conoscevo la sintassi dell'istruzione, non la 
matematica. 


On 19/03/2016 14:30, Stark wrote:
 
[...]
Non raccogliere le provocazioni di quell'imbecille. E` un troll. Non 
fare il suo gioco, non rispondergli.


 le provocazioni di quell'imbecille.
 
invece stai a sentire quel CRETINO E IDIOTA TESTA DI CAZZO!


"Delta11"  ha scritto nel messaggio news:nck9ej$5ta$2...@dont-email.me... 
invece stai a sentire quel CRETINO E IDIOTA TESTA DI CAZZO!
-- 
Elegante ..


On 20/03/2016 10:22, Stark wrote:
 
[...]
Come detto, lascialo perdere. E` un troll che infesta un bel po' di 
gruppi. Guarda la mia firma ;)
 
Se puoi, non quotare mettendo un "--" prima del tuo testo. Per 
convenzione, e` un delimitatore per le firme, nei newsreader.


 Per convenzione, e` un delimitatore per le firme, nei newsreader.
 
sono certo che non lo sapeva! ...MA VAI A CAGAREEEEEEEEEEEEEE 
SCEMOOOOOOOOOOOOOOO!
