//////////////////////////////////////////////////////////////////// // // FGBseData.m // Commesse // // Created by Francesco Germinara on Fri Jun 18 2004. // // Copyright (c) 2004 SofTech di F.Germinara - www.germinara.it. All rights reserved. // // For information please contact me at info@germinara.it //////////////////////////////////////////////////////////////////// // History: // // Description: // //////////////////////////////////////////////////////////////////// #import "FGBseData.h" @implementation FGBseData //Costruttore di default -(id)init{ self=[super init]; interlalCalendarDate=[[NSCalendarDate calendarDate] retain]; datar=[[NSString alloc] initWithString:[interlalCalendarDate descriptionWithCalendarFormat:@"%Y%m%d"]]; //Imposto la data nel formato AAAAMMGG orar=[[NSString alloc] initWithString:[interlalCalendarDate descriptionWithCalendarFormat:@"%H:%M:%S"]]; //Imposto ora nel formato HH:MM:SS data=[[NSString alloc] initWithString:[interlalCalendarDate descriptionWithCalendarFormat:@"%d/%m/%Y"]]; //Imposto data nel formato GG/MM/AAAA dataD=[[NSString alloc] initWithString:[interlalCalendarDate descriptionWithCalendarFormat:@"%a %d/%m/%Y"]]; //Imposto data nel formato nomegiorno GG/MM/AAAA dataG=[[NSString alloc] initWithString:[interlalCalendarDate descriptionWithCalendarFormat:@"%d/%m"]]; //Imposto le singole componenti con valori stringa strAAAA=[datar substringWithRange:NSMakeRange(0,4)]; //AAAA strMM=[datar substringWithRange:NSMakeRange(4,2)]; //MM strGG=[datar substringWithRange:NSMakeRange(6,2)]; //GG strOra=[orar substringWithRange:NSMakeRange(0,2)]; //HH strMin=[orar substringWithRange:NSMakeRange(3,2)]; //MM strSec=[orar substringWithRange:NSMakeRange(6,2)]; //SS //Imposto le singole componenti con i valori numerici nGG=[strGG intValue]; nMM=[strMM intValue]; nAAAA=[strAAAA intValue]; nOra=[strOra intValue]; nMin=[strMin intValue]; nSec=[strSec intValue]; return (self); } -(void)dealloc{ //Rilasco la memoria allocata [datar release]; [orar release]; [data release]; [dataD release]; [dataG release]; [interlalCalendarDate release]; [super dealloc]; } //Scompone la data nelle singole componenti -(void) ScomponiData{ //Imposto le singole componenti con valori stringa strAAAA=[datar substringWithRange:NSMakeRange(0,4)]; //AAAA strMM=[datar substringWithRange:NSMakeRange(4,2)]; //MM strGG=[datar substringWithRange:NSMakeRange(6,2)]; //GG //Imposto le singole componenti con i valori numerici nGG=[strGG intValue]; nMM=[strMM intValue]; nAAAA=[strAAAA intValue]; } //Scompone l'ora nelle singole componenti -(void) ScomponiOra{ strOra=[orar substringWithRange:NSMakeRange(0,2)]; //HH strMin=[orar substringWithRange:NSMakeRange(3,2)]; //MM strSec=[orar substringWithRange:NSMakeRange(6,2)]; //SS nOra=[strOra intValue]; nMin=[strMin intValue]; nSec=[strSec intValue]; } //Refresh dei dati interni utilizzando il valore di "calendarDate" -(void) RefreshInternalData:(NSCalendarDate *)newCalendarDate{ [datar release]; [orar release]; [data release]; [dataD release]; datar=[[NSString alloc] initWithString:[newCalendarDate descriptionWithCalendarFormat:@"%Y%m%d"]]; //Imposto la data nel formato AAAAMMGG orar=[[NSString alloc] initWithString:[newCalendarDate descriptionWithCalendarFormat:@"%H:%M:%S"]]; //Imposto ora nel formato HH:MM:SS data=[[NSString alloc] initWithString:[newCalendarDate descriptionWithCalendarFormat:@"%d/%m/%Y"]]; dataD=[[NSString alloc] initWithString:[newCalendarDate descriptionWithCalendarFormat:@"%a %d/%m/%Y"]]; dataG=[[NSString alloc] initWithString:[newCalendarDate descriptionWithCalendarFormat:@"%d/%m"]]; [self ScomponiData]; [self ScomponiOra]; } //Crea la data con le informazioni indicate -(void) MkStrDataWithString:(NSString *)gg mese:(NSString *)mm anno:(NSString *) aa{ nGG=[gg intValue]; nMM=[mm intValue]; nAAAA=[aa intValue]; [self MkStrData:nGG mese:nMM anno:nAAAA]; } //Crea la data con le informazioni indicate -(void) MkStrData:(int)gg mese:(int)mm anno:(int) aa{ if(interlalCalendarDate!=nil){ [interlalCalendarDate release]; interlalCalendarDate = [[NSCalendarDate alloc] initWithYear:nAAAA month:nMM day:nGG hour:nOra minute:nMin second:nSec timeZone:[NSTimeZone systemTimeZone]]; [self RefreshInternalData:interlalCalendarDate]; } } //Crea l'ora indicata -(void) MkStrOraWithString:(NSString *) hh minuti:(NSString *) mm secondi:(NSString *) ss{ nOra=[hh intValue]; nMin=[mm intValue]; nSec=[ss intValue]; [self MkStrOra:nOra minuti:nMin secondi:nSec]; } //Crea l'ora indicata -(void) MkStrOra:(int) hh minuti:(int) mm secondi:(int) ss{ if(interlalCalendarDate!=nil){ [interlalCalendarDate release]; interlalCalendarDate = [[NSCalendarDate alloc] initWithYear:nAAAA month:nMM day:nGG hour:hh minute:mm second:ss timeZone:[NSTimeZone systemTimeZone]]; [self RefreshInternalData:interlalCalendarDate]; } } //Imposta la data e l'ora corrente -(void) Oggi{ if(interlalCalendarDate!=nil){ [interlalCalendarDate release]; interlalCalendarDate=[[NSCalendarDate calendarDate] retain]; [self RefreshInternalData:interlalCalendarDate]; } } //Imposta la data nel formato AAAAMMGG -(void) SetDataAAAAMMGG{ [data release]; data=[[NSString alloc] initWithString:[interlalCalendarDate descriptionWithCalendarFormat:@"%Y%m%d"]]; //Imposto la data nel formato AAAAMMGG } //Imposta la data nel formato GG/MM/AAAA -(void) SetDataGGMMAAAA{ [data release]; data=[[NSString alloc] initWithString:[interlalCalendarDate descriptionWithCalendarFormat:@"%d/%m/%Y"]]; //Imposto data nel formato GG/MM/AAAA } //Imposta la data usando una stringa contenente la data nel formato AAAAMMGG -(void) SetDataR:(NSString *) dataAAAAMMGG{ //Imposto le singole componenti con valori stringa strAAAA=[dataAAAAMMGG substringWithRange:NSMakeRange(0,4)]; //AAAA strMM=[dataAAAAMMGG substringWithRange:NSMakeRange(4,2)]; //MM strGG=[dataAAAAMMGG substringWithRange:NSMakeRange(6,2)]; //GG [self MkStrDataWithString:strGG mese:strMM anno:strAAAA]; } //Imposta la data usando una stringa contenente la data nel formato GG/MM/AAAA -(void) SetDataVis:(NSString *) dataGGMMAAAA{ //Imposto le singole componenti con valori stringa strAAAA=[dataGGMMAAAA substringWithRange:NSMakeRange(6,4)]; //AAAA strMM=[dataGGMMAAAA substringWithRange:NSMakeRange(3,2)]; //MM strGG=[dataGGMMAAAA substringWithRange:NSMakeRange(0,2)]; //GG [self MkStrDataWithString:strGG mese:strMM anno:strAAAA]; } //Imposta la data usando una stringa contenente la data nel formato MM/GG/AAAA -(void) SetDataVisUsa:(NSString *) dataMMGGAAAA{ //Imposto le singole componenti con valori stringa strAAAA=[dataMMGGAAAA substringWithRange:NSMakeRange(6,4)]; //AAAA strGG=[dataMMGGAAAA substringWithRange:NSMakeRange(3,2)]; //GG strMM=[dataMMGGAAAA substringWithRange:NSMakeRange(0,2)]; //MM [self MkStrDataWithString:strGG mese:strMM anno:strAAAA]; } //Restituisce la data in base al formato precedentemente selezionato -(NSString *) Data{ return data; } //Restituisce la data sempre nel formato AAAAMMGG -(NSString *) DataR{ return datar; } //Restituisce la data sempre nel formato nomegiorno GG/MM/AAAA -(NSString *) DataD{ return dataD; } //Restituisce la data sempre nel formato nomegiorno GG/MM -(NSString *) DataG{ return dataG; } //Restituisce ora sempre nel formato HH:MM:SS -(NSString *) OraR{ return orar; } //Restituisce il giorno -(NSString *) GG{ return strGG; } //Restituisce il mese -(NSString *) MM{ return strMM; } //Restituisce l'anno -(NSString *) AA{ return strAAAA; } //Restituisce ora -(NSString *) Ora{ return strOra; } //Restituisce minuti -(NSString *) Min{ return strMin; } //Restituisce secondi -(NSString *) Sec{ return strSec; } //Restituisce il giorno come numero -(int) nGG{ return nGG; } //Restituisce il mese come numero -(int) nMM{ return nMM; } //Restituisce l'anno come numero -(int) nAA{ return nAAAA; } //Restituisce ora come numero -(int) nOra{ return nOra; } //Restituisce minuti come numero -(int) nMin{ return nMin; } //Restituisce secondi come numero -(int) nSec{ return nSec; } //Restituice l'oggetto NSCalendarDate -(NSCalendarDate *) GetCalendarDate{ return interlalCalendarDate; } //Imposta la data al giorno Precedente -(void)DayPrec{ interlalCalendarDate=[[interlalCalendarDate dateByAddingYears:0 months:0 days:-1 hours:0 minutes:0 seconds:0]retain]; [self RefreshInternalData:interlalCalendarDate]; } //Imposta la data al giorno Successivo -(void)DaySucc{ interlalCalendarDate=[[interlalCalendarDate dateByAddingYears:0 months:0 days:1 hours:0 minutes:0 seconds:0]retain]; [self RefreshInternalData:interlalCalendarDate]; } //Imposta la data al giorno Successivo -(void)DayOffSet:(int)nDays{ interlalCalendarDate=[[interlalCalendarDate dateByAddingYears:0 months:0 days:nDays hours:0 minutes:0 seconds:0]retain]; [self RefreshInternalData:interlalCalendarDate]; } //Imposta la Data con l'offset di giorni indicati sia in + sia in - dalla data odierna -(void)DayOffSetFromCurrentDate:(int)nDays{ [interlalCalendarDate release]; interlalCalendarDate=[[NSCalendarDate calendarDate] retain]; interlalCalendarDate=[[interlalCalendarDate dateByAddingYears:0 months:0 days:nDays hours:0 minutes:0 seconds:0]retain]; [self RefreshInternalData:interlalCalendarDate]; } @end