Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi entsprechender Delphi Code zu VB6? (https://www.delphipraxis.net/29361-entsprechender-delphi-code-zu-vb6.html)

ibp 15. Okt 2004 19:14

Re: entsprechender Delphi Code zu VB6?
 
erkundige dich mal überHier im Forum suchenprivate public !

jaegerschnitzel 20. Okt 2004 17:50

Re: entsprechender Delphi Code zu VB6?
 
Komme immer noch nicht damit klar.
Also nochmal erklärt. Zuerst mein kompletter Code:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, Mask, ExtCtrls, ComCtrls, XPMan, CheckLst,
  Grids, ValEdit, Outline, DirOutln, Calendar, Spin, ColorGrd, OleCtrls,
  Chartfx3, OleCtnrs, jpeg, Buttons, AlignLabeledEdit, AlignEdit;

type
  TForm1 = class(TForm)
    Image: TImage;

    edit_Drehbuch: TLabeledEdit;
    edit_Regie: TLabeledEdit;
    RichEdit: TRichEdit;
    Button1: TButton;
    Button2: TButton;
    MainMenu1: TMainMenu;
    edit_Folge: TAlignLabeledEdit;
    edit_ErstausstrahlungD: TAlignLabeledEdit;
    edit_ErstausstrahlungU: TAlignLabeledEdit;
    edit_Titel: TLabeledEdit;
    edit_OriginalTitel: TLabeledEdit;
    Staffel11: TMenuItem;
    N01NichtVonDieserWelt1: TMenuItem;
    N02HutungBeiVollmond1: TMenuItem;
    N03Feuerball1: TMenuItem;
    procedure N01NichtVonDieserWelt1Click(Sender: TObject);
    procedure N02HutungBeiVollmond1Click(Sender: TObject);

    procedure PlayEpisodeNummer(Folgennummer: Integer);


    private
    { Private-Deklarationen }
    Folgennummer: Integer;
   
    public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.N01NichtVonDieserWelt1Click(Sender: TObject);
begin
Folgennummer := 1;
PlayEpisodeNummer(Folgennummer);
end;

procedure TForm1.N02HutungBeiVollmond1Click(Sender: TObject);
begin
Folgennummer := 2;
PlayEpisodeNummer(Folgennummer);
end;

procedure PlayEpisodeNummer(Folgennummer: Integer);
begin
  case Folgennummer of
    1:;
    richedit.Lines.LoadFromFile('.\episodes\01.txt');
    Image.Picture.LoadFromFile('.\images\01.jpg');
    2:;
    richedit.Lines.LoadFromFile('.\episodes\02.txt');
    Image.Picture.LoadFromFile('.\images\02.jpg');
  end;
end;

end.
Wenn ich nun auf einen Menüpunkt klicke soll zuerst der Integer Folgennummer auf 1 bzw. 2 gesetzt werden. Nun soll der Befehl PlayEpisodeNummer(Folgennummer); ausgeführt werden. Je nachdem ob Folgennummer 1 oder 2 ist, soll der case 1 oder 2 ausgeführt werden.
Nur geht das nicht. Es kommt immer eine Fehlermeldung (ungeügende forward -oder external-deklarationen). An was kann das liegen?

FlorianK 20. Okt 2004 19:02

Re: entsprechender Delphi Code zu VB6?
 
Hi,

versuchs mal damit:

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, Mask, ExtCtrls, ComCtrls, XPMan, CheckLst,
  Grids, ValEdit, Outline, DirOutln, Calendar, Spin, ColorGrd, OleCtrls,
  Chartfx3, OleCtnrs, jpeg, Buttons, AlignLabeledEdit, AlignEdit;

type
  TForm1 = class(TForm)
    Image: TImage;

    edit_Drehbuch: TLabeledEdit;
    edit_Regie: TLabeledEdit;
    RichEdit: TRichEdit;
    Button1: TButton;
    Button2: TButton;
    MainMenu1: TMainMenu;
    edit_Folge: TAlignLabeledEdit;
    edit_ErstausstrahlungD: TAlignLabeledEdit;
    edit_ErstausstrahlungU: TAlignLabeledEdit;
    edit_Titel: TLabeledEdit;
    edit_OriginalTitel: TLabeledEdit;
    Staffel11: TMenuItem;
    N01NichtVonDieserWelt1: TMenuItem;
    N02HutungBeiVollmond1: TMenuItem;
    N03Feuerball1: TMenuItem;
    procedure N01NichtVonDieserWelt1Click(Sender: TObject);
    procedure N02HutungBeiVollmond1Click(Sender: TObject);

    procedure PlayEpisodeNummer(Folgennummer: Integer);


    private
    { Private-Deklarationen }
    Folgennummer: Integer;
   
    public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.N01NichtVonDieserWelt1Click(Sender: TObject);
begin
Folgennummer := 1;
PlayEpisodeNummer(Folgennummer);
end;

procedure TForm1.N02HutungBeiVollmond1Click(Sender: TObject);
begin
Folgennummer := 2;
PlayEpisodeNummer(Folgennummer);
end;

procedure PlayEpisodeNummer(Folgennummer: Integer);
begin
  case Folgennummer of
    1: begin // Hier musst du begin schreiben wenn was mehrzeiliges kommt!
      richedit.Lines.LoadFromFile('.\episodes\01.txt');
      Image.Picture.LoadFromFile('.\images\01.jpg');
    end;     // und hier end
    2: begin // hier genauso begin
      richedit.Lines.LoadFromFile('.\episodes\02.txt');
      Image.Picture.LoadFromFile('.\images\02.jpg');
    end;     // hier ebenfalls end
  end;
end;

end.

SirThornberry 20. Okt 2004 19:15

Re: entsprechender Delphi Code zu VB6?
 
PlayEpisodeNumber sollte außerhalb der TForm1-Klassendeclaration, declariert werden wenn es schon keine Methode davon ist (soll ja global vorhanden sein :freak: ).

jaegerschnitzel 20. Okt 2004 20:04

Re: entsprechender Delphi Code zu VB6?
 
@FlorianK
Es kommt wieder eine Fehlermeldung:
Undefinierter Bezeichner: 'richedit'
Undefinierter Bezeichner: 'Image'

FlorianK 20. Okt 2004 20:16

Re: entsprechender Delphi Code zu VB6?
 
Jetzt müsste es klappen!!!

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, Mask, ExtCtrls, ComCtrls, XPMan, CheckLst,
  Grids, ValEdit, Outline, DirOutln, Calendar, Spin, ColorGrd, OleCtrls,
  Chartfx3, OleCtnrs, jpeg, Buttons, AlignLabeledEdit, AlignEdit;

type
  TForm1 = class(TForm)
    Image: TImage;

    edit_Drehbuch: TLabeledEdit;
    edit_Regie: TLabeledEdit;
    RichEdit: TRichEdit;
    Button1: TButton;
    Button2: TButton;
    MainMenu1: TMainMenu;
    edit_Folge: TAlignLabeledEdit;
    edit_ErstausstrahlungD: TAlignLabeledEdit;
    edit_ErstausstrahlungU: TAlignLabeledEdit;
    edit_Titel: TLabeledEdit;
    edit_OriginalTitel: TLabeledEdit;
    Staffel11: TMenuItem;
    N01NichtVonDieserWelt1: TMenuItem;
    N02HutungBeiVollmond1: TMenuItem;
    N03Feuerball1: TMenuItem;
    procedure N01NichtVonDieserWelt1Click(Sender: TObject);
    procedure N02HutungBeiVollmond1Click(Sender: TObject);

    private
    { Private-Deklarationen }
    Folgennummer: Integer;
   
    public
    { Public-Deklarationen }
  end;

procedure PlayEpisodeNummer(Folgennummer: Integer);
// Darf nicht in der Klasse TForm1 deklariert werden!

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.N01NichtVonDieserWelt1Click(Sender: TObject);
begin
Folgennummer := 1;
PlayEpisodeNummer(Folgennummer);
end;

procedure TForm1.N02HutungBeiVollmond1Click(Sender: TObject);
begin
Folgennummer := 2;
PlayEpisodeNummer(Folgennummer);
end;

procedure PlayEpisodeNummer(Folgennummer: Integer);
begin
  case Folgennummer of
    1: begin // Hier musst du 'begin' schreiben wenn was mehrzeiliges kommt!
      Form1.RichEdit.Lines.LoadFromFile('.\episodes\01.txt'); // Form1 muss ergänzt werden
      Form1.Image.Picture.LoadFromFile('.\images\01.jpg');
    end;     // und hier 'end'
    2: begin // hier genauso 'begin'
      Form1.richedit.Lines.LoadFromFile('.\episodes\02.txt');
      Form1.Image.Picture.LoadFromFile('.\images\02.jpg');
    end;     // hier ebenfalls 'end'
  end;
end;

end.

jaegerschnitzel 21. Okt 2004 14:33

Re: entsprechender Delphi Code zu VB6?
 
THX an alle für eure Geduld!
Jetzt gehts!

FlorianK 21. Okt 2004 19:45

Re: entsprechender Delphi Code zu VB6?
 
Kein Problem WIR / bzw. ich helfen / helfe gerne.

Florian K. ;-) :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.
Seite 2 von 2     12   

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