Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Aufrufen einer Procedure unmöglich (https://www.delphipraxis.net/27526-aufrufen-einer-procedure-unmoeglich.html)

Alexander Roth 11. Aug 2004 16:17


Aufrufen einer Procedure unmöglich
 
Hallo Leute,

irgendwie funktioniert bei mir der Procedureaufruf nicht. Bei mir meldet der Compiler das: "Undefinierter Bezeichner 'schreibetextfile'".

Danke im Vorraus für eure Hilfe.

Code:
unit Unit4;

interface

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

type
  TForm4 = class(TForm)
    ShellTreeView1: TShellTreeView;
    Button1: TButton;
    RadioGroup1: TRadioGroup;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
const
  Pfadalt = 'E:\Delphi\Mathematik\Primzahlen Aufgelistet.txt';

var
  Form4: TForm4;
  sepfad:ttreenode;
  f : textfile;
  g :textfile;
  pfad : string;
  vorstr : string;
implementation

uses Mathematik, Unit5, Unit2, Unit3, Unit6;

{$R *.dfm}


procedure TForm4.Button1Click(Sender: TObject);
begin
sepfad := shelltreeview1.Selected;
pfad:=shelltreeview1.Path+'\'+edit1.text+'.txt';
if fileexists(pfad) then
  begin
    form5.show;
  end
else
  begin
if radiobutton2.Checked then
  begin


  schreibetextfile ;


  end;
if radiobutton3.Checked then
  begin
  copyfile(pansichar(pfadalt),pansichar(pfad),true);
  end;
  end;
end;



procedure schreibetextfile   ;



var i : integer;
begin
  assignfile(f,pfad);
  assignfile(g,pfadalt);
  rewrite(f);
  reset(g);
  for i := 1 to aerg do
    begin
    if i=1 then
      begin
        read(g,vorstr);
        showmessage(vorstr);
        write(f,vorstr);
      end;
    end;
end;

procedure TForm4.FormActivate(Sender: TObject);
begin
shelltreeview1.Selected := sepfad;
if radiobutton2.Checked then edit1.Text := 'Primzahlen Text';
if radiobutton3.Checked then edit1.Text := 'Primzahlen List';

end;

procedure TForm4.RadioButton2Click(Sender: TObject);
begin
if (radiobutton2.Checked) and (edit1.Text = 'Primzahlen List') then edit1.Text := 'Primzahlen Text';
if (radiobutton3.Checked) and (edit1.Text = 'Primzahlen Text') then edit1.Text := 'Primzahlen List';
end;

end.
Oh irgendwie kann ich die Stellen wo die Procedure aufgerufen wird nicht im Code Fett Makieren, oder farbig oder so, deshalb hab ich leerzeilen gelassen um es ein bissen offensichtlicher zu machen wo die Stellen vorkommen.

bttb930 11. Aug 2004 16:19

Re: Aufrufen einer Procedure unmöglich
 
an der stelle kennt der compiler die prozedur noch nicht - sie muß im quelltext vor der aufrufenden stehen

Phoenix 11. Aug 2004 16:19

Re: Aufrufen einer Procedure unmöglich
 
Packe die Prozedur 'Schreibetextfile' einfach über die Methode.

Der Compiler geht von oben nach unten durch, und Du benutzt die Funktion bevor Du sie geschrieben hast, das heisst da kennt er sie noch nicht. Wenn Du erst die Funktion schreibst, und sie dann benutzt geht das.

Ultimator 11. Aug 2004 16:19

Re: Aufrufen einer Procedure unmöglich
 
Du musst die Prozedur schreibetextfile auch oben bekannt machen, da wo die anderen proceduren stehen, musst du auch den Kopf deiner Prozedur hinschreiben...

Matze 11. Aug 2004 16:20

Re: Aufrufen einer Procedure unmöglich
 
Zitat:

Zitat von Ultimator
Du musst die Prozedur schreibetextfile auch oben bekannt machen, da wo die anderen proceduren stehen, musst du auch den Kopf deiner Prozedur hinschreiben...

Stimmt nicht.

Chewie 11. Aug 2004 16:21

Re: Aufrufen einer Procedure unmöglich
 
Oder den Prozedurkopf im interface-Teil bekanntmachen oder als Vorwärtsdeklaration im implementation-Teil:
Delphi-Quellcode:
procedure schreibetextfile; forward;

Ultimator 11. Aug 2004 16:25

Re: Aufrufen einer Procedure unmöglich
 
Zitat:

Zitat von Matze
Stimmt nicht.

Stimmt. :oops:

Alexander Roth 11. Aug 2004 16:27

Re: Aufrufen einer Procedure unmöglich
 
Bin ich blöd.
Danke für eure Hilfe klappt jetzt alles ganz prima.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 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