예제 #1
0
파일: Listainfok.cs 프로젝트: AndrasD/VezIR
 /// <summary>
 /// feltetelinfo hozzaadas, teljes vagy csak az ArrayList Add-ja
 /// </summary>
 /// <param name="info">
 /// a feltetelinfo
 /// </param>
 /// <param name="csakbase">
 /// true: csak az ArrayList Add
 /// false: teljes
 /// </param>
 public void Add(Feltetelinfo info, bool csakbase)
 {
     object[] zarojelek = null;
     if (csakbase)
         base.Add(info);
     else
     {
         Feltetelinfo elozoinfo = null;
         Tablainfo elozotabinfo = null;
         if (this.Count != 0)
         {
             elozoinfo = this[this.Count - 1];
             elozotabinfo = elozoinfo.Tabinfo;
         }
         info.ElozoFeltetelInfo = elozoinfo;
         if (elozoinfo != null)
             info.ElozoFeltetelInfo.KovetkezoFeltetelInfo = info;
         Tablainfo tabinfo = info.Tabinfo;
         Tablainfok.Add(info.Tabinfo);
         int i = base.Add(info);
         if (info.NyitoZarojel != "")
         {
             nyitozarojelek.Add(i);
             zarojelek = new object[2];
             zarojelek[0] = i;
             zarojelpoziciok.Add(zarojelek);
         }
         if (info.ZaroZarojel != "")
         {
             zarozarojelek.Add(i);
             int minusz = 0;
             bool kellmeg = true;
             do
             {
                 minusz++;
                 zarojelek = (object[])zarojelpoziciok[zarojelpoziciok.Count - minusz];
                 if (zarojelek[1] == null)
                 {
                     zarojelek[1] = i;
                     zarojelpoziciok[zarojelpoziciok.Count - minusz] = zarojelek;
                     kellmeg = false;
                 }
             } while (kellmeg);
         }
         if (info.EsVagy != "")
         {
             if (info.EsVagy == "VAGY")
                 vagypoziciok.Add(i);
             else
                 espoziciok.Add(i);
         }
         else
             urespoziciok.Add(i);
         info.Feltetelinfok = this;
         if (tabinfo != null)
         {
             switch (tipus)
             {
                 case "feltetel":
                     tabinfo.Feltetelek.Add(info, true);
                     break;
                 case "sor":
                     tabinfo.SorFeltetelek.Add(info, true);
                     break;
                 case "oszlop":
                     tabinfo.OszlopFeltetelek.Add(info, true);
                     break;
             }
         }
     }
 }
예제 #2
0
파일: Listainfok.cs 프로젝트: AndrasD/VezIR
 /// <summary>
 /// uj feltetelinfo hozzaadas
 /// </summary>
 /// <param name="info">
 /// feltetelinfo
 /// </param>
 public void Add(Feltetelinfo info)
 {
     Add(info, false);
 }