Autor Beitrag
max9
Hält's aus hier
Beiträge: 10

win 98 se
Delphi 7
BeitragVerfasst: Do 15.06.06 18:58 
hallo
ich hab ein tutorial durchgearbeitet und da traf ich auf folgenden code. Der Compiler zeigt mehrere Fehlermeldungen an, ich kann mir aber nicht erklären wieso.


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:
procedure TForm1.ButtonNeuClick(Sender: TObject);
 Var NeuerEintrag: TServerEintrag ;
    NeuesItem: TListItem;
    Serverliste: File of TServerEintrag;
begin
  with NeuerEintrag do begin
     Servername := InputBox('Neuen Server hinzufügen...','Bitte den Servernamen eingeben:','');
      if Servername='' then Exit;
      Adresse := InputBox('Neuen Server hinzufügen...',' Bitte die Adresse eingeben:','');
      if Adresse='' then Exit;
      Benutzername := InputBox('Neuen Server hinzufügen...','Bitte dem Benutzernamen eingeben:','');
      if Benutzername='' then Exit;
      Bemerkungen :=InputBox('Neuen Server hinzufügen...','Bemerkung eingeben(falls sie wollen):','');
      end;
      NeuesItem := ListViewServers.Items.Add;
      NeuesItem.Caption := NeuerEintrag.Servername;
      NeuesItem.SubItems.Add(NeuerEintrag.Adresse);
      NeuesItem.SubItems.Add(NeuerEintrag.Benutzername);
      NeuesItem.SubItems.Add(NeuerEintrag.Bemerkungen);
      AssignFile(ServerListe,ProgrammPfad+'servers.lst');
  if not FileExists(ProgrammPfad+'servers.lst'then Rewrite(ServerListe)
     else Reset(ServerListe);
      Seek(ServerListe,FileSize(ServerListe));
      write(ServerListe,NeuerEintrag);
      closeFile(ServerListe);
      end;
      TServerEintrag= record
         Servername:String[255];
         Adresse: String[255);
         Benutzername:String[255];
         Bemerkungen:String[255];
         end;


ein kleiner Auszug aus den Fehlermeldungen: Undeclared Identifier :'TServerEintrag'
missing operator or semicolon
';'expected but IF found
die liste ist ziemlich lang aber ich versteh nicht warum.
vielleicht kann mir ja jemand weiterhelfen

mfg max9

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 15.06.06 19:23 
:welcome: in der Entwickler-Ecke.

Ich empfehle dir einen Grundlagenkurs zu Delphi wie z.B.:
www.christian-stelzm...rials-crashkurs.html

Der Fehler im Source ist so offensichtlich, dass ich davon ausgehen muss, dass du noch ziemlich frisch mit Delphi bist. :wink:
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:
procedure TForm1.ButtonNeuClick(Sender: TObject);
 Var NeuerEintrag: TServerEintrag ;
    NeuesItem: TListItem;
    Serverliste: File of TServerEintrag;
begin
  with NeuerEintrag do begin
     Servername := InputBox('Neuen Server hinzufügen...','Bitte den Servernamen eingeben:','');
      if Servername='' then Exit;
      Adresse := InputBox('Neuen Server hinzufügen...',' Bitte die Adresse eingeben:','');
      if Adresse='' then Exit;
      Benutzername := InputBox('Neuen Server hinzufügen...','Bitte dem Benutzernamen eingeben:','');
      if Benutzername='' then Exit;
      Bemerkungen :=InputBox('Neuen Server hinzufügen...','Bemerkung eingeben(falls sie wollen):','');
      end;
      NeuesItem := ListViewServers.Items.Add;
      NeuesItem.Caption := NeuerEintrag.Servername;
      NeuesItem.SubItems.Add(NeuerEintrag.Adresse);
      NeuesItem.SubItems.Add(NeuerEintrag.Benutzername);
      NeuesItem.SubItems.Add(NeuerEintrag.Bemerkungen);
      AssignFile(ServerListe,ProgrammPfad+'servers.lst');
  if not FileExists(ProgrammPfad+'servers.lst'then Rewrite(ServerListe)
     else Reset(ServerListe);
      Seek(ServerListe,FileSize(ServerListe));
      write(ServerListe,NeuerEintrag);
      closeFile(ServerListe);
      end;
// Ab hier ist der Fehler
      TServerEintrag= record
         Servername:String[255];
         Adresse: String[255);
         Benutzername:String[255];
         Bemerkungen:String[255];
         end;

Dabei handelt es sich normalerweise um eine Type-Deklaration, die dort nichts verloren hat. Ohne den gesamten Source zu kennen, kann ich dir aber nicht sagen, wo es in diesem Fall genau hingehört.
Trotzalledem solltest di dich aber zunächst mit den echten Grundlagen auseinandersetzen. Sonst wirst du viele Erläuterungen nicht verstehen.
Christian R.
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 15.06.06 19:26 
Dieser Code sieht doch sehr i. O. aus. Bist Du Dir sicher, dass der Fehler in diesem Teil des Codes liegt? Wenn es heißt 'Semikolon fehlt aber if gefunden' kann ich nur sagen, dass alle Semikolons richtig gesetzt sind. Alle begin und end sind da.

// Edit:
War zu langsam. Ich bin noch davon ausgegangen, dass es absicht war, dass eine Typdefinition hinten dran hing. dachte er wollte nur zeigen wie der Typ TServerName aufgebaut ist, als 'mögliche Fehlerursache'.
thkerkmann
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 20

Windows 7
Delphi 2010 Professional
BeitragVerfasst: Do 15.06.06 20:29 
Hi,

verschiebe doch die Typdeklaration mal vor die Prozedur die diese verwendet. Das kann schon eine Menge helfen.

Es gehört sich nämlich in Pascal/Delphi so, dass man deklariert bevor man verwendet.

Gruss

Thomas

_________________
Ich hab noch einen Koffer in Borland.