AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Könnt ihr mir sagen was an diesem Code falsch sein kann?

Könnt ihr mir sagen was an diesem Code falsch sein kann?

Ein Thema von Robiksch · begonnen am 9. Dez 2015 · letzter Beitrag vom 9. Dez 2015
Antwort Antwort
Seite 1 von 2  1 2   
Robiksch

Registriert seit: 25. Mai 2015
5 Beiträge
 
#1

Könnt ihr mir sagen was an diesem Code falsch sein kann?

  Alt 9. Dez 2015, 20:26
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='Pausethen
 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.

Geändert von mkinzler ( 9. Dez 2015 um 21:30 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.717 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?

  Alt 9. Dez 2015, 20:35
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


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

Label1.Caption:= mins ':' secs; . Diese Zeile ist falsch.

Strings werden in Delphi mit dem +-Operator konkateniert. Richtig heißt es
Label1.Caption:= mins + ':' + secs;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.270 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?

  Alt 9. Dez 2015, 20:36
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:
Label1.Caption:= mins ':' secs;
-->
Label1.Caption:= mins + ':' + secs; Mehr ist mir im unformatierten Code auf die Schnelle nicht aufgefallen (wie gesagt, die Meldung wäre hilfreich).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Robiksch

Registriert seit: 25. Mai 2015
5 Beiträge
 
#4

AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?

  Alt 9. Dez 2015, 20:43
Bei mir wird in der Zeile 17 und 19 auch ein Fehler gezeigt und zwar: Unsatisfied forward or external decleration
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.270 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?

  Alt 9. Dez 2015, 20:46
Die Methoden FormCreate und Label1Click sind zwar in der Formularklasse deklariert, aber unter implementation nicht implementiert worden (heißt: es gibt keinen Code dazu).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Robiksch

Registriert seit: 25. Mai 2015
5 Beiträge
 
#6

AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?

  Alt 9. Dez 2015, 20:54
Was kann ich da machen bzw. Was muss ich da ergänzen?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.270 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?

  Alt 9. Dez 2015, 21:04
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH ( 9. Dez 2015 um 21:24 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Puke
Puke

Registriert seit: 7. Nov 2012
123 Beiträge
 
Delphi XE5 Architect
 
#8

AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?

  Alt 9. Dez 2015, 21:06
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;
Gruß Puke
  Mit Zitat antworten Zitat
Robiksch

Registriert seit: 25. Mai 2015
5 Beiträge
 
#9

AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?

  Alt 9. Dez 2015, 21:10
Vielen Dank euch. Hat sich nun endlich gelöst.
  Mit Zitat antworten Zitat
Robiksch

Registriert seit: 25. Mai 2015
5 Beiträge
 
#10

AW: Könnt ihr mir sagen was an diesem Code falsch sein kann?

  Alt 9. Dez 2015, 21:37
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?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 16:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf