Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Progblem mit CD öffnen/schließen programm (https://www.delphipraxis.net/107753-progblem-mit-cd-oeffnen-schliessen-programm.html)

D0N 1. Feb 2008 16:48


Progblem mit CD öffnen/schließen programm
 
Hallo,
ich wollte für meinen Freund ein Programm schreiben in dem er in ein Edit feld eingibt welchen buchstaben er auswerfen will

Delphi-Quellcode:
unit test1;

interface

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

type
  TForm1 = class(TForm)
    edit1: TLabeledEdit;
    Button1: TButton;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure OpenCDDrive(const ADriveChar: Char; Open: Boolean);
begin
  if Length(edit1.text, true) > 0 then
    OpenCDDrive(edit1.text[1],true);
  if mciSendString(PChar('open '+ADriveChar+': type cdaudio alias cdlw'),
                   Nil,
                   0,
                   0) = 0 then
  begin
    if Open then
      mciSendString('set cdlw door open wait', Nil, 0, 0)
    else
      mciSendString('set cdlw door closed wait', Nil, 0, 0);
    mciSendString('close cdlw', Nil, 0, 0);
  end;
end;

end.
nun hab ich das problem

[Fehler] test1.pas(28): Undefinierter Bezeichner: 'edit1'

und ich weiß net wieso O.o

mfg

Larsi 1. Feb 2008 16:53

Re: Progblem mit CD öffnen/schließen programm
 
in deinem code steht doch gar nichts von nem edit oda???

D0N 1. Feb 2008 16:56

Re: Progblem mit CD öffnen/schließen programm
 
ja es is ein Labelededit

aber ich hab ihn mal geändert in edit1 weil er es auch schon rumgemosert hat

...

deswegen O.o

Crazy Ivan 1. Feb 2008 16:56

Re: Progblem mit CD öffnen/schließen programm
 
entweder du schreibst

Delphi-Quellcode:
form1.edit1.text
(wenn du überhaupt ein edit hast?!?)

oder du machst die procedure OpenCDDrive zu einer methode deiner tform1, so:


Delphi-Quellcode:
// ...
type
  TForm1 = class(TForm)
    edit1: TLabeledEdit;
    Button1: TButton;
    procedure OpenCDDrive(const ADriveChar: Char; Open: Boolean);

// ...

inherited 1. Feb 2008 16:56

Re: Progblem mit CD öffnen/schließen programm
 
Entweder du deklarierst die Methode als Member der Klasse TForm1 oder du schreibst Form1. vor edit1
Hintergrund ist, dass dein edit ein Variable deiner Form-Klasse ist, deine Methode OpenCDDrive allerdings nicht. Deshalb kennt sie dein edit1 nicht.

freak4fun 1. Feb 2008 16:57

Re: Progblem mit CD öffnen/schließen programm
 
Zitat:

Zitat von Larsi
in deinem code steht doch gar nichts von nem edit oda???

Zeile 28?

Entweder du packst die Prozedur in die Klasse TForm1 oder schreibst Form1.Edit1. ... :) Ich wäre dafür die Procedur als Klassenmethode zu schreiben. ;)

Crazy Ivan 1. Feb 2008 16:59

Re: Progblem mit CD öffnen/schließen programm
 
[OT] dito, dito, ich war schneller :D [/OT]

D0N 1. Feb 2008 17:04

Re: Progblem mit CD öffnen/schließen programm
 
auf deutsch bitte ich mach erst seit 2 wochen delphi O.o

n beispiel oder so

währe nett bitte ^^

mfg

Crazy Ivan 1. Feb 2008 17:05

Re: Progblem mit CD öffnen/schließen programm
 
mhm, was ist daran so schwer? ich hab dir bereits zwei bespiele gegeben

shmia 1. Feb 2008 17:06

Re: Progblem mit CD öffnen/schließen programm
 
Zitat:

Zitat von freak4fun
Ich wäre dafür die Procedur als Klassenmethode zu schreiben. ;)

Nein, im Gegenteil, die Procedure sollte so bleiben !
Delphi-Quellcode:
procedure OpenCDDrive(const ADriveChar: Char; Open: Boolean);
Die Übergabeparameter sind ja schon vorhanden, man muss sie nur benützen.
Man kann diese Procedure dann in eine Utility Unit packen und in mehreren Anwendungen einbinden.
Einmal programmieren - öfters verwenden.

freak4fun 1. Feb 2008 17:08

Re: Progblem mit CD öffnen/schließen programm
 
Zitat:

Zitat von shmia
Zitat:

Zitat von freak4fun
Ich wäre dafür die Procedur als Klassenmethode zu schreiben. ;)

Nein, im Gegenteil, die Procedure sollte so bleiben !

Ok, da sind ganz andere Sachen drin ... :)

D0N 1. Feb 2008 17:11

Re: Progblem mit CD öffnen/schließen programm
 
hmm jetzt bekomme ich zwar keinen Unbekannten Bezeichner mehr angezeigt aber wie kann ich das machen das das laufwerk durch einen druck auf den Knopf aufgeht??

denn atm geht es überhaupt nicht auf O.o

mfg

DeddyH 1. Feb 2008 17:13

Re: Progblem mit CD öffnen/schließen programm
 
Delphi-Quellcode:
unit test1;

interface

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

type
  TForm1 = class(TForm)
    edit1: TLabeledEdit;
    Button1: TButton;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure OpenCDDrive(const ADriveChar: Char; Open: Boolean);
begin
  if mciSendString(PChar('open '+ADriveChar+': type cdaudio alias cdlw'),
                   Nil,
                   0,
                   0) = 0 then
  begin
    if Open then
      mciSendString('set cdlw door open wait', Nil, 0, 0)
    else
      mciSendString('set cdlw door closed wait', Nil, 0, 0);
    mciSendString('close cdlw', Nil, 0, 0);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Length(edit1.text, true) > 0 then
    OpenCDDrive(edit1.text[1],true);
end;

end.
So wird ein Schuh draus ;)

D0N 1. Feb 2008 17:19

Re: Progblem mit CD öffnen/schließen programm
 
und der schuh passt wie angegossen ;)

danke nochmal


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 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-2025 by Thomas Breitkreuz