AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fehler?? Datum1:=strtodatetime('01/01/2001 23:01');
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler?? Datum1:=strtodatetime('01/01/2001 23:01');

Ein Thema von Frankle · begonnen am 26. Jul 2002 · letzter Beitrag vom 27. Jul 2002
Antwort Antwort
Seite 1 von 2  1 2      
Frankle

Registriert seit: 10. Jun 2002
18 Beiträge
 
#1

Fehler?? Datum1:=strtodatetime('01/01/2001 23:01');

  Alt 26. Jul 2002, 18:35
Hallo!
Datum1 ist vom Typ TDateTime. Nun möchte ich eine bestimmte Zeit und ein bestimmtes Datum zuweisen. In der Hilfe steht, man soll dies nach dem System machen:
Datum1:=strtodatetime('01/01/2001 23:01');
Geht abba net *hoil
Was ist falsch?
-----------------------------
God Safe QUEEN
"The Show Must Go On"
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#2
  Alt 26. Jul 2002, 18:44
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  Datum1: TDateTime;
begin
  Datum1 := StrToDateTime('01/01/2001 23:01');
  ShowMessage(DateTimeToStr(Datum1));
end;
Kann ich Kompilieren.
Wenn ich das SM weglass, dann kommt nur die Warnung dass Datum1 nie benutzt wird.

Was ist das Problem? Fehlermeldung? Mehr Infos Bitte!
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#3
  Alt 26. Jul 2002, 18:48
Hehe .. wahrscheinlich liegt es an den Variablen, die in Delphi steuern, wie ein gültiges Datum auszusehen hat. Denn die Delphi-Hilfe schreibt weiter:
Zitat von Delphi-Hilfe:
Note:
Daniel R. Wolf
  Mit Zitat antworten Zitat
Frankle

Registriert seit: 10. Jun 2002
18 Beiträge
 
#4

compilieren

  Alt 26. Jul 2002, 18:49
Hi!
Danke für deine schnelle Hilfe
Kompilieren kann ich auch noch. Aber wenn ich auf den Button klick, bekomm ich ne EConvertError kein Gültiger Datum-Zeit-Wert (frei nach mia).
Muss ich vielleicht irgendwas mit Format machen??
-----------------------------
God Safe QUEEN
"The Show Must Go On"
  Mit Zitat antworten Zitat
Frankle

Registriert seit: 10. Jun 2002
18 Beiträge
 
#5

delphi5

  Alt 26. Jul 2002, 18:51
Hi!
Ich hab Delphi5! Kannst du mir konkret sagen...wie ich das hinbekomm? Dankö
-----------------------------
God Safe QUEEN
"The Show Must Go On"
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#6
  Alt 26. Jul 2002, 18:53
Hmm... Ich nicht das Prog starten, sondern nur Kompilieren weil bei mir das Windows kaputt ist.
Willst du die Systemzeit ändern?
  Mit Zitat antworten Zitat
Frankle

Registriert seit: 10. Jun 2002
18 Beiträge
 
#7

Nee

  Alt 26. Jul 2002, 18:55
Nein. Ich will einen Countdown basteln. Die Funktion hab ich schon. Die benötigt abba nen TDateTime. Sagt euch:
{ StrToDate converts the given string to a date value. The string must
consist of two or three numbers, separated by the character defined by
the DateSeparator global variable. The order for month, day, and year is
determined by the ShortDateFormat global variable--possible combinations
are m/d/y, d/m/y, and y/m/d. If the string contains only two numbers, it
is interpreted as a date (m/d or d/m) in the current year. Year values
between 0 and 99 are assumed to be in the current century. If the given
string does not contain a valid date, an EConvertError exception is
raised. } Quelle: Sysutils


was?
-----------------------------
God Safe QUEEN
"The Show Must Go On"
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#8
  Alt 26. Jul 2002, 18:57
Probier mal das Jahr in der Zukunft zu wählen. Vielleicht mag es nicht weil das Datum bereits vorbei ist und nicht bis dahin Zählen kann.
  Mit Zitat antworten Zitat
Frankle

Registriert seit: 10. Jun 2002
18 Beiträge
 
#9
  Alt 26. Jul 2002, 19:00
Ich bekomm den gleichen Fehler wieder ;(
-----------------------------
God Safe QUEEN
"The Show Must Go On"
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#10
  Alt 27. Jul 2002, 03:03
Moin Frankle,

im Prinzip hat Daniel die Lösung schon gegeben:

Code:
Datum1 := StrToDateTime('01'+DateSeparator+'01'+DateSeparator+'2001 23'+TimeSeparator+'01');
Das Datum kann nur dann von StrToDateTime konvertiert werden, wenn Du auch das richtige Trennzeichen verwendest.
Um dies unabhängig von dem System zu machen, auf dem das Programm läuft, nimmst Du einfach die vordefinierten Variablen.
Das führt erst dann zu einem Fehler, falls jemand, nachdem das Programm gestartet wurde, die Systemeinstellungen für die Trennzeichen verändert.
Diese Variablen werden beim Initialisieren der Unit SysUtils mit Werten gefüllt, also je Programmstart einmal.
Diesen, wohl höchst seltenen Fehlerfall kannst Du dann nur noch umgehen, wenn Du jeweils, bevor Du die Trennzeichen verwendest, diese selber ausliest.
Ich denke aber, dass Du Dir diese Mühe wirklich sparen kannst.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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 22:44 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