Autor Beitrag
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Sa 09.06.07 17:05 
Hallöchen,
ich habe mich heute mal mit extra Units beschäftigt.Deshalbhabe ich mir was ganz ^^ einfaches gesucht: windows.beep.
So nun der Quelltext meiner extra Unit(Beepen):
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:
unit beepen;

interface

uses
  Windows, registry;

type
  TRegan_Beep = class
  procedure Create();
  procedure Destroy();
  procedure Free();
  private
    { Private-Deklarationen }
  public
    C,D,E,F,G,A,H:Cardinal;
    procedure TestBeep;
    { Public-Deklarationen }
  end;

implementation

procedure TRegan_Beep.Create;
begin
  inherited Create;
  C:=262;
  D:=294;
  E:=330;
  F:=349;
  G:=392;
  A:=440;
  H:=494;
end;

procedure TRegan_Beep.Destroy;
begin
  inherited Destroy;
end;

procedure TRegan_Beep.Free;
begin
    if Self <> nil then
    Destroy;
end;

procedure TRegan_Beep.TestBeep;
begin
  windows.Beep(880,100);
end;

end.
Und in dieser Unit möchte ich nun den (Kammer-)Ton A abfragen. Dazu habe ich folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
uses 
...
beepen
...
...
  Reg1: TRegan_Beep;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
Reg1.Create;
SpinEdit1.Value:=Reg1.A;
end;

Allerdings hat der Compiler schon ein Problem "Reg1" überhaupt zu erstellen. Folglich funktioniert die Zuweisung von A auch nicht.
Nun zu meinen Fragen: Warum wird Reg1 nicht erstellt? und
warum muss ich a erst zuweisen (ich könnte doch auch Konstanten nutzen)

MfG
Regan
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Sa 09.06.07 17:15 
ausblenden Delphi-Quelltext
1:
Reg1 = TRegan_Beep.Create;					

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Sa 09.06.07 17:23 
Musst das nicht auch, anstelle von Porcedure, Constructor & Destructor heißen? :gruebel:

grüße
Dunkel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 682

Mac OS X Snow Leopard
Xcode 3.1
BeitragVerfasst: Sa 09.06.07 17:23 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
type
  TRegan_Beep = class
  private
    { Private-Deklarationen }
    FC, FD, FE, FF, FG, FH: Cardinal
  public
    { Public-Deklarationen }
    constructor Create(); 
    destructor Destroy();
    procedure TestBeep;
    property C: Cardinal read FC;
  end;


Create & Destroy müssen als public deklariert werden, ansonsten kann man von Außen nicht darauf zu greifen.
Die Cardinal-Werte würde ich als read-only-property deklarieren.

_________________
Ich streite einsam mich mit dieser Oberflächenwelt
Gutes sei ein löblich Brot von dem ich zehre - bis zum Tod [Das Ich - Im Ich]
Regan Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Sa 09.06.07 17:48 
Vielen Dank :zustimm: Ich habs genauso gemacht und es funktioniert. :D
user profile iconDunkel hat folgendes geschrieben:
Die Cardinal-Werte würde ich als read-only-property deklarieren.

hab ich gemacht, funktioniert perfekt.
Dunkel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 682

Mac OS X Snow Leopard
Xcode 3.1
BeitragVerfasst: Sa 09.06.07 17:52 
user profile iconRegan hat folgendes geschrieben:

hab ich gemacht, funktioniert perfekt.

Chön! :zustimm:

_________________
Ich streite einsam mich mit dieser Oberflächenwelt
Gutes sei ein löblich Brot von dem ich zehre - bis zum Tod [Das Ich - Im Ich]