![]() |
variable zahl eintäge in tlistbox oder advsmoothlistbox
Hallo und schönen Sonntag Morgen
Ich hab Delphi 2010 und folgendes Problem und zwar möchte ich mit einträgen in einer advsmoothtlistbox was machen das mach ich bis her so
Delphi-Quellcode:
aber ich möchte nicht da eine 0 haben sondern so das er das bei 0-100 macht und es geht bestimmt kürzer als immer hinternander das machen nur mit einer zahl mehr
if advsmoothlistbox1.Items[0].Info = DatetoStr(Date) then begin
timer1.Enabled:=False ;beep;showmessage(advsmoothlistbox1.Items[0].Caption+' hat heute Geburtstag'); if advsmoothlistbox1.Items[0].ButtonCaption <> 'E-Mail Adresse' then begin mail := 0; action3.Execute; end;end; ihr könnt mir das auch anhand einer normalen listbox erklären:-D |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Da bietet sich z.B. eine For-Schleife an.
|
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Huch, so macht man das eigentlich gar nicht ;)
Die Daten hält man in einer Liste
Delphi-Quellcode:
Die Einträge aus dieser Liste werden dann in der ListBox angezeigt.
TDataItem = class
property Geburtstag : TDateTime; property Email : string; end; TDataList = TObjectList< TDataItem >; Irgendwelche Arbeiten werden dann direkt mit den ListenEinträgen der TDataList erledigt. Die ganze Logik baut man um die Daten und nicht um die Anzeige. |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Hi,
darüberhinaus würde ich dir dringend empfehlen, deinen Code besser zu strukturieren - z.B. durch Einrückungen. Folgendes finde ich viel übersichtlicher und somit besser verständlich:
Delphi-Quellcode:
if advsmoothlistbox1.Items[0].Info = DatetoStr(Date) then
begin timer1.Enabled:=False; beep; showmessage(advsmoothlistbox1.Items[0].Caption+' hat heute Geburtstag'); if advsmoothlistbox1.Items[0].ButtonCaption <> 'E-Mail Adresse' then begin mail := 0; action3.Execute; end; end; LG, Frederic |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Vor allem, weil Delphi 2010 einen Code-Formatter hat, wo das mit einer Tasten-Kombination erledigt ist
Code:
Strg-D
|
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Ok dann müsste es so besser sein aber wie krig ich das hin das ich unendlich einträge haben kann und nicht nur wie in diesem falle 2
Delphi-Quellcode:
if AdvSmoothListBox1.Items[0].Info = Datetostr(Date) then
begin Timer1.Enabled := False; beep; showmessage(AdvSmoothListBox1.Items[0].Caption + ' hat heute Geburtstag'); if AdvSmoothListBox1.Items[0].ButtonCaption <> 'E-Mail Adresse' then begin mail := 0; Action3.Execute; end; end; if AdvSmoothListBox1.Items[1].Info = Datetostr(Date) then begin Timer1.Enabled := False; beep; showmessage(AdvSmoothListBox1.Items[1].Caption + ' hat heute Geburtstag'); if AdvSmoothListBox1.Items[1].ButtonCaption <> 'E-Mail Adresse' then begin mail := 1; Action3.Execute; end; end; |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Was erwartest du?
Du formatierst deinen Code und alles ist gut? Bitte benutze doch die Delphi-Tags |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Delphi-Quellcode:
for i := 0 to AdvSmoothListBox1.Items.Count - 1 do
begin if AdvSmoothListBox1.Items[i].Info = Datetostr(Date) then ... |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Ich glaub so funktionierts an ne for schleife hab ich garnicht gedacht Fail
Delphi-Quellcode:
*edit*0ist besser ok Danke
var I:integer;
begin try for I := 1 to advsmoothlistbox1.Items.Count -1 do begin if AdvSmoothListBox1.Items[i].Info = Datetostr(Date) then begin Timer1.Enabled := False; beep; showmessage(AdvSmoothListBox1.Items[i].Caption + ' hat heute Geburtstag'); if AdvSmoothListBox1.Items[i].ButtonCaption <> 'E-Mail Adresse' then begin mail := i; Action3.Execute; end; end; |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Und was ist mit dem ersten Eintrag? Und was passiert, wenn überhaupt keine Einträge vorhanden sind? Übrigens: verwende doch Delphi-Tags anstatt Code-Tags.
[edit] Aha, selber gemerkt :) [/edit] |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
sry aber was sind delphi tags und was sind code tags
|
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Hi,
[delphi][/delphi] sind die Delphi-Tags. Das bewirkt die schöne Darstellung des Codes im Beitrag - kann auch über das Delphi-Symbol im Editor eingefügt werden. LG, Frederic |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
ahhh Ok bin neu hier im forum
Delphi-Quellcode:
So oder ?
|
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Hi,
kein Problem - ja, genau so. LG, Frederic |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Aber eine sache hab ich noch selbes programm anderer punkt soll ich ein neues thema machen oder nicht
weil das programm ist ja ein Geburtstags errinerer und da mus man ja logischer weise den tag des geburtstags eintragen ich hab das nur halb hingekriegt also es geht aber nur1 mal also kann ich den 28.11.2010 eintragen aber am 28.11.2011 wird er mich nicht errinern
Delphi-Quellcode:
und die tage bis zu dem im datepicker angegeben tag berechnet er mit
var
jahr, monat, tag: Word; begin DecodeDate(Date, jahr, monat, tag); DatePicker.Date := Date; DatePicker.Calendar.MinDate := Date; DatePicker.Calendar.MaxDate := Date + 365;
Delphi-Quellcode:
AdvSmoothListBox1.Items[i].Notes := inttostr
(DaysBetween(strtodate(AdvSmoothListBox1.Items[i].Info), now)) + ' Tage noch'; |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
Hi,
mach am Besten eine neue Frage auf - das erhöht die Übersichtlichkeit. LG, Frederic |
AW: variable zahl eintäge in tlistbox oder advsmoothlistbox
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 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