Einzelnen Beitrag anzeigen

moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#6

Re: Nicht freigegebene Variabeln suchen

  Alt 15. Jul 2003, 20:05
Ich weiß, aber seid mir noch böse, dass ich nicht den ganzen Code veröffentlichen will.

Also, hier sind die Ausschnitte:

Code:
{###########################################################}
{###########################################################}
      procedure TProg.RememberTimerTimer(Sender: TObject);

      Var      i       :    Integer;

                DL:            Integer;

                Rem:           Boolean;

                UpdateCheck:   TStringList;

                Ro:            BirthdayRememberFunktionen.TOptionenOps;

      begin

            Rem:=false;

            RememberTimer.Interval:=5000;

            RO:=ReadOptions(ExtractFileDir(Prog.GebRemDir)+'\options.ini');

            Liste2.Clear;

            ReadData(Liste2,GebRemDir);

            if LastColumn<>nil then

            begin

                  if LastDir then LastDir:=false else LastDir:=true;

                  ListeColumnClick(Prog,LastColumn);

            end;

            If Liste2.Items.Count=0 Then

            begin

                  Exit;

            end;

            For i:=0 to Liste2.Items.Count-1 do

            Begin

                  if Length(Liste2.Items[i].SubItems[0])=6 then

                        DL:=DaysLeft(DayOf(StrToDate(Liste2.Items[i].SubItems[0]+IntToStr(YearOf(Now)-1))),MonthOf(StrToDate(Liste2.Items[i].SubItems[0]+IntToStr(YearOf(Now)-1))),YearOf(Now)-1)

                  else

                        DL:=DaysLeft(DayOf(StrToDate(Liste2.Items[i].SubItems[0])),MonthOf(StrToDate(Liste2.Items[i].SubItems[0])),YearOf(StrToDate(Liste2.Items[i].SubItems[0])));

                  If ((Liste2.Items[i].SubItems[2]='In drei Wochen')and(Ro.wann[0]))or
                     ((Liste2.Items[i].SubItems[2]='In zwei Wochen')and(Ro.wann[1]))or
                     ((Liste2.Items[i].SubItems[2]='In einer Woche')and(Ro.wann[2]))or
                     ((Liste2.Items[I].SubItems[2]='In 5 Tagen')and(Ro.wann[3]))or
                     ((Liste2.Items[I].SubItems[2]='Übermorgen')and(Ro.wann[4]))or
                     ((Liste2.Items[i].SubItems[2]='Morgen')and(Ro.wann[5]))or
                     ((Pos('##3WO##',Liste2.Items[i].SubItems[3])<>0)and(DL=21))or
                     ((Pos('##2WO##',Liste2.Items[i].SubItems[3])<>0)and(DL=14))or
                     ((Pos('##1WO##',Liste2.Items[i].SubItems[3])<>0)and(DL=7))or
                     ((Liste2.Items[i].SubItems[2]='Heute')and(Ro.wann[6]))then

                     begin

                            Rem:=true;

                            Application.ProcessMessages;

                            if (Pos('##3WO##',Liste2.Items[i].SubItems[3])<>0) then

                                  Remember(Liste2.Items[I].Caption,'In drei Wochen',Liste2.Items[i].SubItems[0],false)

                            else

                            if (Pos('##2WO##',Liste2.Items[i].SubItems[3])<>0) then

                                  Remember(Liste2.Items[I].Caption,'In zwei Wochen',Liste2.Items[i].SubItems[0],false)

                            else

                            if (Pos('##1WO##',Liste2.Items[i].SubItems[3])<>0) then

                                  Remember(Liste2.Items[I].Caption,'In einer Wochen',Liste2.Items[i].SubItems[0],false)

                            else


                                  Remember(Liste2.Items[I].Caption,Liste2.Items[i].SubItems[2],Liste2.Items[i].SubItems[0],false);

                     end;

            End;

            if (Prog.enabled)and(ParamStr(1)='los')and(AlUpdatecheck)and(ReadOptions(ExtractFileDir(GebRemDir)+'\options.ini').onlycheck) then

            begin

                  Prog.Close;

                  Application.Terminate;

                  Halt;

            end;

            If (Rem=False)and(AlUpdatecheck=false) then

            begin

                        UpdateCheck:=TStringList.Create;

                        UpDateCheck.AddStrings(UpdateAviable); //Daran liegts nicht!

                        if UpdateCheck[0]='TRUE' then

                        Begin

                              Prog.Show;

                              SwitchToThisWindow(Prog.handle, True);

                              If MessageDlg('Es existiert folgende, neuere Version von BirthdayRemember:'+#10+'Version: '+UpdateCheck[1]+#10+'Erscheinungsdatum: '+UpdateCheck[2]+#10+'Download-Url: '+UpdateCheck[3]+#10+'Soll diese nun downgeloadet werden?',mtConfirmation,[mbYes,mbNo],0)=mrYes then

                              Begin

                                    ShellExecute(handle,'open',PChar(UpdateCheck[3]), nil,nil,sw_show);

                              End ELSE

                              Begin

                                    messagedlg('Sie können die Version manuell auf [url]http://www.BirthdayRemember.de[/url] updaten',mtInformation,[mbOk],0);

                              End;

                        End;

                        AlUpdatecheck:=true;

            end;

            UpdateCheck.Free;

      end;
{###########################################################}
{###########################################################}


{###########################################################}
{###########################################################}
{Errechnet die restlichen Tage bis zu einem Datum}
      function DaysLeft(day,month,year: integer):integer;

      var nextGeb:        TDate;

      begin

            nextGeb:=EncodeDate(YearOf(Now)+1,month,day);

            result:=DaysBetween(Now,nextGeb);

            while result>=DaysInYear(Now) do

               result:=result-DaysInYear(Now);

      end;
{###########################################################}
{###########################################################}



{###########################################################}
{###########################################################}
      procedure TProg.ReadData(Liste: TListView;datei: String);

      var Ini:       TMemIniFile;

          Namen:     TStringList;

          I:         Integer;

          Item:      TListItem;

      begin

              {Datei auf Fehler prüfen}
              CheckBrFile(datei);

              //Datei öffnen
              ini:=TMemIniFile.Create(datei);

              Namen:=TStringList.Create;

              //Sections(Namen) in TStringList laden
              ini.ReadSections(Namen);

              //Wenn noch keine Einträge
              if Namen.count=0 then

                    exit;    //Raus

              //Alle abarbeiten
              For I:=0 to Namen.Count-1 do

              begin

                      {Item hinzufügen}
                      item:=Liste.Items.Add;

                      {Name auf das erste Feld}
                      item.Caption:=namen[i];

                      {Geburtstag auf das zweite Feld}
                      if copy(ini.ReadString(Namen[i],'gebtag','01.01.2000'),7,4)='9999' then

                            item.SubItems.Add(copy(ini.ReadString(Namen[i],'gebtag','01.01.2000'),0,6))

                      else

                            item.SubItems.Add(ini.ReadString(Namen[i],'gebtag','01.01.2000'));

                      {Alter aufs dritte Feld}
                      item.SubItems.Add(Alter(ini.ReadString(Namen[i],'gebtag','1.1.2002')));

                      {Zeit bis dorthin aufs vierte Feld}
                      item.Subitems.Add(ZeitBis(StrToDate(ini.ReadString(Namen[i],'gebtag','01.01.2000'))));

                      {Bemerkung aufs fünfte Feld}
                      item.SubItems.Add(ini.ReadString(Namen[i],'bem','(Keine)'));

                      Application.processMessages;

              end;

              Ini.Free;

              Namen.Free;

      end;
{###########################################################}
{###########################################################}
Sollte alles gewesen sein.
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat