habe folgendes programm zur schnellen vorberechnung der downlaoddauer geschrieben:
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 Change1, Change2 : boolean; public 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=0) and (Minuten=0) then LZeit.Caption:='ca. '+FloatToStr(Sekunden)+' Sekunden' ; if (Stunden=0) and (Minuten>1) and (Sekunden>0) then LZeit.Caption:='ca. '+FloatToStr(Minuten)+' Minuten und '+FloatToStr(Sekunden)+'Sekunden'; if (Stunden>0) and (Minuten>1) and (Sekunden>0) then 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