Nella lezione precedente avevamo iniziato la stesura di una classe CPersona contenente anche il codice fiscale, che viene calcolato con i dati disponibili. In questa nuova lezione vedremo come estrapolare i caratteri, 3 dal nome e 3 dal cognome, che compongono i primi sei caratteri del codice fiscale. Se non lo avete fatto la volta scorsa vi suggerisco di leggervi questa mia pagina nella quale dico tutto sul codice fiscale. Implementiamo una funzione che restituisca i 3 caratteri dal nome ed i 3 caratteri dal cognome.
... private bool FindString(string strVal, char cVal) { foreach (char c in strVal) { if (c == cVal) return true; } return false; } private string ExtractChars(string strVal, bool bCognome) { string retValue = ""; string strVoc = "AaEeIiOoUu"; int numCon = 0; int numVoc = 0; for (int i = 0; i < strVal.Length; ++i) { if (!FindString(strVoc, strVal[i]) && strVal[i] != ' ') { retValue += strVal[i]; ++numCon; } if (numCon >= 3) { if (bCognome) { break; } else { for (int k = i + 1; k <= strVal.Length; ++k) { if (!FindString(strVoc, strVal[k]) && strVal[k] != ' ') { retValue += strVal[k]; string strTemp = retValue; retValue = strTemp.Substring(0, 1); retValue += strTemp.Substring(strTemp.Length - 2, 2); i = strVal.Length; break; } } } } } if (numCon < 3) { for (int i = 0; i < strVal.Length; ++i) { if (FindString(strVoc, strVal[i])) { retValue += strVal[i]; ++numVoc; } if ((numCon + numVoc) >= 3) break; } } if ((numCon + numVoc) < 3) { if ((numCon + numVoc) == 0) retValue = "***"; if ((numCon + numVoc) == 1) retValue = "***"; if ((numCon + numVoc) == 2) retValue += 'X'; } return retValue; } ...
Ho creato 2 metodi privati che ovviamente vanno inseriti nella nostra classe e penso siano abbastanza chiari, quindi studiate il codice riga per riga cercando di capire cosa ho fatto. Se qualcuno avesse in mente un altro procedimento o volesse cambiare qualcosa, potete farmelo sapere.
Se qualcuno avesse bisogno di maggiori informazioni o vuole richiedermi qualcosa può porre le sue domande nel forum dedicato a questo linguaggio.
<< Lezione Precedente – Inizio Corso – Indice Lezioni – Lezione Successiva >>
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→