Hallo,
für meine Studienarbeit muss ich zu allererst den Quelltext meines Vorgängers verstehen (und ich kenn mich mit programmieren so gut wie gar nicht aus)
Die "einfacheren" Methoden hab ich mittlerweile verstanden. Aber den Grossteil eben noch nicht...
Im Moment hänge ich an folgendem Problem:
Um Werte aus einer Datei auf die Parameter eines Modells zu übertragen hat er sich eine Methode "retrieveParam" geschrieben. Diese ruft dann auch noch eine Klasse "pfcuParamValue" auf die er sich auch selbst geschrieben hat.
Den Rest glaube ich verstanden zu haben. In der Main-Methode ruft er eine Methode "runProE" auf und die arbeitet dann mit "retrieveParam".
Meine Bitte an euch wäre jetzt mir in möglichst einfachen Worten zu erklären was mein Vorgänger in den beiden Quelltexten die ich unten anhängen werde getrieben hat.
Vielen Dank schonmal im Voraus.
----------------------------------------------------------------------
// Funktion um Paramter einzulesen und zu setzen
public static void retrieveParam (ParameterOwner p_owner, String wd, String file) throws com.ptc.cipjava.jxthrowable
{
String prop_value;
String propsfile = wd+"\\"+file;
ParamValue pv;
Parameter p;
Properties props = new Properties();
// Laden des Paramterfiles
try {
props.load (new BufferedInputStream( new FileInputStream (propsfile)));
}
catch (IOException e)
{
System.out.println("Parameterfile "+wd+"\\"+file+" nicht vorhanden");
}
// Einlesen des Paramterfiles und Setzen der Parameter
Enumeration e = props.propertyNames();
for (String prop_name = (String)e.nextElement(); e.hasMoreElements();prop_name = (String)e.nextElement()) {
prop_value = props.getProperty(prop_name);
pv = pfcuParamValue.createParamValueFromString(prop_value);
p = p_owner.GetParam(prop_name);
if (p == null) // GetParam returns null if it can't find the param.
{
p_owner.CreateParam(prop_name, pv);
}
else
{
p.SetValue(pv);
}
}
}
----------------------------------------------------------------------
class pfcuParamValue
{
public static ParamValue createParamValueFromString(String s) throws com.ptc.cipjava.jxthrowable
{
try {
int i = Integer.valueOf (s).intValue();
return pfcModelItem.CreateIntParamValue(i);
}
catch (NumberFormatException e)
{
//string is not an int, try double
try
{
double d = Double.valueOf (s).doubleValue();
return pfcModelItem.CreateDoubleParamValue(d);
}
catch (NumberFormatException e2)
{
//string is not int/double, check if Boolean
if (s.equalsIgnoreCase("Y") | | s.equalsIgnoreCase ("true"))
{
return pfcModelItem.CreateBoolParamValue (true);
}
else if (s.equalsIgnoreCase("N") | | s.equalsIgnoreCase ("false"))
{
return pfcModelItem.CreateBoolParamValue (false);
}
else
{
return pfcModelItem.CreateStringParamValue(s);
}
}
}
}
}
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP