![]() |
Re: ShowMessage OnTimer
Poste nochmal deinen jetzigen Code!
|
Re: ShowMessage OnTimer
Hi Tpercon!! :wink:
Hier der Code vom Timer:
Delphi-Quellcode:
Und hier ma noch der Code vom speichern eines Termins...
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 //node :=xmlDoc.selectSingleNode('/PlanView/termin[terminid="'+IntToStr(i)+'"]'); if (StrtoDate(lv_eintraege.Items[i].SubItems[1])=date) and (StrtoTime(lv_eintraege.Items[i].SubItems[2])=time) and (xmlDoc.selectSingleNode('/PlanView/termin[id="'+IntToStr(i)+'"]/AlertShowed').Text='_') then begin ShowMessage('Ihr Termin ('+lv_eintraege.Items[i].SubItems[1]+') beginnt!'); newTermin := xmldoc.createElement('termin'); newSub := xmlDoc.createElement('AlertShowed'); newSub.text :='x'; newTermin.appendChild(newSub); end; end; end;
Delphi-Quellcode:
Gruß,
procedure Tfrm_terminplaner_main.bn_speichernClick(Sender: TObject);
var newTermin, newSub: IXMLDOMNode; begin if DateToStr(cb_von_datum.Date)>= DateToStr(now) then begin if (ed_terminbez.Text='') then begin ShowMessage('Bitte geben Sie eine Terminbezeichnung ein'); exit; end; newTermin := xmldoc.createElement('termin'); newSub := xmldoc.createElement('terminid'); newSub.text := IntToStr(frm_terminplaner_main.lv_eintraege.Items.Count + 1); newTermin.appendChild(newSub); newSub := xmlDoc.createElement('terminbez'); newSub.text := ed_terminbez.Text; newTermin.appendChild(newSub); newSub := xmlDoc.createElement('datum'); newSub.text :=DateToStr(cb_von_datum.Date); newTermin.appendChild(newSub); newSub := xmlDoc.createElement('uhrzeit'); newSub.text := ed_von_uhrzeit.Text; newTermin.appendChild(newSub); newSub := xmlDoc.createElement('bemerkung'); newSub.text := ed_bemerkung.Text; newTermin.appendChild(newSub); newSub := xmlDoc.createElement('AlertShowed'); newSub.text := '_'; newTermin.appendChild(newSub); xmlDoc.documentElement.appendChild(newTermin); xmlDoc.save(frm_terminplaner_main.instpath + xmlfilename); StatusBar1.Panels[2].Text:='Ihr Termin ('+ed_terminbez.Text+') wurde erfolgreich gespeichert! '; Timer1.Enabled:=true; cb_von_datum.Date:=now; ed_terminbez.Clear; ed_bemerkung.Clear; ed_von_uhrzeit.Text:=TimeToStr(now); frm_terminplaner_main.UpdateList; FocusControl(lv_eintraege); Label1.Caption:='erfasste Termine ('+IntToStr(lv_eintraege.Items.Count)+')'; end else ShowMessage('Das ausgewählte Datum liegt in der Vergangenheit! Bitte ändern Sie ihre Eingabe'); end; |
Re: ShowMessage OnTimer
Was ich wohl nicht so ganz verstehe, ist, dass du da
Delphi-Quellcode:
und da
if (StrtoDate(lv_eintraege.Items[i].SubItems[1])=date)
Delphi-Quellcode:
auf das SubItem[1] verweist?! Im Vergleich wird da nen Datum erwartet und in der Message würde ich sinngemäß einen Text erwarten.
ShowMessage('Ihr Termin ('+lv_eintraege.Items[i].SubItems[1]+') beginnt!');
|
Re: ShowMessage OnTimer
Naja also die Zeile für die Message muss so aussehen..
Delphi-Quellcode:
Aber das is ja erstma egal, da so oder so keine Message kommt. :cry:
ShowMessage('Ihr Termin ('+lv_eintraege.Items[i].SubItems[0]+') beginnt!');
|
Re: ShowMessage OnTimer
Kommt jetzt weiterhin irgendwo zur Laufzeit ne Fehlermeldung oder kommt einfach keine Message?
|
Re: ShowMessage OnTimer
Liste der Anhänge anzeigen (Anzahl: 1)
Ne kommt keine Fehlermeldung! Aber Das Datum is auch korrekt drin. :wall: Man es kann doch nich sein... :? Hier is ma n Screenshot meiner XML Datei.
|
Re: ShowMessage OnTimer
Hi,
in der Zeile
Delphi-Quellcode:
muss es wohl
and (xmlDoc.selectSingleNode('/PlanView/termin[id="'+IntToStr(i)+'"]/AlertShowed').Text='_')
Delphi-Quellcode:
Schau dir mal diese beiden Zeilen + die Fehlerzeile + die XML-Datei an. Dann würdest du sogar selber draufkommen. :roll:
and (xmlDoc.selectSingleNode('/PlanView/termin[terminid="'+IntToStr(i)+'"]/AlertShowed').Text='_')
Chris |
Re: ShowMessage OnTimer
:wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall:
F**K!! Jetzt klappts. Stimmt, die heißt bei mir ja nich einfach id, sondern terminid. Nur, das er mir dann kein 'x' in AlertShowed einträgt, wenn er die Meldung bringt. Daher kommt die Meldung jede Sekunde in ner Minute. Is da mein Code richtig so?? :oops:
Delphi-Quellcode:
procedure Tfrm_terminplaner_main.Timer2Timer(Sender: TObject);
var i: integer; node: IXMLDOMNode; newTermin, newSub: IXMLDOMNode; begin ... then begin ShowMessage('Ihr Termin ('+lv_eintraege.Items[i].SubItems[0]+') beginnt!'); newTermin := xmldoc.createElement('termin'); newSub := xmlDoc.createElement('AlertShowed'); newSub.text :='x'; newTermin.appendChild(newSub); end; ... end; |
Re: ShowMessage OnTimer
Neue Frage -> Neuer Thread, aber weil ich heute mal freundlich bin:
Nein. Damit hängst du an. Ich dachte, du hast das Tutorial gelesen!? Du musst einfach nur auf die Eigenschaft Text zugreifen und speichern. Nicht irgendwie neuanhängen oder so! Chris |
Re: ShowMessage OnTimer
Ja, :wall: habs auch grad auf meinem 'Edit' Form gefunden! :lol:
Man man, ihr hier seid echt klasse. :spin: THX :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz