Patch level : 2.2
Files correlati : ba8 ve1 Ricompilazione Demo : [ ] Commento : Corretta gestione MESSAGE APPEND nel caso di campi vuoti git-svn-id: svn://10.65.10.50/trunk@13680 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									76cff521d5
								
							
						
					
					
						commit
						3e3e08ef49
					
				@ -918,7 +918,7 @@ void TAVM::execute(const TAVM_op& op)
 | 
				
			|||||||
  case avm_negate:
 | 
					  case avm_negate:
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      TVariant& tos = _stack.peek();
 | 
					      TVariant& tos = _stack.peek();
 | 
				
			||||||
      tos.set(~tos.as_int());
 | 
					      tos.set(tos.as_bool() ? false : true);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
  case avm_null: _stack.push(NULL_VARIANT); break;
 | 
					  case avm_null: _stack.push(NULL_VARIANT); break;
 | 
				
			||||||
 | 
				
			|||||||
@ -97,15 +97,18 @@
 | 
				
			|||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: MESSAGE_APPEND ( f1 -- )
 | 
					: MESSAGE_APPEND ( f1 -- )
 | 
				
			||||||
 | 
					  MON
 | 
				
			||||||
  #THIS @                      \ Leggo il valore del campo corrente
 | 
					  #THIS @                      \ Leggo il valore del campo corrente
 | 
				
			||||||
  DUP EMPTY=                   \ Controlla se e' vuoto
 | 
					  DUP EMPTY=                   \ Controlla se e' vuoto
 | 
				
			||||||
  IF
 | 
					  IF
 | 
				
			||||||
    DROP                       \ Scarta il valore nullo 
 | 
					    DROP                       \ Scarta il valore nullo 
 | 
				
			||||||
	DROP                       \ Scarta f1
 | 
						DROP                       \ Scarta f1
 | 
				
			||||||
  ELSE
 | 
					  ELSE
 | 
				
			||||||
    " "                        \ Inserisco uno spazio  
 | 
					    OVER @                     \ Leggo il valore di f1
 | 
				
			||||||
	SWAP
 | 
						EMPTY= NEGATE
 | 
				
			||||||
    +                          \ Sommo uno spazio all'inizio della stringa
 | 
						IF 
 | 
				
			||||||
 | 
					      " " SWAP +               \ Sommo uno spazio all'inizio della stringa
 | 
				
			||||||
 | 
					    THEN  
 | 
				
			||||||
	SWAP                       \ Riporto in primo piano f1
 | 
						SWAP                       \ Riporto in primo piano f1
 | 
				
			||||||
    +!                         \ Incrementa f1 col contenuto della stringa
 | 
					    +!                         \ Incrementa f1 col contenuto della stringa
 | 
				
			||||||
  THEN
 | 
					  THEN
 | 
				
			||||||
 | 
				
			|||||||
@ -62,12 +62,12 @@ XVT_FNTID TReport_font::get_xvt_font(const TWindow& win) const
 | 
				
			|||||||
      const PNT pnt0 = win.log2dev(0,0); 
 | 
					      const PNT pnt0 = win.log2dev(0,0); 
 | 
				
			||||||
      const PNT pnt1 = win.log2dev(cpi*100,100); 
 | 
					      const PNT pnt1 = win.log2dev(cpi*100,100); 
 | 
				
			||||||
      const int ppi = pnt1.h - pnt0.h;
 | 
					      const int ppi = pnt1.h - pnt0.h;
 | 
				
			||||||
      const int best = compute_font_match(w, (pnt1.v - pnt0.v), ppi, cpi);
 | 
					      const int best = compute_font_match(w, abs(pnt1.v - pnt0.v), ppi, cpi);
 | 
				
			||||||
      nSize = cpi * best / _cpi;
 | 
					      nSize = cpi * best / _cpi;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    XVT_FNTID fontid = xvt_font_create();
 | 
					    XVT_FNTID fontid = xvt_font_create();
 | 
				
			||||||
    xvt_font_set_family(fontid, (char*)(const char*)_name);
 | 
					    xvt_font_set_family(fontid, _name);
 | 
				
			||||||
    xvt_font_set_size(fontid, nSize);
 | 
					    xvt_font_set_size(fontid, nSize);
 | 
				
			||||||
    xvt_font_set_style(fontid, _style);
 | 
					    xvt_font_set_style(fontid, _style);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user