Avatar billede izemate Nybegynder
24. august 2003 - 17:30 Der er 21 kommentarer og
1 løsning

Start tid

Hejsa
Jeg vil gerne have sådan at når man trykker på en knap så starter der et ur som tæller op i Timer : minutter : sekunder tiden skal så ganges med et tal som hentes fra en combobox..

og resultatet skal vises!

Nogen der vil lave det til mig !?
Avatar billede Slettet bruger
24. august 2003 - 19:42 #1
Avatar billede Slettet bruger
24. august 2003 - 19:43 #2
Avatar billede izemate Nybegynder
25. august 2003 - 15:16 #3
hejhej > Mega cool der er dog et lille problem. Det var meningen at tiden skulle ganges med værdien i compoboxen også give et resultat. alså
tid * compobox = resultat !
Resulatatet skal så løbende blive "opdateret" efter som tiden køre.

Et anden spm. er det muligt at der fx i compoboxen står Ohøj og så have værdien 3 alså hvis man vælger ohøj så bliver 3 ganget med tiden :-)
Hæver lige pointne til 100 :-)
Avatar billede Slettet bruger
25. august 2003 - 15:45 #4
Skal lige prøve at lave det :-)
Avatar billede Slettet bruger
25. august 2003 - 16:04 #5
Prøv det her istedet:

const
  SecPerDay = 86400;
  SecPerHour = 3600;
  SecPerMinute = 60;

function SecondToTime(const Seconds: Cardinal): Double;
var
  ms, ss, mm, hh, dd: Cardinal;
begin
  dd := Seconds div SecPerDay;
  hh := (Seconds mod SecPerDay) div SecPerHour;
  mm := ((Seconds mod SecPerDay) mod SecPerHour) div SecPerMinute;
  ss := ((Seconds mod SecPerDay) mod SecPerHour) mod SecPerMinute;
  ms := 0;
  Result := dd + EncodeTime(hh, mm, ss, ms);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := True;
end;

function GetComboValue(Combobox: TComboBox): Integer;
begin
if Combobox.Text = 'Ohøj' then Result := 3;
if Combobox.Text = 'Hejhej' then Result := 2;
if Combobox.Text = 'Hej' then Result := 1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Tid := Tid + 1;
Label1.Caption := TimeToStr(SecondToTime(Tid*GetComboValue(ComboBox1)))
end;
Avatar billede izemate Nybegynder
25. august 2003 - 16:05 #6
hejhej > takker :-) det kunne være fedt.. men er det ikke bare label1.caption * combobox.text ? alså ikke fordi jeg selv kan :-)
Avatar billede izemate Nybegynder
25. august 2003 - 16:17 #7
okay det løser jo så det problem med comboboxen :-) hvad så med det * værk
alså
Tiden * Combo value = Resultat :-)
Avatar billede izemate Nybegynder
25. august 2003 - 16:18 #8
ups så lige forker det er så løst men tiden skal stadig blive vist så resultatet af tiden * combo skal vise i en anden label fx label2
Avatar billede Slettet bruger
25. august 2003 - 16:24 #9
Tror jeg har fået det rettet nu :-)

http://hejhej105.frac.dk/tid.zip
Avatar billede izemate Nybegynder
25. august 2003 - 16:28 #10
Programmet skal være til at udregne prisen for den tid man er online med en ikke fast forbindelse så resultatet skal ikke komme som et ur hvis du forstå :-) det skal bare være "prisen" dette have jeg tænkte mig var at jeg regnede sekund prisen ud for at være på internettet så skulle sekunderne i uret ganges med sekund prisen og blive til tallet det koser for den tid du har været på ! håber du forstår :-)
Avatar billede izemate Nybegynder
25. august 2003 - 16:30 #11
så hvis vi siger at prisen pr sekund er 0,0035 og uret viser 2 sekunder så skal det så være 0,00305 * 2 Resultat = 0,0061
Avatar billede Slettet bruger
25. august 2003 - 16:31 #12
Prøv det her istedet:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Tid := Tid + 1;
Label1.Caption := TimeToStr(SecondToTime(Tid));
Label2.Caption := IntToStr(Tid*GetComboValue(ComboBox1));
end;
Avatar billede izemate Nybegynder
25. august 2003 - 18:54 #13
Det virker bedre men nu er der bare andre problemer :-) for det første kan et result i comboboxen ikke være 0,0035 okay så jeg skriver 00035! men kan man komventere sådan at det bliver i kr, alså for den tæller jo i øre kan man få det til ligeså snart at den når 100 øregrænsen og så få den til at skrive 1,(næste tæller op til 100) og så skifter den til 2 :-)
Avatar billede izemate Nybegynder
25. august 2003 - 19:04 #14
det lader ikke til man kan gange med 00035 :\
Avatar billede Slettet bruger
25. august 2003 - 19:46 #15
Tror jeg har fået det hele rettet :-)

function IsInteger(Str: String): Boolean;
var
F: Single;
Code: integer;
begin
val(Str,F,code);
Result := True;
if code <> 0 then
Result := False
end;

function PunktumTilKomma(Str: String): String;
begin
Result := AnsiReplaceStr(Str, '.', ',');
end;

function GetComboValue(Combobox: TComboBox): Single;
begin
if IsInteger(Combobox.Text) then
begin
Result := StrToFloat(PunktumTilKomma(Combobox.Text));
end;
if Combobox.Text = 'Ohøj' then Result := 3;
if Combobox.Text = 'Hejhej' then Result := 2.25;
if Combobox.Text = 'Hej' then Result := 1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Tid := Tid + 1;
Label1.Caption := TimeToStr(SecondToTime(Tid));
if Tid*GetComboValue(ComboBox1) >= 100 then
Label2.Caption := FloatToStr(RoundTo((Tid*GetComboValue(ComboBox1))/100,-2)) + ' kr'
else
Label2.Caption := FloatToStr(RoundTo(Tid*GetComboValue(ComboBox1),-2)) + ' øre';
end;
Avatar billede izemate Nybegynder
25. august 2003 - 21:15 #16
Du gider vel ikke lægge den op lige som resten ? jeg har nemlig problemer når jeg compailer den :-(
Avatar billede Slettet bruger
25. august 2003 - 21:19 #17
Jo, uploader den lige :-)
Avatar billede Slettet bruger
25. august 2003 - 21:19 #18
Avatar billede izemate Nybegynder
26. august 2003 - 19:35 #19
hejhej > jeg øger lige til 200 point da jeg synes du har gjort et mega godt stykke arbejde :-) og du har fuldt ud fortjent dem !!
Avatar billede izemate Nybegynder
26. august 2003 - 19:38 #20
Jeg har lige lagt programmet op hvis du kunne tænkte dig at se resultatet :-)
http://frip.dk/cms/Project1.zip

Det er ment til folk der har 56k/ISDN så de kan se hvormeget det egentligt koster at sidde online så de kan styrer deres regning :-P

<\\izemate
Avatar billede Slettet bruger
26. august 2003 - 19:53 #21
hehe.. smart program(altså til dem som har 56k eller ISDN) :-)

Takker for point :-)
Avatar billede izemate Nybegynder
27. august 2003 - 16:45 #22
jepper :-) har sel ISDN såå....
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