Пример #1
0
 public new bool Leggi(StreamReader sr)
 {
     string str;									// Riga letta dal file
     int i, ip;									// Contatori
     int itmp = 0;								// Temporanei per conversione
     double dtmp = 0.0;
     TokenString tk = new TokenString();			// Tokenizzatore
     if (!sr.EndOfStream)
         {
         str = sr.ReadLine();					// Legge una riga (ossia un oggetto completo)
         tk.Set(ref str, "\t ");					// Imposta il tokenizzatore, str per reference
         i = 0;									// Azzera contatori
         ip = 0;
         foreach (string s in tk)
             {
             switch (i)
                 {
                 case 0:								// Legge i dati in ordine
                     if (s != descrittore)				// Descrittore
                         i = int.MaxValue;
                     break;
                 case 1:									// ID
                     if (int.TryParse(s, out itmp))
                         nID = itmp;
                     break;
                 case 2:									// Nome
                     nome = s;
                     break;
                 case 3:									// Numero
                     if (int.TryParse(s, out itmp))
                         numero = itmp;
                     break;
                 case 4:									// Legge i dati
                     if (double.TryParse(s, out dtmp))
                         A = dtmp;
                     break;
                 case 5:
                     if (double.TryParse(s, out dtmp))
                         Jxx = dtmp;
                     break;
                 case 6:
                     if (double.TryParse(s, out dtmp))
                         Jyy = dtmp;
                     break;
                 case 7:
                     if (double.TryParse(s, out dtmp))
                         tx = dtmp;
                     break;
                 case 8:
                     if (double.TryParse(s, out dtmp))
                         ty = dtmp;
                     break;
                 case 9:
                     if (int.TryParse(s, out itmp))
                         sezione = itmp;
                     break;
                 default:
                     if (i < Np + 9)						// Oltre i dati di base, legge i parametri usando l'indice ip
                         {
                         if (double.TryParse(s, out dtmp))
                             {
                             p[ip] = dtmp;
                             ip++;
                             }
                         }
                     break;
                 }	// Fine dello swtch
             i++;
             }	// Fine del ciclo foreach
         }
     return true;
 }
Пример #2
0
 public bool Leggi(StreamReader sr)
 {
     string str;									// Riga letta dal file
     int i;										// Contatore
     int itmp;									// Temporaneo per conversione
     TokenString tk = new TokenString();			// Tokenizzatore
     if(!sr.EndOfStream)
         {
         str = sr.ReadLine();					// Legge una riga (ossia un oggetto completo)
         tk.Set(ref str, "\t ");					// Imposta il tokenizzatore, str per reference
         i = 0;									// Azzera contatore
         foreach(string s in tk)
             {
             switch(i)
                 {
                 case 0:
                     if(s != descrittore)		// Se oggetto non riconosciuto
                         i = int.MaxValue;
                     break;
                 case 1:
                     if (int.TryParse(s, out itmp))
                         nID = itmp;
                     break;
                 case 2:
                     nome = s;
                     break;
                 case 3:
                     if (int.TryParse(s, out itmp))
                         numero = itmp;
                     break;
                 }
             i++;
             }
         }
     return true;
 }
Пример #3
0
 public new bool Leggi(StreamReader sr)
 {
     string str;									// Riga letta dal file
     int i;										// Contatore
     int itmp;									// Temporanei per conversione
     double dtmp;
     TokenString tk = new TokenString();			// Tokenizzatore
     if (!sr.EndOfStream)
         {
         str = sr.ReadLine();					// Legge una riga (ossia un oggetto completo)
         tk.Set(ref str, "\t ");					// Imposta il tokenizzatore, str per reference
         i = 0;									// Azzera contatore
         foreach (string s in tk)
             {
             switch (i)
                 {
                 case 0:									// Descrittore
                     if (s != descrittore)				// Se oggetto non riconosciuto
                         i = int.MaxValue;
                     break;
                 case 1:									// ID
                     if (int.TryParse(s, out itmp))
                         nID = itmp;
                     break;
                 case 2:									// Nome
                     nome = s;
                     break;
                 case 3:									// Numero
                     if (int.TryParse(s, out itmp))
                         numero = itmp;
                     break;
                 case 4:										// Legge i dati: E...
                     if (double.TryParse(s, out dtmp))
                         E_ = dtmp;								// Li inserisce direttamente senza usare le proprieta`
                     break;										// altrimenti puo` alterarne i valori
                 case 5:
                     if (double.TryParse(s, out dtmp))		// nu...
                         nu_ = dtmp;
                     break;
                 case 6:										// G...
                     if (double.TryParse(s, out dtmp))
                         G_ = dtmp;
                     break;
                 case 7:										// alfa
                     if (double.TryParse(s, out dtmp))
                         alfa_ = dtmp;
                     break;
                 case 8:										// sigma Rp
                     if (double.TryParse(s, out dtmp))
                         sigmarp_ = dtmp;
                     break;
                 }
             i++;
             }
         }
     return true;
 }
Пример #4
0
			/// <summary>
			/// Costruttore statico.
			/// Legge il file Mat.dat nella stessa cartella dell'eseguibile
			/// </summary>
			static MaterialiOttici()
				{
				string nomefile = "Mat.dat";
				string linea;
				int i;
				StreamReader sr = new StreamReader(nomefile);
				TokenString tk = new TokenString();						// Tokenizzatore
				while(!sr.EndOfStream)
				    {
				    linea = sr.ReadLine();					// Legge una riga (ossia un oggetto completo)
				    tk.Set(ref linea, "\t ");				// Imposta il tokenizzatore, str per reference
					double[] A = new double[MaterialeOttico.NA];
					string nomemat="-";
					i = 0;									// Azzera contatore
					foreach (string s in tk)
						{
						switch (i)
							{
							case 0:
								nomemat = s;
								break;
							default:
								if((i>0)&&(i<MaterialeOttico.NA))
									{
									double val;
									if (double.TryParse(	s,
															System.Globalization.NumberStyles.Float,
															System.Globalization.CultureInfo.CreateSpecificCulture("en-US"),
															out val))
										A[i-1] = val;
									else
										throw new Exception("Fallita conversione valori materiali da file");
									}
								break;
							}
						i++;
						}	
					mt.Add(new MaterialeOttico(nomemat,A[0],A[1],A[2],A[3],A[4],A[5]));
					}
				}
Пример #5
0
 public new bool Leggi(StreamReader sr)
 {
     string str;									// Riga letta dal file
     int i;										// Contatore
     int itmp;									// Temporanei per conversione
     rifOggetto = new RifOggetto();
     TokenString tk = new TokenString();			// Tokenizzatore
     if (!sr.EndOfStream)
         {
         str = sr.ReadLine();					// Legge una riga (ossia un oggetto completo)
         tk.Set(ref str, "\t ");					// Imposta il tokenizzatore, str per reference
         i = 0;									// Azzera contatore
         foreach (string s in tk)
             {
             switch (i)
                 {
                 case 0:
                     if (s != descrittore)		// Se oggetto non riconosciuto
                         i = int.MaxValue;
                     break;
                 case 1:
                     if (int.TryParse(s, out itmp))
                         nID = itmp;
                     break;
                 case 2:
                     nome = s;
                     break;
                 case 3:
                     if (int.TryParse(s, out itmp))
                         numero = itmp;
                     break;
                 case 4:									// Tipo
                     //if (int.TryParse(s, out itmp))
                         //rifTrave.nodi[0] = itmp;
                     break;
                 case 5:
                     //if (int.TryParse(s, out itmp))		// num. oggetto
                         //rifTrave.nodi[1] = itmp;
                     break;
                 case 6:
                     //if (int.TryParse(s, out itmp))		// i 3 bool
                         //rifTrave.sezione = itmp;
                     break;
                 case 7:
                     //if (int.TryParse(s, out itmp))		// i tre float
                         //rifTrave.materiale = itmp;
                     break;
                 }
             i++;
             }
         }
     return true;
 }