Autor Beitrag
Chiller
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Di 20.01.09 17:44 
habe folgendes programm zur schnellen vorberechnung der downlaoddauer geschrieben:


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
unit UHaupt;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TFAnwendung = class(TForm)
    EGroesse: TEdit;
    RMegabyte: TRadioButton;
    RGigabyte: TRadioButton;
    LGroesse: TLabel;
    BStart: TButton;
    LFormal: TLabel;
    LZeit: TLabel;
    LGeschwindigkeit: TLabel;
    EGeschwindigkeit: TEdit;
    LKilobyte: TLabel;
    procedure FormActivate(Sender: TObject);
    procedure BStartClick(Sender: TObject);
    procedure EGroesseChange(Sender: TObject);
    procedure EGeschwindigkeitChange(Sender: TObject);
  private
    { Private-Deklarationen }
    Change1, Change2 : boolean;
  public
    { Public-Deklarationen }
  end;

var
  FAnwendung: TFAnwendung;

implementation

{$R *.dfm}

procedure TFAnwendung.FormActivate(Sender: TObject);
begin
  RMegabyte.Checked:=true;
  RGigabyte.Checked:=false;
  LFormal.Visible:=false;
  LZeit.Visible:=false;
end;



procedure TFAnwendung.BStartClick(Sender: TObject);
var Groesse, Geschwindigkeit, Zeit:double;
    Stunden, Minuten, Sekunden:double;
begin
  Groesse:=StrToFloat(EGroesse.Text);
  Geschwindigkeit:=StrToFloat(EGeschwindigkeit.Text);
  Geschwindigkeit:=1024/Geschwindigkeit;
  if RMegabyte.Checked=true then Zeit:=Groesse*Geschwindigkeit;
  if RGigabyte.Checked=true then Zeit:=Groesse*Geschwindigkeit*1024;
  Stunden:=Zeit/3600;
  if Stunden<1 then Stunden:=0
    else Zeit-3600*trunc(Stunden);
  Minuten:=Zeit/60;
  if Minuten<1 then Minuten:=0
    else Zeit-60*trunc(Minuten);
  Sekunden:=Zeit;
  if (Stunden=0and (Minuten=0then LZeit.Caption:='ca. '+FloatToStr(Sekunden)+' Sekunden' ;
  if (Stunden=0and (Minuten>1and (Sekunden>0then LZeit.Caption:='ca. '+FloatToStr(Minuten)+' Minuten und '+FloatToStr(Sekunden)+'Sekunden';
  if (Stunden>0and (Minuten>1and (Sekunden>0then LZeit.Caption:='ca. '+FloatToStr(Stunden)+' Stunden und '+FloatToStr(Minuten)+' Minuten und '+FloatToStr(Sekunden)+'Sekunden'
end;

procedure TFAnwendung.EGroesseChange(Sender: TObject);
begin
  Change1:=true;
  if (Change1=true) and (Change2=true) then BStart.Enabled:=true;
  if EGroesse.Text='' then Change1:=false;
  if EGeschwindigkeit.Text='' then Change2:=false;
end;

procedure TFAnwendung.EGeschwindigkeitChange(Sender: TObject);
begin
  Change2:=true;
  if (Change1=true) and (Change2=true) then BStart.Enabled:=true;
  if EGroesse.Text='' then Change1:=false;
  if Egeschwindigkeit.Text='' then Change2:=false;
end;

end.


nun kommt jedoch nach 'else Zeit-3600*trunc(Stunden);' die fehlermeldung:

fehler (60): Anweisung erforderlich, aber ausdruck vom typ 'extended' gefunden


hoffe mir kann jmd helfen, danke schon mal...

mfg
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Di 20.01.09 17:54 
ja klar, da fehler der teil mit dem :=. kann sein das es so gehört: Zeit := 3600*trunc(Stunden);

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Chiller Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Di 20.01.09 18:00 
danke!