AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Nicht deklarierter Bezeichner

Ein Thema von Gor · begonnen am 4. Sep 2009 · letzter Beitrag vom 4. Sep 2009
Antwort Antwort
Gor

Registriert seit: 4. Sep 2009
3 Beiträge
 
#1

Nicht deklarierter Bezeichner

  Alt 4. Sep 2009, 16:35
Hallo
Ich habe heute Turbo Delphi heruntergeladen und klicke jetzt ahnungslos rum.
Das Programm soll in der Statusleiste letzte Aktion und Anzahl der Klicks ausgeben.
Dafür habe ich jetzt eine eigene Prozedur geschrieben, aber innerhalb dieser Prozedur kann ich nicht mit StatusBar1 arbeiten: "Nicht deklarierter Bezeichner 'StatusBar1'".
Kann mir da jemand helfen?

MfG

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Addierer_Button_Plus: TButton;
    Addierer_Button_Minus: TButton;
    Addierer_Anzeige: TLabel;
    Panel1: TPanel;
    Addierer_Name: TLabel;
    StatusBar1: TStatusBar;
    procedure Addierer_Button_PlusClick(Sender: TObject);
    procedure Addierer_Button_MinusClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Aktanzahl: integer;

implementation

{$R *.dfm}

procedure Aktion(var aktname: string);
begin
   StatusBar1.Panels[0].Text := 'Aktion: '+aktname;
   Aktanzahl := Aktanzahl+1;
   StatusBar1.Panels[1].Text := 'Aktionen durchgefuhrt: '+IntToStr(Aktanzahl);
end;

procedure TForm1.Addierer_Button_PlusClick(Sender: TObject);
begin
   Addierer_Anzeige.Caption := IntToStr(StrToInt(Addierer_Anzeige.Caption)+1);
   {StatusBar1.Panels[0].Text := 'Aktion: Addiert';
  Aktanzahl := Aktanzahl+1;
   StatusBar1.Panels[1].Text := 'Aktionen durchgefuhrt: '+IntToStr(Aktanzahl);}

   Aktion('Addiert');
end;

procedure TForm1.Addierer_Button_MinusClick(Sender: TObject);
begin
   Addierer_Anzeige.Caption := IntToStr(StrToInt(Addierer_Anzeige.Caption)-1);
   {StatusBar1.Panels[0].Text := 'Aktion: Subtrahiert';
  Aktanzahl := Aktanzahl+1;
   StatusBar1.Panels[1].Text := 'Aktionen durchgefuhrt: '+IntToStr(Aktanzahl);}

   Aktion('Subtrahiert');
end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#2

Re: Nicht deklarierter Bezeichner

  Alt 4. Sep 2009, 16:38
Hallo Gor,

ui. Ich möchte Dir Anraten, eines der Einsteiger-Tutorials durchzuarbeiten.

Deine Prozedur, die Du geschrieben hast, steht alleine im Raum. Sie gehört nicht zu dem Formular.
Die Statusbar ist aber Teil des Formulars.

Entweder, Du machst aus der Prozedur eine Methode des Formulars, oder Du übergibst die Statusbar als Parameter in Deine prozedur.

Wenn Du mit dieser Erklärung nichts anfangen kannst, arbeite bitte wirklich erstmal ein Grundlagentutorial durch, da wird da alles erklärt.

Edit Nachtrag: Achso: herzlich Willkommen in der DP
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Gor

Registriert seit: 4. Sep 2009
3 Beiträge
 
#3

Re: Nicht deklarierter Bezeichner

  Alt 4. Sep 2009, 16:58
Danke für die schnelle Antwort.

Ich habe versucht die Statusbar als Parameter zu übergeben, konnte aber in der Prozedur nichts damit anfangen.
Tja ich google mal was eine Methode ist.

zum Edit: Danke.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Nicht deklarierter Bezeichner

  Alt 4. Sep 2009, 17:02
Eine Methode ist eine Routine, die zu einer Klasse gehört. Im Gegensatz dazu gibt es auch "reguläre" Routinen.
Delphi-Quellcode:
//reguläre Prozedur
procedure MachWas;
begin
  //Code
end;

//Methode der Klasse TWuppdi
procedure TWuppdi.MachWas;
begin
  //Code
end;
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
Gor

Registriert seit: 4. Sep 2009
3 Beiträge
 
#5

Re: Nicht deklarierter Bezeichner

  Alt 4. Sep 2009, 17:17
Problem gelöst, danke.

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Addierer_Button_Plus: TButton;
    Addierer_Button_Minus: TButton;
    Addierer_Anzeige: TLabel;
    Panel1: TPanel;
    Addierer_Name: TLabel;
    StatusBar1: TStatusBar;
    procedure Addierer_Button_PlusClick(Sender: TObject);
    procedure Addierer_Button_MinusClick(Sender: TObject);
    procedure Aktion(const aktname: string);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Aktanzahl: integer;
implementation

{$R *.dfm}

procedure TForm1.Aktion(const aktname: string);
begin
   StatusBar1.Panels[0].Text := 'Aktion: '+aktname;
   Aktanzahl := Aktanzahl+1;
   StatusBar1.Panels[1].Text := 'Aktionen durchgefuhrt: '+IntToStr(Aktanzahl);
end;

procedure TForm1.Addierer_Button_PlusClick(Sender: TObject);
begin
   Addierer_Anzeige.Caption := IntToStr(StrToInt(Addierer_Anzeige.Caption)+1);
   {StatusBar1.Panels[0].Text := 'Aktion: Addiert';
  Aktanzahl := Aktanzahl+1;
   StatusBar1.Panels[1].Text := 'Aktionen durchgefuhrt: '+IntToStr(Aktanzahl);}

   Aktion('Addiert');
end;

procedure TForm1.Addierer_Button_MinusClick(Sender: TObject);
begin
   Addierer_Anzeige.Caption := IntToStr(StrToInt(Addierer_Anzeige.Caption)-1);
   {StatusBar1.Panels[0].Text := 'Aktion: Subtrahiert';
  Aktanzahl := Aktanzahl+1;
   StatusBar1.Panels[1].Text := 'Aktionen durchgefuhrt: '+IntToStr(Aktanzahl);}

   Aktion('Subtrahiert');
end;

end.
  Mit Zitat antworten Zitat
Antwort Antwort


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 +1. Es ist jetzt 15:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz