It is currently 10 December 2022, 4:44 Advanced search

TW: Separatore decimale

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

TW: Separatore decimale

Postby r.bianco » 17 December 2018, 7:51

Immagine.png
Immagine.png (6.13 KiB) Viewed 2711 times


Abbiamo questo fastidio con TW, in alcuni casi continua a mostrarci questa differenza. Chiedo:
1. Come è possibile evitare che accada
2. Come possiamo rimediare


Grazie.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4658
Joined: 8 November 2010, 16:46

Re: TW: Separatore decimale

Postby s.zagni » 17 December 2018, 8:16

La differenza secondo me sta nella costante 12,0 -> 12.0 (una è con la virgola e una e con il punto)
Verifica tale costante se diversa tra la copia locale e quella master
s.zagni
 
Posts: 942
Joined: 9 April 2014, 8:33

Re: TW: Separatore decimale

Postby r.bianco » 17 December 2018, 8:38

Grazie
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4658
Joined: 8 November 2010, 16:46

Re: TW: Separatore decimale

Postby lucabaldini » 17 December 2018, 9:09

Potrebbe (dico potrebbe ma andrebbe investigato) dipendere dalla lingua del SO sul server TW?... tipo il tuo windows è in italiano e windows sul server è in inglese? Se è così segnalalo come malfunzionamento così posso analizzarlo...
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4945
Joined: 1 October 2010, 17:03
Location: Bologna

Re: TW: Separatore decimale

Postby lucabaldini » 17 December 2018, 9:10

(la conversione da "stringa" a "numero" e viceversa viene fatta usando delle API di Windows che mi tornano un oggetto C++ chiamato _VARIANT_T che uso per confrontare che il valore delle costanti sia lo stesso... il fatto che il separatore sia diverso potrebbe dipendere da quello...)
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4945
Joined: 1 October 2010, 17:03
Location: Bologna

Re: TW: Separatore decimale

Postby s.zagni » 17 December 2018, 9:15

lucabaldini wrote:Potrebbe (dico potrebbe ma andrebbe investigato) dipendere dalla lingua del SO sul server TW?... tipo il tuo windows è in italiano e windows sul server è in inglese? Se è così segnalalo come malfunzionamento così posso analizzarlo...
lucabaldini wrote:(la conversione da "stringa" a "numero" e viceversa viene fatta usando delle API di Windows che mi tornano un oggetto C++ chiamato _VARIANT_T che uso per confrontare che il valore delle costanti sia lo stesso... il fatto che il separatore sia diverso potrebbe dipendere da quello...)


Interessante
s.zagni
 
Posts: 942
Joined: 9 April 2014, 8:33

Re: TW: Separatore decimale

Postby r.bianco » 17 December 2018, 10:15

lucabaldini wrote:Potrebbe (dico potrebbe ma andrebbe investigato) dipendere dalla lingua del SO sul server TW?... tipo il tuo windows è in italiano e windows sul server è in inglese? Se è così segnalalo come malfunzionamento così posso analizzarlo...


Grazie Luca.
Ho altre costanti float nella Generals che non danno problemi. Mi pare invece che derivi dal fatto che abbia .00 finale, ma non ne ho la certezza.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4658
Joined: 8 November 2010, 16:46

Re: TW: Separatore decimale

Postby lucabaldini » 18 December 2018, 14:16

Strano che ",00" sia il problema...
Domanda: tu quale versione stai utilizzando sul server? E sul client?
E di che tipo sono esattamente le costanti? Float o currency?

Perché nel codice è stato gestito quel caso nel lontano 2010 (il 25/02/2010 alle 18:32 per l'esattezza)... La modifica l'ho fatta io ed è stata rilasciata in 9.1 con questo commento: "Diff tra costanti di tipo FLOAT generate su PC con internazionalizzazione differente"...

Code: Select all
BOOL trueDiff = TRUE;
if (flTWDiff && *v1!=*v2 && Src->IsType(OT_CONST) && Src->GetPropInt(PR_DATATYPE)==DT_NUM_FLOAT &&
    Dst->IsType(OT_CONST) && Dst->GetPropInt(PR_DATATYPE)==DT_NUM_FLOAT)
{
  CString sv1 = *v1;
  CString sv2 = *v2;
  sv1.Replace(TCHAR(','), TCHAR('.'));
  sv2.Replace(TCHAR(','), TCHAR('.'));
  //
  trueDiff = (sv1!=sv2);
}


Come vedi, nel caso FLOAT, se il valore delle costanti è diverso sostituisco , con . e ricontrollo... per "uniformare" la verifica al "."
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4945
Joined: 1 October 2010, 17:03
Location: Bologna

Re: TW: Separatore decimale

Postby lucabaldini » 18 December 2018, 14:18

Però ho come il sospetto che la stessa cosa possa capitare anche se la costante è di tipo CURRENCY... così come DECIMAL...
Se è di quel tipo, segnalalo come malfunzionamento così lo tracciamo e, se riesco, lo inserisco nella prossima versione di InDe.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4945
Joined: 1 October 2010, 17:03
Location: Bologna

Re: TW: Separatore decimale

Postby r.bianco » 18 December 2018, 15:27

La costante è di tipo float.
Cmq l'ho eliminata e ricreata, per ora pare non avere problemi.
Se ricapitasse provo ad indagare.
Grazie.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4658
Joined: 8 November 2010, 16:46

Next

Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Majestic-12 [Bot] and 25 guests

cron