Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Inkompatible Typen: TDate' und TLabel (https://www.delphipraxis.net/157364-inkompatible-typen-tdate-und-tlabel.html)

roland0 9. Jan 2011 19:27

Inkompatible Typen: TDate' und TLabel
 
Hallo,
ich habe diese Fehlermeldung die ich nicht verstehe.

Delphi-Quellcode:
var days: array[1..7] of string;
begin
  days[1] := 'Sonntag';
  days[2] := 'Montag';
  days[3] := 'Dienstag';
  days[4] := 'Mittwoch';
  days[5] := 'Donnerstag';
  days[6] := 'Freitag';
  days[7] := 'Samstag';

  l_datum.Caption := days[DayOfWeek(Date)] + ', ' + Datetostr(date);//Hier tritt die o.g. Fehlermeldung auf.
end;
Dieser Fehler tritt bei allen Labels, Edits und sogar am Kalender auf.
Vielleicht sieht ja jemand etwas was ich nicht sehe:
Für eure Hilfe bedanke ich mich.

LG Roland

jbg 9. Jan 2011 19:45

AW: Inkompatible Typen: TDate' und TLabel
 
Du hast nicht zufälligerweise eine TLabel auf dem Formular, das den Namen "Date" hat?

Bummi 9. Jan 2011 19:54

AW: Inkompatible Typen: TDate' und TLabel
 
Der Code ist sauber wenn auch unnötig (LongDayNames[]), der Fehler muß außerhalb des Codes liegen.

Neutral General 9. Jan 2011 20:26

AW: Inkompatible Typen: TDate' und TLabel
 
Entweder das Label umbenennen oder statt DateToStr(Date) einfach DateToStr(now) benutzen.

roland0 9. Jan 2011 20:50

AW: Inkompatible Typen: TDate' und TLabel
 
Vielen Dank für die schnellen Antworten.

Das Problem besteht nicht nur bei dem Besispielcode.
Bei dem Kalender zeigt er den gleichen Fehler an.

DateTimePicker.Date := date;

Ich weiß keinen Rat.

LG

jbg 9. Jan 2011 20:52

AW: Inkompatible Typen: TDate' und TLabel
 
Probiere es mal mit dem vollqualifizierten Namen: "SysUtils.Date()"

Klaus01 9. Jan 2011 20:53

AW: Inkompatible Typen: TDate' und TLabel
 
.. und Du hast wirkliche alle Beiträge durchgelesen und die Hinweise bedacht?

Gute Nacht
Klaus

roland0 9. Jan 2011 20:59

AW: Inkompatible Typen: TDate' und TLabel
 
Ich habe kein Label oder andere Komponenten mit dem Namen Date.
Ich werde es jetzt mal mit SysUtils.Date() probieren.

roland0 9. Jan 2011 21:03

AW: Inkompatible Typen: TDate' und TLabel
 
Mit SYSUtils hat es funktioniert.
Die Frage bleibt trotzdem: Warum geht es nicht mit 'date'?
Wenn ich ein neues Projekt erzeuge und es mit z.B.

label1.caption := datetostr(date);

probiere, geht es.
Nur in meinem eigentlichen Projekt nicht. Die Uses sind alle vorhanden.
Für die Hilfe bedanke ich mich.
LG

Neutral General 9. Jan 2011 21:14

AW: Inkompatible Typen: TDate' und TLabel
 
Ganz einfach. Weil du ein Label auf deiner Form hast mit dem Namen "Date". Eine andere Möglichkeit/Erklärung gibt es nicht.

roland0 9. Jan 2011 21:16

AW: Inkompatible Typen: TDate' und TLabel
 
Ich werden noch mal suchen. Vielleicht habe ich es gerade übersehen.

Vielen Dank

himitsu 9. Jan 2011 21:23

AW: Inkompatible Typen: TDate' und TLabel
 
Mit Strg + linke Maustaste aud das Wort "Date" klicken und dann schauen wohin du geleitet wirst.
Bzw einfach mal in den Hint reinschauen, welcher erscheint, wenn die Maus eine Weile über "Date" liegt.

scrat1979 10. Jan 2011 09:11

AW: Inkompatible Typen: TDate' und TLabel
 
Schau Dir auch mal die Funktion FormatDateTime() an. Ein Link habe ich Dir hier.... Du sparst Dir den Umweg über den Array und es sieht "schöner" aus...

Viel Erfolg!

himitsu 10. Jan 2011 10:14

AW: Inkompatible Typen: TDate' und TLabel
 
Zitat:

Zitat von scrat1979 (Beitrag 1073591)
Ein Link habe ich Dir hier....

und Delphi-Referenz durchsuchenFormatDateTime

roland0 11. Jan 2011 14:43

AW: Inkompatible Typen: TDate' und TLabel
 
Ich habe den Fehler gefunden.
Bei der Übernahme von Labeln aus einer anderen Form ist es passiert. Dort gabe es ein Label mit dem Namen "Date".

Vielen Dank für die Hilfen

hoika 11. Jan 2011 16:02

AW: Inkompatible Typen: TDate' und TLabel
 
Hallo,

deshalb sollten alle Komponenten einen Vorspann haben, z.b. Lbl.


Heiko

himitsu 11. Jan 2011 17:42

AW: Inkompatible Typen: TDate' und TLabel
 
Ich halte eigentlich nicht viel von diesen Präfixen.
Selbst MS hat inzwischen zugegeben, daß die Typ-Präfixe in ihren APIs nicht das Wahre sind.
(abgesehn davon, daß diese Abkürzungen nicht unbedingt aussagekräftig/eindeutig sind ... cb = ComboBox oder doch eher CheckBox? )

Aber dennoch wäre eine aussagekräftige Namensgebung nicht grad hinderlich.

rollstuhlfahrer 11. Jan 2011 19:37

AW: Inkompatible Typen: TDate' und TLabel
 
Also für Delphi-Beginner finde ich sie aber dennoch hilfreich, da man somit durchaus eine gewisse Logik und einen Überblick in das Programm bekommt. Außerdem ist man dann gezwungen, die Komponenten umzubenennen, weil in meinem Info-Unterricht gab es gerne auch Oberflächen, die die Komponenten Edit1-13, Label1-24, ... hatten. Das hat fast eine Stunde gedauert, um da aussagekräftige Namen einzubauen.

Bernhard

Medium 11. Jan 2011 19:57

AW: Inkompatible Typen: TDate' und TLabel
 
@Himi: Wenn man dort sinnige Kürzel nimmt, ist das überhaupt kein Problem: lbl (TLabel) versus lb (TListBox) oder cb (TCombobox) versus chk (TCheckbox) sind so Kandidaten zum Beispiel. Im Studium hat man mir die sprechenden Bezeichner "nahegelegt", wo dann Dinge wie "Option1Checkbox" oder "CustomerEntryTextfield" bei raus kommen sollten. "ckhOption1" und "memCustomer" lese ich zumindest erheblich schneller, und es setzt sich deutlich besser von anderen Variablen und Methodenaufrufen ab. Am Ende ist es aber halt auch wieder eine Geschmackssache - wobei "Date" in keinem Fall gut weg kommt. Wenn schon, dann etwas wie "DateDisplayLabel", aber nach meinem Gusto am besten "lblDate".

himitsu 11. Jan 2011 20:31

AW: Inkompatible Typen: TDate' und TLabel
 
ja, beruflich versuche ich mich auch grade mit solchen Prefixen zu arrangieren, aber leider ist so eben kein einheitliches Muster hinzubekommen, also nach welchem Muster man "intelligenT" abkürzt.


DateTimePicker dtp
ComboBox cb
CheckBox chk
Button btn
ToolButton tb
...

Medium 11. Jan 2011 21:47

AW: Inkompatible Typen: TDate' und TLabel
 
Eijo, ist halt "phonetisch sinnvoll" abgeleitet, nicht mathematisch algorithmisch :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 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