|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Jun 2002
Città: -GE-
Messaggi: 340
|
{C++} COme caxxo si fa????
Ragazzi ho bisogno di aiuto!!!!
Allora linguaggio C++ ambiente .NET; ho delle variabili CString in cui memorizzo in realta' una data (non posso fare altrimenti |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
|
Io per ordinare date in formato testo ho usato un metodo molto rozzo: ho scritto la data nel formato "ANNO/MESE/GIORNO ORA:MINUTI:SECONDI" e poi faccio un ordinamento alfabetico.
__________________
---> Lombardp CSS Certified Expert (Master Level) at Experts-Exchange Proud user of LITHIUM forum : CPU technology Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo |
|
|
|
|
|
#3 | |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Re: {C++} COme caxxo si fa????
Quote:
|
|
|
|
|
|
|
#4 | |
|
Bannato
Iscritto dal: Jun 2002
Città: -GE-
Messaggi: 340
|
Re: {C++} COme caxxo si fa????
Quote:
|
|
|
|
|
|
|
#5 | |
|
Bannato
Iscritto dal: Jun 2002
Città: -GE-
Messaggi: 340
|
Quote:
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ti fai un vettore di CTime...
Per fare l'ordinamento basta usare l'operatore < o > che confronta due CTime... Per inizializzare ogni elemento del vettore fai in questo modo : vector<CTime> v; .... int anno, mese, giorno, ore, minuti, secondi; sscanf((LPCTSTR)m_sDato, "%d/%d/%d %d:%d:%d", &giorno, &mese, &anno, &ore, &minuti, &secondi); anno += (anno >= 70) ? 1900:2000; v.push_back(CDate(anno, mese, giorno, ore, minuti, secondi)); Ora basta un normale ordinamento sul vettore |
|
|
|
|
|
#7 | |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Re: {C++} COme caxxo si fa????
Quote:
Fare cosi? Codice:
int giorno, mese, anno, commpleta;
public virtual int dataCompleta(){
completa = giorno + mese + anno;
return completa;
}
|
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Re: {C++} COme caxxo si fa????
Quote:
|
|
|
|
|
|
|
#9 | |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Re: {C++} COme caxxo si fa????
Quote:
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Prima di dire che è stupida esponila
|
|
|
|
|
|
#11 | |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
Che ne dici? |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Spiegami a cosa ti servirebbe quella funzione sopra...
|
|
|
|
|
|
#13 | |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
Ti faccio un esempio: Codice:
// ........................................ dataCompleta("18", "04", "1988");// completa = 18041988 // formattiamo formatDate(completa);// completa = 18/04/1988 cout<< "La data è " << completa<<endl;//Stampera 18/04/1988 //.................................. |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Comunque lui ha già la data formattata, ma gli serve un metodo per ordinare più date...
In ogni caso hai sbagliato il tipo per quella funzione...dovrebbe essere string...se usi l'int te li somma fra di loro... Per formattare la data bastava fare una cosa del genere : Codice:
public virtual string dataCompleta(string giorno, string mese, string anno){
string completa = giorno + "/" + mese+ "/" + anno;
return completa;
}
|
|
|
|
|
|
#15 |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
e vero!
Che merda che sono! Quindi interi stanno anche in string? Cmq la funzione che dalla string cvon la data attaccata a quello formattata ..............tu come l'avresti fattA? |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
comunque avrei convertito in stringa il numero e ci avrei lavorato prendendo sottostringhe del numero... |
|
|
|
|
|
|
#17 |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
un esempietto per i deficenti come me?
Tnk Mito |
|
|
|
|
|
#18 | |
|
Bannato
Iscritto dal: Jun 2002
Città: -GE-
Messaggi: 340
|
Quote:
Mi spieghi meglio cosa fa linea per linea? |
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sai usare i vector della Standard Template Library ?
Se non sai come usarli, in pratica sono dei vettori dinamici il cui tipo è specificato tramite quel <CTime>... //dichiaro un vettore di CTime vuoto per ora vector<CTime> v; .... int anno, mese, giorno, ore, minuti, secondi; //inserisco nelle variabili i vari valori presi dalla stringa sscanf((LPCTSTR)m_sDato, "%d/%d/%d %d:%d:%d", &giorno, &mese, &anno, &ore, &minuti, &secondi); //visto che usi l'anno a soli due caratteri devo vedere se siamo //nel 1900 o nel 2000...in tal caso sommo 1900 o 2000 (1970 è l'hanno in //cui iniziano a contare la data i PC) anno += (anno >= 70) ? 1900:2000; //aggiungo in fondo al vettore un nuovo elemento di tipo CTime //costituito dagli elementi estratti dalla stringa precedentemente v.push_back(CDate(anno, mese, giorno, ore, minuti, secondi)); |
|
|
|
|
|
#20 |
|
Bannato
Iscritto dal: Jun 2002
Città: -GE-
Messaggi: 340
|
Sì conosco abbastanza i vector (anche se ho avuto problemi quando ho provato a inserirne uno in una classe, app come si fa?
Non avevo mai usato invece la funzione sscanf (in c usavo scanf) che è proprio quella che mi permette di superare lo scoglio più grande....Spettacolo; volevo chiederti cosa fa CDate(anno, mese, giorno, ore, minuti, secondi) mi converte in CTime o in CDate, è uguale? GRAZIE MILLE SOPRATUTTO PER LA RAPIDITA' PROGRAMMI DA MOLTO??? |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:08.



















