AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi In XML schreiben, nachdem Meldung angezeigt!
Thema durchsuchen
Ansicht
Themen-Optionen

In XML schreiben, nachdem Meldung angezeigt!

Ein Thema von Akut-Programming · begonnen am 9. Sep 2003 · letzter Beitrag vom 10. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#1

In XML schreiben, nachdem Meldung angezeigt!

  Alt 9. Sep 2003, 14:25
Hi Leudz!!

Ich will nach dem anzeigen einer Message in ne XML Datei schreiben, nur schreibt er immer in den Eintrag vor dem Eintrag in dem ich eigentlich schreiben will. Kann sich das ma jemand angucken...

Delphi-Quellcode:
procedure Tfrm_terminplaner_main.Timer2Timer(Sender: TObject);
var
  i: integer;
  node: IXMLDOMNode;
  newTermin, newSub: IXMLDOMNode;
begin
    for i:=0 to lv_eintraege.Items.Count-1 do begin
      if (StrtoDate(lv_eintraege.Items[i].SubItems[1])=date)
      and (StrtoTime(lv_eintraege.Items[i].SubItems[2])>=time)
      and (xmlDoc.selectSingleNode('/PlanView/termin[terminid="'+IntToStr(i)+'"]/AlertShowed').Text='_')
      then begin
        ShowMessage('Ihr Termin ('+lv_eintraege.Items[i].SubItems[0]+') beginnt!');
        node := xmlDoc.documentElement.selectSingleNode('/PlanView/termin[terminid="'+IntToStr(i)+'"]');
        node.selectSingleNode('AlertShowed').text:='x';
        xmlDoc.save(frm_terminplaner_main.instpath + xmlfilename);
      end;
    end;
end;
Das Programm sollte mit dem schreiben in die XML nicht warten, bis in der Meldung auf OK geklickt wurde, sondern wenn sie angezeigt wird.
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#2

Re: In XML schreiben, nachdem Meldung angezeigt!

  Alt 9. Sep 2003, 14:33
Zitat von Akut-Programming:
Hi Leudz!!

Ich will nach dem anzeigen einer Message in ne XML Datei schreiben, nur schreibt er immer in den Eintrag vor dem Eintrag in dem ich eigentlich schreiben will. Kann sich das ma jemand angucken...

Delphi-Quellcode:
procedure Tfrm_terminplaner_main.Timer2Timer(Sender: TObject);
var
  i: integer;
  node: IXMLDOMNode;
  newTermin, newSub: IXMLDOMNode;
begin
    for i:=0 to lv_eintraege.Items.Count-1 do begin
      if (StrtoDate(lv_eintraege.Items[i].SubItems[1])=date)
      and (StrtoTime(lv_eintraege.Items[i].SubItems[2])>=time)
      and (xmlDoc.selectSingleNode('/PlanView/termin[terminid="'+IntToStr(i)+'"]/AlertShowed').Text='_')
      then begin
        ShowMessage('Ihr Termin ('+lv_eintraege.Items[i].SubItems[0]+') beginnt!');
        node := xmlDoc.documentElement.selectSingleNode('/PlanView/termin[terminid="'+IntToStr(i)+'"]');
        node.selectSingleNode('AlertShowed').text:='x';
        xmlDoc.save(frm_terminplaner_main.instpath + xmlfilename);
      end;
    end;
end;
Das Programm sollte mit dem schreiben in die XML nicht warten, bis in der Meldung auf OK geklickt wurde, sondern wenn sie angezeigt wird.
Dann schreibe doch die ShowMessage Zeile mal hinter dem .save! Dann wird es auch zuerst gespeichert.
Geht das speichern nicht mit:
Delphi-Quellcode:
xmlDoc.selectSingleNode('/PlanView/termin[terminid="'+IntToStr(i)+'"]/AlertShowed').Text:='x';
xmlDoc.save(frm_terminplaner_main.instpath + xmlfilename);
  Mit Zitat antworten Zitat
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#3

Re: In XML schreiben, nachdem Meldung angezeigt!

  Alt 9. Sep 2003, 14:54
Jud, jetzt wird es zwar zuerst gespeichert, und ich bekomm die Message auch nur noch einmal angezeigt. Nur schreibt er das 'x' in den Vorgänger Eintrag.

Bsp: Ich hab den Termin "TestTermin1" der beginnt am 08.09.2003 um 12:00 in der XML. Dann trage ich den Termin "TestTermin2" ein der am 09.09.2003 um 16:00 beginnt ein. Da bekomme ich sofort nach dem speichern die Message angezeigt mit dem Hinweis, das "TestTermin2" beginnt (obwohl es nich noch nicht 16:00 ist) und schreibt das 'x', das der Termin eigentlich schon angezeigt wurde, zu "TestTermin1". Sollte aber eigentlich zu "TestTermin2".
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#4

Re: In XML schreiben, nachdem Meldung angezeigt!

  Alt 9. Sep 2003, 15:03
Hast du beachtest, dass dei ID, die du übergibst 0 basiert ist und deine ID im XML auf 1 basiert?! Könnte es daran liegen?
  Mit Zitat antworten Zitat
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#5

Re: In XML schreiben, nachdem Meldung angezeigt!

  Alt 9. Sep 2003, 15:20
Ne damit scheints nichts zu tun zu hamm, da er´s jetzt immer noch in den Vorgänger - Termin speichert.

Weißt du vielleicht auch, wie ich die Message minuten genau anzeigen kann, da ich sie durch
Delphi-Quellcode:
...
and (StrtoTime(lv_eintraege.Items[i].SubItems[2])>=time)
...
dann angezeigt kriege, wenn die eingegebene Zeit größer als die jetzige ist. Das sollte aber nicht so sein. Mit
Delphi-Quellcode:
...
and (StrtoTime(lv_eintraege.Items[i].SubItems[2])=time)
...
Hat ers auch nich gemacht. Hab die ganze Sache in n Timer, damit es auch immer überprüft wird.
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#6

Re: In XML schreiben, nachdem Meldung angezeigt!

  Alt 9. Sep 2003, 15:24
Dann schau nochmal nach wer dich auf die Idee mit dem >= gebracht hat.
Das mußt du auch so machen, da der Timer wie damals gesagt und erklärt "Aussetzer" haben kann.

Die erste TerminID hat doch in der XML Datei den Wert 1 (ausgehend von dem ScreenShot aus einem deiner anderen Postings), oder doch den Wert 0?
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: In XML schreiben, nachdem Meldung angezeigt!

  Alt 9. Sep 2003, 15:25
@Tpercon: das kann man beliebig festlegen, dann es bei XML (AFAIK wohl gemerkt ) keine Art Index mit auto increment gibt (schön wär's).

Chris
  Mit Zitat antworten Zitat
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#8

Re: In XML schreiben, nachdem Meldung angezeigt!

  Alt 9. Sep 2003, 15:27
Ja, von dir habsch den!!

Na der erste Termin beginnt mit ID 1!! hab i jetzt auch auf 1 gesetzt ---> Kein Erfolg
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#9

Re: In XML schreiben, nachdem Meldung angezeigt!

  Alt 9. Sep 2003, 15:28
Dann ändere deinen Code mal folgendermaßen:
Delphi-Quellcode:
procedure Tfrm_terminplaner_main.Timer2Timer(Sender: TObject);
var
  i: integer;
  node: IXMLDOMNode;
  newTermin, newSub: IXMLDOMNode;
begin
    for i:=0 to lv_eintraege.Items.Count-1 do begin
      if (StrtoDate(lv_eintraege.Items[i].SubItems[1])=date)
      and (StrtoTime(lv_eintraege.Items[i].SubItems[2])>=time)
      and (xmlDoc.selectSingleNode('/PlanView/termin[terminid="'+IntToStr(i+1)+'"]/AlertShowed').Text='_')
      then begin
                     xmlDoc.selectSingleNode('/PlanView/termin[terminid="'+IntToStr(i+1)+'"]/AlertShowed').Text:='x';
        xmlDoc.save(frm_terminplaner_main.instpath + xmlfilename);
        ShowMessage('Ihr Termin ('+lv_eintraege.Items[i].SubItems[0]+') beginnt!');
      end;
    end;
end;
  Mit Zitat antworten Zitat
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#10

Re: In XML schreiben, nachdem Meldung angezeigt!

  Alt 9. Sep 2003, 17:35
Leider passiert nichts!
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz