Avatar billede danielks Nybegynder
12. november 2002 - 17:36 Der er 21 kommentarer og
1 løsning

Ur som sekunder

jeg skal bruge en string der læser hvad klokken på pc'en er og omregner det til sekunder...

Sådan at 10:10:10 bliver til

36000
600
10

Ialt 36610
Avatar billede hermandsen Juniormester
12. november 2002 - 17:46 #1
var
  E: Extended;
  S: String;
const
  K = 24*60*60;
begin
  E := Frac(Time);
  S := IntToStr(Round(E*K));
end;

Prøv det!
Avatar billede hermandsen Juniormester
12. november 2002 - 17:55 #2
Hvis du er lidt økonomisk med din kode og vil ha' det serveret på det berømte sølvfad, så:

function SekunderSidenMidnat: Integer;
begin
  Result := Round(Frac(Time)*24*60*60);
end;

//hermandsen
Avatar billede hermandsen Juniormester
12. november 2002 - 17:59 #3
>>danielks
Du skal snart til at lukke nogle af dine spørgsmål... Du har 23 åbne spørgsmål!!!
http://www.eksperten.dk/konto.phtml?sort=%40&order=asc&catid=0&q=&navn=&option=22
Avatar billede danielks Nybegynder
12. november 2002 - 18:08 #4
incompatible types ved Frac(time);
Avatar billede danielks Nybegynder
12. november 2002 - 18:12 #5
og det skal kunne indsættes i en knap så det må ikke være en onformcreate...
Avatar billede hermandsen Juniormester
12. november 2002 - 18:32 #6
Jeg har gjort det med en Timer... :)

Her er det hele:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);
var
  E: Extended;
const
  K = 24*60*60;
begin
  E := Frac(Time);
  Caption := IntToStr(Round(E*K));
end;

end.
Avatar billede danielks Nybegynder
12. november 2002 - 18:58 #7
det skal ikke være med den timer...
Avatar billede athlon-pascal Juniormester
12. november 2002 - 19:11 #8
Prøv med:

procedure TForm1.Button1Click(Sender: TObject);
var
  E: Extended;
const
  K = 24*60*60;
begin
  E := Frac(Time);
  Caption := IntToStr(Round(E*K));
end;
Avatar billede danielks Nybegynder
12. november 2002 - 19:34 #9
linien 

E := Frac(Time);

den duer ikke...
Avatar billede hermandsen Juniormester
12. november 2002 - 20:17 #10
Har du inkluderet Sysutils under Uses?
Avatar billede danielks Nybegynder
12. november 2002 - 20:42 #11
jep
Avatar billede hermandsen Juniormester
12. november 2002 - 23:09 #12
Har du prøvet mit program, for der compiler den altså fint nok!!!

Du får lige det hele! ;)

Project1.dpr
============================================================
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
============================================================

Unit1.dfm
============================================================
object Form1: TForm1
  Left = 192
  Top = 107
  Width = 544
  Height = 375
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Timer1: TTimer
    OnTimer = Timer1Timer
    Left = 96
    Top = 104
  end
end
============================================================

Du har fået Unit1.pas! ;)
Avatar billede hermandsen Juniormester
12. november 2002 - 23:11 #13
Er E-variablen en Extended (?), for det SKAL virke!!!
Avatar billede danielks Nybegynder
24. november 2002 - 12:30 #14
Mit er mage til dit... men det virker ikke...

Hvor skal E:= Extended stå ???
Avatar billede hermandsen Juniormester
24. november 2002 - 19:03 #15
Okay, lyt nu godt efter...

Marker hele min kommentar 12/11-2002 18:32:18 efter "Her er det hele:" og gem det som "Unit1.pas"

Marker derefter 12/11-2002 23:09:39 først efter Project1.dpr ===....(en hulens masse "=") ind til En masse andre ======... og gem det som en fil med navnet "Project1.dpr"...

Marker så det efter Unit1.dfm ======... i samme kommentar og gem det med med filnavnet "Unit1.dfm"

Derefter åbner du bare Project1.dpr i Delphi. Når Delphi siger "Cannot find resource file: ......\Project1.res.  Recreated." trykker du bare Ok. Derefter vil et hurtigt lille tryk på F9 give dig et færdigt kørende program! ;)

//hermandsen
Avatar billede danielks Nybegynder
25. november 2002 - 14:29 #16
Jeg vil ikke have løsningen SOM et program men KUN en DEL af det...
Desuden er de andre svar du kommer med jo bare en kopi af en "standard" kode som jo allerede forefindes i mit program...

Jeg bruger dit foreslåede:

procedure TForm1.Timer1Timer(Sender: TObject);
var
  E: Extended;
const
  K = 24*60*60;
begin
  E := Frac(Time);
  Caption := IntToStr(Round(E*K));
end;

men den giver denne fejl ved Frac:

[Error] Unit1.pas(292): Incompatible types
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit1.pas'
Avatar billede danielks Nybegynder
25. november 2002 - 14:32 #17
Jeg kan se du bruger funktionen Time... Jeg har en tekstboks i mit program der hedder dette, kan det have noget med fejlen at gøre (kan ikke ændre navnet)
Avatar billede hermandsen Juniormester
25. november 2002 - 19:03 #18
JA!!!
Skriv Sysutils.Time i stedet!!!
Eller "Now"!
Avatar billede danielks Nybegynder
25. november 2002 - 19:52 #19
Oki thx... Og undskylder at jeg er en LORTE newbie :)
Avatar billede hermandsen Juniormester
26. november 2002 - 08:31 #20
Hehe... Det er i orden!
Vi skal alle sammen være her! ;)
Avatar billede danielks Nybegynder
26. november 2002 - 09:56 #21
Du skulle vel ikke tilfældigvis vide noget om DL og UL speed til delphi ??? http://www.eksperten.dk/spm/287835 - just in case... More Points infact 100 of em :)
Avatar billede hermandsen Juniormester
26. november 2002 - 10:16 #22
Hehe...
Jeg abonnerer jo på Delphi-kategorien, så jeg skal nok se spørgsmålet... ;)

Ved ikke så meget om det, så lige nu følger jeg bare med i spørgsmålet! ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester