![]() |
Könnt ihr mir sagen was an diesem Code falsch sein kann?
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, XPMan, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Button1: TButton; Button2: TButton; Button3: TButton; XPManifest1: TXPManifest; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Label1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; min, sec: Integer; mins, secs: string; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin min:=0; sec:=0; Timer1.Enabled:=True; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Button1.Enabled:=False; sec:= sec+1; if sec=60 then begin min:=min+1; sec:=0; end; if sec<10 then secs:='0'+ IntToStr(sec); if sec>9 then secs:=IntToStr(sec); if min<10 then mins:='0'+ IntToStr(min); if min>9 then mins:=IntToStr(min); Label1.Caption:= mins ':' secs; end; procedure TForm1.Button2Click(Sender: TObject); begin if Button2.Caption='Pause' then begin Timer1.Enabled:=False; Button2.Caption:='Restart';end else begin Timer1.Enabled:=True; Button2.Caption:= 'Pause'; end; end; procedure TForm1.Button3Click(Sender: TObject); begin Timer1.Enabled:= False; Label1.Caption:='00:00'; end; end. |
AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?
Er wurde nicht in die (DELPHI)-Tags gepackt?
Ohne: procedure TForm1.Button1Click(Sender: TObject); begin min:=0; sec:=0; Timer1.Enabled:=True; end; Mit:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin min:=0; sec:=0; Timer1.Enabled:=True; end; Nein, Spaß beiseite, herzlich willkommen in den Heiligen Hallen des Wissens und des Wahnsinns :love: In deinem "Delphi 2002" hast du irgendwo ein "Meldungen"-Fenster wo steht was falsch ist. Bei mir habe ich den Fehler "[dcc32 Fehler] Unit3.pas(56): E2029 'END' erwartet, aber String-Konstante gefunden". Die Meldungen sind zwar leider oft ziemlich kryptisch, aber du kannst darauf doppelklicken und die entsprechende Zeile wird markiert. Es geht um die Zeile
Delphi-Quellcode:
. Diese Zeile ist falsch.
Label1.Caption:= mins ':' secs;
Strings werden in Delphi mit dem +-Operator konkateniert. Richtig heißt es
Delphi-Quellcode:
Label1.Caption:= mins + ':' + secs;
|
AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?
Benutz doch bitte die Delphi-Tags (die Schaltfläche mit dem Helm im Beitrags-Editor), und teile uns die Fehlermeldung mit. Auf den ersten Blick würde ich sagen, dass Du Deine Strings falsch verknüpfst.
Zitat:
Delphi-Quellcode:
Mehr ist mir im unformatierten Code auf die Schnelle nicht aufgefallen (wie gesagt, die Meldung wäre hilfreich).
Label1.Caption:= mins + ':' + secs;
|
AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?
Bei mir wird in der Zeile 17 und 19 auch ein Fehler gezeigt und zwar: Unsatisfied forward or external decleration
|
AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?
Die Methoden FormCreate und Label1Click sind zwar in der Formularklasse deklariert, aber unter implementation nicht implementiert worden (heißt: es gibt keinen Code dazu).
|
AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?
Was kann ich da machen bzw. Was muss ich da ergänzen?
|
AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?
Lösch sie doch einfach aus der Formularklasse raus, Delphi sollte Dich dann fragen, ob es auch die Verweise löschen soll. Das bejast Du, und das Thema sollte durch sein.
|
AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?
Delphi-Quellcode:
type
TForm1 = class(TForm) Label1: TLabel; Button1: TButton; Button2: TButton; Button3: TButton; XPManifest1: TXPManifest; Timer1: TTimer; procedure FormCreate(Sender: TObject); // <- löschen procedure Button3Click(Sender: TObject); procedure Label1Click(Sender: TObject); // <- löschen procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; |
AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?
Vielen Dank euch. Hat sich nun endlich gelöst.
|
AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?
Nur noch eine Frage kann ich iwie ein 2. Label reinbringen, wo parallel das gleiche wie im 1. Label angezeigt wird wenn ich Start drücke?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz