AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Terminkalender mit Listbox

Ein Thema von kurzer_newbie · begonnen am 18. Aug 2004 · letzter Beitrag vom 18. Aug 2004
Antwort Antwort
Seite 1 von 2  1 2      
kurzer_newbie

Registriert seit: 5. Sep 2003
Ort: Hamburg
20 Beiträge
 
Delphi 7 Enterprise
 
#1

Terminkalender mit Listbox

  Alt 18. Aug 2004, 12:34
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:
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.
Ich hoffe es kann mir jemand helfen, weil

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]
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Terminkalender mit Listbox

  Alt 18. Aug 2004, 12:40
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
Frederic Kerber
  Mit Zitat antworten Zitat
KrasserChecker

Registriert seit: 21. Jul 2004
120 Beiträge
 
#3

Re: Terminkalender mit Listbox

  Alt 18. Aug 2004, 12:44
Hallo erstmal, probiert mal folgendes:

Zu Problem 1:
Das könnte in der der Timer-Methode stehen:

Delphi-Quellcode:
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;
Zu Problem 2:
Ein Aufruf der Methoden "SaveToFile" bzw. "LoadFromFile" könnten da Linderung schaffen.
Z.B.:
Im "OnCreate"-Ereignis:
  ListBox1.Items.LoadFromFile('c:\test.txt'); Im "OnDestroy"-Ereignis:

  ListBox1.Items.SaveToFile('c:\test.txt');
  Mit Zitat antworten Zitat
kurzer_newbie

Registriert seit: 5. Sep 2003
Ort: Hamburg
20 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Terminkalender mit Listbox

  Alt 18. Aug 2004, 12:47
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
  Mit Zitat antworten Zitat
kurzer_newbie

Registriert seit: 5. Sep 2003
Ort: Hamburg
20 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Terminkalender mit Listbox

  Alt 18. Aug 2004, 13:23
He vielen Dank
ihr schreibt ja schneller als ich lesen kann.



Zitat:
Das könnte in der der Timer-Methode stehen:

Delphi-Quellcode:
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;
Das funzt so nicht jetzt kommt jede sekunde die Message, und es steht tag, uhrzeit und nachricht,
ich wollte aber nur nachricht.

Gruß
Kurzer
  Mit Zitat antworten Zitat
KrasserChecker

Registriert seit: 21. Jul 2004
120 Beiträge
 
#6

Re: Terminkalender mit Listbox

  Alt 18. Aug 2004, 13:36
Du brauchst doch nur den angezeigten Eintrag wieder zu löschen. Allerdings sollte die Schleife dann abwärts laufen.
Delphi-Quellcode:
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;
Und wenn Du nur den Text haben willst muss Du halt den Text nach Datum & Uhrzeit nehmen:
Delphi-Quellcode:
  .
  .
  .
  s:= ListBox1.Items[i];
  s:= Copy(s,Length(d)+Length(t)+' ',Length(s));
  Mit Zitat antworten Zitat
kurzer_newbie

Registriert seit: 5. Sep 2003
Ort: Hamburg
20 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Terminkalender mit Listbox

  Alt 18. Aug 2004, 14:04
Hi

Zitat:
s:= Copy(s,Length(d)+Length(t)+' ',Length(s));
ich bekomme hier ne Fehlermeldung: Inkompatible Typen bei ',Length(s)

Gruß
Kurzer

PS.: geht es denn auch anders, wenn ja wonach sollte ich suchen, oder wo gibts Beispiele
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#8

Re: Terminkalender mit Listbox

  Alt 18. Aug 2004, 14:12
Hi!

Ich vermute so:

s:= Copy(s,Length(d)+Length(t)+2,Length(s)-Length(d)-Length(t)-2); Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
KrasserChecker

Registriert seit: 21. Jul 2004
120 Beiträge
 
#9

Re: Terminkalender mit Listbox

  Alt 18. Aug 2004, 14:13
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
  Mit Zitat antworten Zitat
kurzer_newbie

Registriert seit: 5. Sep 2003
Ort: Hamburg
20 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Terminkalender mit Listbox

  Alt 18. Aug 2004, 14:30
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
  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 10:36 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