![]() |
Terminkalender mit Listbox
Hallo Leute
ich bin newbie und versuche gerade einkleines Prog zu schreiben. In dem Prog gebe ich eine nachricht ein, und nach dem drücken des button erscheint es in der listbox. nu soll der timer datum und uhrzeit vergleichen und wenn die mit der aktuellen Zeit gleich sind soll eine Message mit der Nachricht aus der Listbox erscheinen. Hier mal der Code:
Delphi-Quellcode:
Ich hoffe es kann mir jemand helfen, weil
unit calendar_1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; ListBox1: TListBox; Button1: TButton; MonthCalendar1: TMonthCalendar; DateTimePicker1: TDateTimePicker; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var a : string; t, d : string; begin t :=timetostr(datetimepicker1.Time); d :=datetostr(monthcalendar1.Date); a:=(edit1.Text); listbox1.Items.Add(d+' '+t+' '+a); end; procedure TForm1.Timer1Timer(Sender: TObject); begin end; end. Problem 2 wenn ich das Programm beende sind die Termine wech, aber das kommt später. Gruß Kurzer [edit=Admin]Dephi-Tags korrigiert. Mfg, Daniel[/edit] |
Re: Terminkalender mit Listbox
Hi!
Bist du sicher, dass eine Listbox geeignet ist zum Speichern? Um jetzt Datum und Zeit vergleichen zu können musst du ja den String zuerst wieder zerlegen, umwandeln und dann vergleichen. Da gibt es doch bestimmt andere Möglichkeiten der Speicherung (Record?!) Anzeigen kannst du es ja dann immer noch in einer Listbox. Ciao Frederic P.S. Die [dp ] sind für die Suche, die [delphi ] für Quellcode :wink: |
Re: Terminkalender mit Listbox
Hallo erstmal, probiert mal folgendes:
Zu Problem 1: Das könnte in der der Timer-Methode stehen:
Delphi-Quellcode:
Zu Problem 2:
var i:Integer; d,t:String;
begin t :=timetostr(datetimepicker1.Time); d :=datetostr(monthcalendar1.Date); for i:= 0 to ListBox1.Items.Count-1 do begin if Pos(d,ListBox1.Items[i])=0 then Continue; if Pos(t,ListBox1.Items[i])=0 then Continue; ShowMessage(ListBox1.Items[i]); end; end; Ein Aufruf der Methoden "SaveToFile" bzw. "LoadFromFile" könnten da Linderung schaffen. :wall: Z.B.: Im "OnCreate"-Ereignis:
Delphi-Quellcode:
Im "OnDestroy"-Ereignis:
ListBox1.Items.LoadFromFile('c:\test.txt');
Delphi-Quellcode:
ListBox1.Items.SaveToFile('c:\test.txt');
|
Re: Terminkalender mit Listbox
HI
jo ich habe den verkehrten button benutzt. sorry ich bin für jedes beispiel dankbar, es muß nur sekundengenau sein und keine DB. ich habe schon mit ini und xml probiert, nur bin ich zu blöd dazu, hatte gedacht das geht hiermit einfacher. Gruß Kurzer |
Re: Terminkalender mit Listbox
He vielen Dank
ihr schreibt ja schneller als ich lesen kann. Zitat:
ich wollte aber nur nachricht. Gruß Kurzer |
Re: Terminkalender mit Listbox
Du brauchst doch nur den angezeigten Eintrag wieder zu löschen. Allerdings sollte die Schleife dann abwärts laufen.
Delphi-Quellcode:
Und wenn Du nur den Text haben willst muss Du halt den Text nach Datum & Uhrzeit nehmen:
var i:Integer; d,t,s:String;
begin t :=timetostr(datetimepicker1.Time); d :=datetostr(monthcalendar1.Date); for i:= ListBox1.Items.Count-1 downto 0 do begin if Pos(d,ListBox1.Items[i])=0 then Continue; if Pos(t,ListBox1.Items[i])=0 then Continue; s:= ListBox1.Items[i]; ListBox1.Items.Delete(i); ShowMessage(s); end; end;
Delphi-Quellcode:
.
. . s:= ListBox1.Items[i]; s:= Copy(s,Length(d)+Length(t)+' ',Length(s)); |
Re: Terminkalender mit Listbox
Hi :gruebel:
Zitat:
Gruß Kurzer PS.: geht es denn auch anders, wenn ja wonach sollte ich suchen, oder wo gibts Beispiele |
Re: Terminkalender mit Listbox
Hi!
Ich vermute so:
Delphi-Quellcode:
Ciao Frederic
s:= Copy(s,Length(d)+Length(t)+2,Length(s)-Length(d)-Length(t)-2);
|
Re: Terminkalender mit Listbox
Zur Fehlermeldung:
Das kann nur ein Tippfehler sein. Überprüf doch nochmal die Parameter der "Copy"-Methode Zu den anderen Möglichkeiten: Etwas schöner: records und arrays Erheblich schöner (aber für Anfänger wohl etwas zu viel): objekte, klassen & objektlisten |
Re: Terminkalender mit Listbox
Jo Danke
es funzt fast, aber er lässt immer den letzten buchstaben weg. und er machte es immer noch sofort. er soll die message natürlich erst anzeigen wenn Tag und Uhrzeit mit der aktuellen Zeit über einstimmt. Gruß Kurzer |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:00 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 by Thomas Breitkreuz