Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi datum ermitteln (https://www.delphipraxis.net/120154-datum-ermitteln.html)

Delphi-Phil 6. Sep 2008 09:04


datum ermitteln
 
Hallo zusammen,

ich möchte gerne ein Programm schreiben, mir dem Ich jeden Tag aufs neue angezeigt bekomme werde heute Geburtstag hat.

Die daten kommen aus einer ACT! Datenbank, ist ein SQL Server. Ich steuer den SQL Server mit ADO an.

Wie kann ich das Datum des heutigen Tages auslesen??

Wie würdet Ihr vorgehen?

Das Teil muss jetzt auch noch als Dienst laufen!

Und unten rechts in der Infoleiste!

grenzgaenger 6. Sep 2008 09:06

Re: datum ermitteln
 
Delphi-Referenz durchsuchendate

DeddyH 6. Sep 2008 09:06

Re: datum ermitteln
 
Zitat:

Zitat von Delphi-Phil
Wie kann ich das Datum des heutigen Tages auslesen??

Mit der Funktion Date(). Leider kenne ich ACT! jetzt nicht, sonst würde ich den Vergleich nicht auf Delphi-Ebene machen, sondern mir gleich eine entsprechende SQL-Abfrage zusammenbauen.

BullsEye 6. Sep 2008 09:20

Re: datum ermitteln
 
Delphi-Quellcode:
Label1.Caption := DateToStr(date);
Und du bekommst das Datum von heute

Delphi-Quellcode:
Label1.Caption := TimeToStr(time);
Und du bekommst die Uhrzeit. Allerdings nur wenn die Systemuhrzeit richtig eingestellt ist!


Zitat:

Und unten rechts in der Infoleiste!
Hier im Forum suchenCoolTrayIcon

Delphi-Phil 6. Sep 2008 09:24

Re: datum ermitteln
 
wie muss denn der var typ sein, wenn ich es so machen will:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
date : String;
begin
date:= DateToStr(date);
Label1.Caption := date;
end;

mkinzler 6. Sep 2008 09:26

Re: datum ermitteln
 
Ich würde die Variable nicht Date nennen!

DeddyH 6. Sep 2008 09:26

Re: datum ermitteln
 
Und Du brauchst eine Variable vom Typ TDate.

mkinzler 6. Sep 2008 09:31

Re: datum ermitteln
 
Warum DateToStr() ergibt doch einen String?

Delphi-Phil 6. Sep 2008 09:34

Re: datum ermitteln
 
ja muss es denn ein Strig sein oder nicht??

wie muss es denn sein?

ich möchte jetzt erstmal nur zum testen das Datum von heute auf einem label ausgeben!

mkinzler 6. Sep 2008 09:36

Re: datum ermitteln
 
Dann kannst du dafür auf eine Variable verzichten:
Delphi-Quellcode:
Label1.Caption := DateToStr(date);

Delphi-Phil 6. Sep 2008 09:36

Re: datum ermitteln
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
datum_heute : TDate;
begin
datum_heute:= DateToStr(date);
Label1.Caption := date;
end;
[DCC Fehler] Unit1.pas(37): E2010 Inkompatible Typen: 'TDate' und 'string'
[DCC Fehler] Unit1.pas(38): E2010 Inkompatible Typen: 'string' und 'TDateTime'
[DCC Fehler] Project1.dpr(5): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

Delphi-Phil 6. Sep 2008 09:36

Re: datum ermitteln
 
ja aber später brauche ich es in einer variable!

edit: z.B.: In einer SQL Abfrage!

mkinzler 6. Sep 2008 09:38

Re: datum ermitteln
 
Für den Datumswert oder das Datum als String?

DeddyH 6. Sep 2008 09:39

Re: datum ermitteln
 
Delphi-Quellcode:
var heute: TDate;
begin
  heute := date;
  Label1.Caption := FormatDateTime('dd.mm.yyyy',heute);
end;

Delphi-Phil 6. Sep 2008 09:42

Re: datum ermitteln
 
ich muss später eine sql abfrage machen die in etwa so aussehen wird:

SQL-Code:
select vorname, nachname from contacts where birthdy = datum_heute order by nachname

BullsEye 6. Sep 2008 09:44

Re: datum ermitteln
 
hä?

Ist doch ganz Easy, du brauchst da keine Variable für. Hätte ich sonst doch dazugeschrieben ^^

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.Caption := DateToStr(date);
end;

So, und der gibt das Datum aus ;)

mkinzler 6. Sep 2008 09:45

Re: datum ermitteln
 
@BullsEye: Du hast den thread nicht verfolgt, oder?

DeddyH 6. Sep 2008 09:52

Re: datum ermitteln
 
Er braucht keinen String, sondern das Datum (genauer gesagt nur Tag und Monat).

BullsEye 6. Sep 2008 09:57

Re: datum ermitteln
 
Oh, sry hab die letzten Threads nicht wirklich gelesen

Delphi-Quellcode:
var heute: TDate;

...

procedure TForm1.Button1Click(Sender: TObject);
begin
  heute := date;
  Label5.Caption := FormatDateTime('dd.mm',heute);
end;
Zitat:

select vorname, nachname from contacts where birthdy = heute order by nachname
So müsste das dann doch gehen?

Delphi-Phil 6. Sep 2008 10:03

Re: datum ermitteln
 
nein nicht ganz,

es kommt das hier:

Zitat:

[DCC Fehler] Unit1.pas(48): E2010 Inkompatible Typen: 'WideString' und 'TDate'
[DCC Fehler] Project1.dpr(5): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

mein Code sieht so aus:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var heute: TDate;
begin
heute := date;
ADOQuery1.Parameters.ParamByName(heute);
end;
SQL-Code:
select *from Kontakt where Birth Date = :heute

DeddyH 6. Sep 2008 10:05

Re: datum ermitteln
 
Dir ist aber klar, dass Du damit nur diejenigen bekommen würdest, die heute geboren wurden (also die Säuglinge)?

mkinzler 6. Sep 2008 10:06

Re: datum ermitteln
 
Der Typ des Datenbankfeldes scheint eine String zu sein

DeddyH 6. Sep 2008 10:08

Re: datum ermitteln
 
Wer macht denn sowas?

mkinzler 6. Sep 2008 10:10

Re: datum ermitteln
 
Kommt sehr häufig vor. Viele denken sie wären flexibler, wenn sie alle Felder als Zeichenketten anlegen

DeddyH 6. Sep 2008 10:13

Re: datum ermitteln
 
Na super, jetzt müssen wir mit SUBSTR hantieren. Wie sieht das Format denn aus?

mkinzler 6. Sep 2008 10:18

Re: datum ermitteln
 
Oder er korrigiert sein Datenbankschema

Delphi-Phil 6. Sep 2008 10:21

Re: datum ermitteln
 
am datenbankshema kann ich nichts ändern!!

Ich kann nur aus der Datenbank auslesen!

ich habe einen OLE DB ACT! ReadOnly Treiber!

DeddyH 6. Sep 2008 10:21

Re: datum ermitteln
 
Ist ja nicht seins, wenn ich das richtig verstanden habe.

mkinzler 6. Sep 2008 10:23

Re: datum ermitteln
 
Wenn es im deutschen Format ist, dann könnte man es mit eiern Like-Abfrage versuchen

Delphi-Phil 6. Sep 2008 10:23

Re: datum ermitteln
 
genau das ist nicht meins!

Ich brauche für den Sql befehl nur den Tag und den Monat !

Und dass muss ich mit dem Tag und Monat in der Datenbank vergleichen!

DeddyH 6. Sep 2008 10:24

Re: datum ermitteln
 
@Phil, nun rück dochmal damit raus, wie so ein Datum als String aussieht.

mkinzler 6. Sep 2008 10:25

Re: datum ermitteln
 
Wie sieht den das Format nun genau aus?

Delphi-Phil 6. Sep 2008 10:29

Re: datum ermitteln
 
ich würde euch das gerne sagen.
nur wie bekomme ich das raus?ß

Delphi-Phil 6. Sep 2008 10:30

Re: datum ermitteln
 
achso...

jetzt checke ich das...


wie es in dem feld steht!

so: 09.02.1990 23:00:00


ich hab auch keine ahnung warum da noch eine uhrzeit mit drin steht!

In dem ACT! wird in diesem Feld keiene Uhrzeit angezeigt!

mkinzler 6. Sep 2008 10:30

Re: datum ermitteln
 
Lass dir das Feld doch mal anzeigen :zwinker:

Delphi-Phil 6. Sep 2008 10:31

Re: datum ermitteln
 
in einem edit oder was??

da steht es so drin: 09.02.1990 23:00:00

mkinzler 6. Sep 2008 10:33

Re: datum ermitteln
 
Unsere Beiträge hatten sich überschnitten.
In diesem Fall könntest du es mit einer Like-Abfrage versuchen

DeddyH 6. Sep 2008 10:39

Re: datum ermitteln
 
Also, das aktuelle Datum mit
Delphi-Quellcode:
FormatDateTime('dd.mm',date)
ermitteln und dann wie Markus schon sagt mit
SQL-Code:
LIKE '<datum>%'
abfragen.

Delphi-Phil 6. Sep 2008 10:42

Re: datum ermitteln
 
also: der sql code ist jetzt so:

SQL-Code:
select *from Kontakt like Birth Date = :heute
und er button so:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var heute: TDate;
begin
heute := FormatDateTime('dd.mm',date)
ADOQuery1.Parameters.ParamByName(heute);
end;
dann kommt dieser fehler:

Zitat:

[DCC Fehler] Unit1.pas(48): E2010 Inkompatible Typen: 'TDate' und 'string'
[DCC Fehler] Unit1.pas(48): E2010 Inkompatible Typen: 'WideString' und 'TDate'
[DCC Fehler] Project1.dpr(5): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

mkinzler 6. Sep 2008 10:45

Re: datum ermitteln
 
heute muss ein String saein


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 Uhr.
Seite 1 von 2  1 2      

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