AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Differenz 2erDatum in Tmemo
Thema durchsuchen
Ansicht
Themen-Optionen

Differenz 2erDatum in Tmemo

Ein Thema von danku · begonnen am 25. Mai 2006 · letzter Beitrag vom 17. Jul 2006
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#1

Differenz 2erDatum in Tmemo

  Alt 25. Mai 2006, 11:32
Delphi-Quellcode:
var zeit1,zeit2:TTime;
Pufferhours,Pufferminutes,Pufferseconds:integer;

...
zeit1:=(Now);
 zeit2:=strtotime(wecktime);

Pufferhours:= HoursBetween(zeit1,Zeit2);
Pufferminutes:= MinutesBetween(zeit1,Zeit2);
Pufferseconds:= SecondsBetween(zeit1,Zeit2);

//erst mal als idee um die zeitdifferenz zu sehen
label7.Caption:=inttostr(Pufferhours)+':'+
                inttostr(Pufferminutes)+':'+
                inttostr(Pufferseconds);

//irgendwie funzt das noch nicht
der hintergrund ist das ich die differenz beider daten
in ein 4-stelliges tmemo basteln möchte.
also wie ein countdown

Zitat:
|------||------| |------||------|
|###||###|: |###||###|
|------||------| |------||------|
Edit: hab gerad das gefunden:
http://www.delphipraxis.net/internal...ifferenz+datum

und wie mach ich das mit dem tmemo?
  Mit Zitat antworten Zitat
HuxXx
(Gast)

n/a Beiträge
 
#2

Re: Differenz 2erDatum in Tmemo

  Alt 25. Mai 2006, 11:42
Zitat von danku:
Edit: hab gerad das gefunden:
http://www.delphipraxis.net/internal...ifferenz+datum

und wie mach ich das mit dem tmemo?
Was genau willst du in die Memo machen???
Bei dem Topic gibt es ja viele Funktionen...

Wenn du was in eine Memo einfügen willst, dann wandle es in einen String um
(DateToStr(..)) und dann füg das ein (Bsp: Memo1.lines.Add(DateToStr(variable))
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Differenz 2erDatum in Tmemo

  Alt 25. Mai 2006, 11:46
naja ich will in dem memo die zeitdifferenz von wecktime und realer time wiedergeben.
wenn z.b. die weckzeit in 5min ist, dann soll der das so in die 4tmemos schreiben:
05:00
04:59... until 00:00

jo habs hier im letzten eintrag gefunden:
http://www.delphipraxis.net/internal...ifferenz+datum
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Differenz 2erDatum in Tmemo

  Alt 25. Mai 2006, 12:06
Hallo danku,

vielleicht hilft dir auch der folgende Code:

Delphi-Quellcode:
procedure Demo;
  var Wecken : TDateTime;
      Restzeit : Real;
      s : string;
begin
  Wecken := Today + StrToTime('17:00');
  Restzeit := Wecken - Now;
  if (Restzeit < 0) then
    s := 'abgelaufen vor %d Tag(en) %s Stunden'
  else
    s := 'noch %d Tag(e) %s Stunden';
  ShowMessage (Format(s, [Trunc(Abs(Restzeit)), TimeToStr(Frac(Restzeit))]));
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Differenz 2erDatum in Tmemo

  Alt 26. Mai 2006, 12:30
das steht in dem timer:
(update)

Delphi-Quellcode:
WeckTime:= edhours.Text + ':' + edmin.Text + ':' + edseconds.Text ;
  WeckDate:= cbdatum.Text;

     }


   //**********Dauer vorgegeben

  if rgeins.Checked then
  if not canvas.TextWidth(edzeit.Text)>1 then
    edzeit.setfocus
    else if canvas.TextWidth(edzeit.text)>1 then
    if cbsignal.Checked=false then begin
     // opendialog1.Execute;
      cbsignal.checked:=true;
      timer.Enabled:=true;
      end
      else timer.Enabled:=true;


  //**********FESTE UHRZEIT


  if rgzwei.Checked then
  if cbsignal.checked=false then begin
    cbsignal.checked:=true;
    end;
     if TimeToStr(Now) =WeckTime then begin
              fileopen:= Label2.caption;
              With MediaPlayer1 do begin
               Filename := opendialog1.filename;
               Open;
               Play;
               timer.Enabled:=false;

               end;
             end;
 
 //************BUFFER IN MEMO
    DecodeTime(Time, aStd, aMin, aSec, aMsec);
    //now := Timetostr(Time);
    Uhrzeit_Ende := strtoTime(Wecktime);
    Wecktime:=Timetostr(Uhrzeit_Ende);
    Uhrzeit_Verbleib := Time - Uhrzeit_ende;
    Buffer := timetostr(Uhrzeit_Verbleib);
    if Uhrzeit_Ende > Time then
      begin
          Std := copy(Buffer, 1,2);
          Min := copy(Buffer, 4,2);
          Sec := copy(Buffer, 7,2);
          bsec := strtoint(Sec) +1;
          mehours.text:=std;
          memin.Text:=min;
          meseconds.text:=inttostr(bsec);
          end
         else
      begin
      Std := copy(Buffer, 1,2);
      Min := copy(Buffer, 4,2);
      bstd := 23-strtoint(std);
      bmin := 59-strtoint(min);
      if asec >0 then
        bsec := 60-asec
       else
        bsec := 0;
        mehours.text:=inttostr(bstd);
        memin.Text:=inttostr(bmin);
        meseconds.text:=inttostr(bsec);
      end;
Das geht fast einwandfrei. Den ersten Part der TRadiogroup muss ich demnächst noch bearbeiten.
mir gehts darum, das die weckzeit mit dem weckdatum übereinstimmt.
mein vorschlag war:

if TimeToStr(Now) =strtodate(WeckTime + WeckDatum) then begin da gibts aber eine fehlermeldung.

kann es vll. auch an if Uhrzeit_Ende > Time then... liegen?
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Differenz 2erDatum in Tmemo

  Alt 27. Mai 2006, 14:47
hat einer einen vorschlag?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Differenz 2erDatum in Tmemo

  Alt 27. Mai 2006, 15:05
Zitat:
if TimeToStr(Now) =strtodate(WeckTime + WeckDatum) then begin da gibts aber eine fehlermeldung.
das kann auch so nicht funktionieren.

Du willst eine String (TimeToStr) mit einem Datum (TDatTime) vergleichen

Delphi-Quellcode:
if now >= strToDateTime(WeckTime + WeckDatum) then
  begin
  end;
Wobei Du auf das Datumformat in strToDateTime achten mußt.

Aus der Hilfe:
Zitat:
Category

date/time routines

function StrToDateTime(const S: string): TDateTime;

Description

Call StrToDate to parse a string that specifies a date and time value. If S does not contain a valid date, StrToDate raises an EConvertError exception.

The S parameter must use the current locale’s date/time format. In the US, this is commonly MM/DD/YY HH:MM:SS format. Specifying AM or PM as part of the time is optional, as are the seconds. Use 24-hour time (7:45 PM is entered as 19:45, for example) if AM or PM is not specified.

Y2K issue: The conversion of two-digit year values is determined by the TwoDigitYearCenturyWindow variable. For more information, see StrToDate.

Note: The format of the date and time string varies when the values of date/time formatting variables are changed.
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Differenz 2erDatum in Tmemo

  Alt 28. Mai 2006, 18:34
if now >= strToDateTime(WeckTime + WeckDatum) then ist vom ansatz her i.o. aber das now hat trotzdem zu der rechte seite (>=) einen zeitkompalierfehler. *wortneuschöpfung
fehlermeldung: *ist keine gültige datums und urhzeitangabe*

WeckTime:= edhours.Text + ':' + edmin.Text + ':' + edseconds.Text ;
WeckDate:= cbdatum.Text; //die combobox is stressing ...
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Differenz 2erDatum in Tmemo

  Alt 28. Mai 2006, 20:36
Andere Reihenfolge und ein Leerzeichen:

if now >= strToDateTime(WeckDatum + ' ' + WeckTime) then Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Differenz 2erDatum in Tmemo

  Alt 31. Mai 2006, 10:30
das passt aber mit dem datum immer noch nicht richtig.
wenn das weckdate (bsp: 06:45:00) ist und die relle zeit 14:15,
dann nimmt der ja anhand
now >= strToDateTime(WeckDatum + ' ' + WeckTime) automatisch den nächsten tag an und in den tmemo (3 felder in stunden, minuten, sekunden)
wird die differenz geschrieben, aber sobald man eben nicht das datum von morgen sondern bspw. erst in 3tagen auswählt, berechnet der immer nur die differenz zum nächsten tag.

vll. muesste ich WeckDate:= cbdatum.Text; anders definieren.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 21:17 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