AGB  ·  Datenschutz  ·  Impressum  







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

Bezeichner redefiniert + Deklaration?

Ein Thema von Bericender · begonnen am 4. Jan 2009 · letzter Beitrag vom 4. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Bericender

Registriert seit: 10. Sep 2008
22 Beiträge
 
#1

Bezeichner redefiniert + Deklaration?

  Alt 4. Jan 2009, 12:31
Laut Delphi habe ich einige Bezeichner redefiniert und eine ungenügende Forward- oder External Deklaration bei den Prozeduren. Sieht von euch wer woran es liegt?

Delphi-Quellcode:
unit uUnit2;

interface

type
  TEinzelteile = record
        TNummer,Preis:integer;
        Bezeichnung,Verwendung:string[250];
  end;
  TKundenstamm = record
        Name,Strasse,Ort:string[100];
        Hausnummer,Postleitzahl:integer;
  end;
  Tearray=Array[0..999]of TEinzelteile;
  Tkarray=Array[0..999]of TKundenstamm;
  TFirma=class
        earray:Tearray;
        karray:Tkarray;
        fn:string[9];
        Einzelteile:File of TEinzelteile;
        Einzelteile:TEinzelteile;
        Kundenstamm:File of TKundenstamm;
        Kundenstamm:TKundenstamm;
        procedure speichern(fn:string);
        procedure neu (fn:string);
        procedure oeffnen (fn:string);
        procedure schliessen;
        procedure vor;
        procedure zurueck;
   end;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

implementation

{$R *.dfm}

procedure oeffnen (fn:string)TFirma;
begin
  fn:'Einzelteile.dat';
  assignfile(Einzelteile,fn);
  if fileexists ('Einzelteile.dat')
  then reset(Einzelteile);
  Einzelteile.TNummer:=Edit1.Text;
  Einzelteile.Preis:=Edit2.Text;
  Einzelteile.Bezeichnung:=Edit3.Text;
  Einzelteile.Verwendung:=Edit4.Text;
  else ReWrite(Einzelteile);   
end;

procedure neu (fn:string);
begin
  fn:'Einzelteile.dat';
  assignfile(Einzelteile,fn);
  seek(eof(einzelteile));
  rewrite(Einzelteile);
end;

procedure speichern(fn:string);
begin
  fn:'Einzelteile.dat';
  assignfile(Einzelteile,fn);
  Einzelteile.TNummer:=inttostr(Edit1.Text);
  Einzelteile.Preis:=inttostr(Edit2.Text);
  Einzelteile.Bezeichnung:=Edit3.Text;
  Einzelteile.Verwendung:=Edit4.Text;
  write(Einzelteile,earray);
end;

procedure vor;
  begin
  seek(Einzelteile,filepos(Einzelteile));
  Einzelteile.TNummer:=inttostr(Edit1.Text);
  Einzelteile.Preis:=inttostr(Edit2.Text);
  Einzelteile.Bezeichnung:=Edit3.Text;
  Einzelteile.Verwendung:=Edit4.Text;
end;

procedure zurueck;
begin
  Seek(Einzelteile, FilePos(Einzelteile)-2);
  Einzelteile.TNummer:=inttostr(Edit1.Text);
  Einzelteile.Preis:=inttostr(Edit2.Text);
  Einzelteile.Bezeichnung:=Edit3.Text;
  Einzelteile.Verwendung:=Edit4.Text;
end;

procedure schliessen;
begin
CloseFile(Einzelteile);
close
end;

end.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Bezeichner redefiniert + Deklaration?

  Alt 4. Jan 2009, 12:32
Normalerweise sagt der Compiler auch welche und wo

Bei der Deklaration der Methoden ( nicht Prozeduren/Funktionen) fehlt die Angabe der Klasse
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Bezeichner redefiniert + Deklaration?

  Alt 4. Jan 2009, 12:33
Zitat von mkinzler:
Normalerweise sagt der Compiler auch welche und wo
Das sieht man aber

Delphi-Quellcode:
procedure TFirma.oeffnen (fn:string);
procedure TFirma.neu (fn:string);
usw. usf.

fn:'Einzelteile.dat'; Interessante Syntax?
  Mit Zitat antworten Zitat
Bericender

Registriert seit: 10. Sep 2008
22 Beiträge
 
#4

Re: Bezeichner redefiniert + Deklaration?

  Alt 4. Jan 2009, 12:35

Tjaja der Wald vor lauter Bäumen
Theoretisch gesehen müsste ich die gesamte fn Geschichte weglassen oder?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Bezeichner redefiniert + Deklaration?

  Alt 4. Jan 2009, 12:38
Jein, ist ja ein Parameter der Methode. Oder willst du ihn als Defaultwert nehmen wenn nichts übergeben wird
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Bezeichner redefiniert + Deklaration?

  Alt 4. Jan 2009, 12:39
Wenn das die komplette Unit ist, ist da sowieso ein Kuddelmuddel drin.

Du greifst auf Edit-Boxen zu, die es gar nicht gibt?
  Mit Zitat antworten Zitat
Bericender

Registriert seit: 10. Sep 2008
22 Beiträge
 
#7

Re: Bezeichner redefiniert + Deklaration?

  Alt 4. Jan 2009, 12:40
ich würde die Datei überall Einzelteile.dat nennen und somit komplett auf fn verzichten.
Die Edit Boxen sind in Unit 1
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Bezeichner redefiniert + Deklaration?

  Alt 4. Jan 2009, 12:42
Zitat:
Die Edit Boxen sind in Unit 1 Wink
Dann solltest du diese aber richtig referenzieren
Markus Kinzler
  Mit Zitat antworten Zitat
Bericender

Registriert seit: 10. Sep 2008
22 Beiträge
 
#9

Re: Bezeichner redefiniert + Deklaration?

  Alt 4. Jan 2009, 12:43
Hier ist übrigens die Unit 1
Delphi-Quellcode:
unit uUnit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Button1: TButton;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
        TFirma.neu;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
        TFirma.oeffnen;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
        TFirma.vor;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
        TFirma.zurueck;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
        TFirma.speichern;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
        TFirma.schliessen;
end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Bezeichner redefiniert + Deklaration?

  Alt 4. Jan 2009, 12:44
Mei, da fehlt es an Grundlagen. Du musst ein Objekt der Klasse nutzen und nicht die Klasse selbst, höchstens es sind Klassenmethoden.

Schau mal auf www.dsdt.info vorbei, dort gibt es gute Grundlagentutorials.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:14 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