Ignore:
Timestamp:
May 26, 2008, 1:28:28 PM (17 years ago)
Author:
Frederik Heber <heber@…>
Children:
9bfb34
Parents:
8b486e
Message:

renamed ElementsFileName to PathToDatabases, -e now gives path to databases instead of elements d
b file

We rather now give the path and not elements db file as all the databases generally reside in the

same dir.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/periodentafel.cpp

    r8b486e rcfaf42  
    148148    while (walker->next != end) {
    149149      walker = walker->next;
    150       if (checkliste[walker->Z]) {
     150      if ((walker != NULL) && (walker->Z > 0) && (walker->Z < MAX_ELEMENTS) && (checkliste[walker->Z])) {
    151151        walker->No = No;
    152152        result = result && walker->Checkout(output, No++, checkliste[walker->Z]);     
     
    160160
    161161/** Loads element list from file.
    162  */
    163 bool periodentafel::LoadPeriodentafel(char *filename)
     162 * \param *path to to standard file names
     163 */
     164bool periodentafel::LoadPeriodentafel(char *path)
    164165{
    165166  ifstream infile;
     
    168169  bool status = true;
    169170  bool otherstatus = true;
     171  char *filename = new char[MAXSTRINGSIZE];
    170172 
    171173  // fill elements DB
    172   if (filename == NULL)
    173     infile.open(STANDARDELEMENTSDB);
    174   else
    175     infile.open(filename);
     174  strncat(filename, path, MAXSTRINGSIZE);
     175  strncat(filename, "/", MAXSTRINGSIZE-strlen(filename));
     176  strncpy(filename, STANDARDELEMENTSDB, MAXSTRINGSIZE-strlen(filename));
     177  infile.open(filename);
    176178  if (infile != NULL) {
    177179    infile.getline(header1, MAXSTRINGSIZE);
     
    198200      infile >> neues->VanDerWaalsRadius;
    199201      //infile >> ws;
    200       periodentafel::AddElement(neues);
    201202      infile >> ws;
    202203      cout << " " << neues->symbol;
    203204      //neues->Output((ofstream *)&cout);
     205      if ((neues->Z > 0) && (neues->Z < MAX_ELEMENTS))
     206        periodentafel::AddElement(neues);
     207      else {
     208        cout << "Could not parse element: ";
     209        neues->Output((ofstream *)&cout);
     210      }
    204211    }
    205212    cout << endl;
     
    210217
    211218  // fill valence DB per element
    212   infile.open(STANDARDVALENCEDB);
     219  strncat(filename, path, MAXSTRINGSIZE);
     220  strncpy(filename, STANDARDVALENCEDB, MAXSTRINGSIZE-strlen(filename));
     221  infile.open(filename);
    213222  if (infile != NULL) {
    214223    while (!infile.eof()) {
     
    225234
    226235  // fill valence DB per element
    227   infile.open(STANDARDORBITALDB);
     236  strncat(filename, path, MAXSTRINGSIZE);
     237  strncpy(filename, STANDARDORBITALDB, MAXSTRINGSIZE-strlen(filename));
     238  infile.open(filename);
    228239  if (infile != NULL) {
    229240    while (!infile.eof()) {
     
    240251 
    241252  // fill H-BondDistance DB per element
    242   infile.open(STANDARDHBONDDISTANCEDB);
     253  strncat(filename, path, MAXSTRINGSIZE);
     254  strncpy(filename, STANDARDHBONDDISTANCEDB, MAXSTRINGSIZE-strlen(filename));
     255  infile.open(filename);
    243256  if (infile != NULL) {
    244257    while (!infile.eof()) {
     
    258271 
    259272  // fill H-BondAngle DB per element
    260   infile.open(STANDARDHBONDANGLEDB);
     273  strncat(filename, path, MAXSTRINGSIZE);
     274  strncpy(filename, STANDARDHBONDANGLEDB, MAXSTRINGSIZE-strlen(filename));
     275  infile.open(filename);
    261276  if (infile != NULL) {
    262277    while (!infile.eof()) {
Note: See TracChangeset for help on using the changeset viewer.