AGB  ·  Datenschutz  ·  Impressum  







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

Datenbank mit Fehler in Read Anweisung

Ein Thema von ghost1601 · begonnen am 9. Dez 2006 · letzter Beitrag vom 10. Dez 2006
 
ghost1601

Registriert seit: 26. Aug 2006
64 Beiträge
 
Delphi 2005 Personal
 
#1

Datenbank mit Fehler in Read Anweisung

  Alt 9. Dez 2006, 20:44
Hi Leutz,

ich wollte mich mal ranmachen und für meinen Clan eine Datenbank in Form eines Delphiprogrammes erstellen.
Hat im Prinzip auch ganz gut geklappt bis ich dann irgendwann das Programm ausführen wollte und einen Fehler bekam...mitlerweile steh ich kurz vor dem Verzweifeln.
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Datei1: TMenuItem;
    ffnen1: TMenuItem;
    speichern2: TMenuItem;
    beenden1: TMenuItem;
    Edit1: TEdit;
    Label1: TLabel;
    Edit2: TEdit;
    Label2: TLabel;
    Edit3: TEdit;
    Label3: TLabel;
    Edit4: TEdit;
    Label4: TLabel;
    Edit5: TEdit;
    Label5: TLabel;
    Edit6: TEdit;
    Label6: TLabel;
    ComboBox1: TComboBox;
    Label7: TLabel;
    Memo1: TMemo;
    Label8: TLabel;
    StatusBar1: TStatusBar;
    Button1: TButton;
    Button2: TButton;
    procedure beenden1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure speichern2Click(Sender: TObject);
    procedure ffnen1Click(Sender: TObject);
  private
    procedure ArrayinMaske;
    procedure MaskeinArray;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
type tdaten=record
      clanname:string;
      clankürzel:string;
      homepage:string;
      spiel:string;
      kontaktname:string;
      icq:integer;
      msn:string;
      kommentar:string;
end;

const max=100;

var p:integer;
    daten:tdaten;
    datenfeld:array[1..max]of tdaten;
    datendatei:textfile;
{$R *.dfm}

procedure TForm1.ArrayinMaske;
begin
  daten:=datenfeld[p];
  edit1.text:=daten.clanname;
  edit2.text:=daten.clankürzel;
  edit6.text:=daten.homepage;
  combobox1.text:=daten.spiel;
  edit3.text:=daten.kontaktname;
  edit4.Text:=inttostr(daten.icq);
  edit5.Text:=daten.msn;
  memo1.Text:=daten.kommentar;
  statusbar1.panels[0].text:='Position: '+inttostr(p) + '/' + inttostr(max);
  daten:=datenfeld[p];
  end;
procedure TForm1.MaskeinArray;
begin
   daten.clanname:=edit1.text;
   daten.clankürzel:=edit2.text;
   daten.homepage:=edit6.text;
   daten.spiel:=combobox1.Text;
   daten.kontaktname:=edit3.text;
   daten.icq:=strtoint(edit4.text);
   daten.msn:=edit5.Text;
   daten.kommentar:=memo1.text;
   datenfeld[p]:=daten;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
MaskeinArray;
  if p<max then inc(p);
    ArrayinMaske;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MaskeinArray;
  if p>1 then dec(p);
    ArrayinMaske;
end;

procedure TForm1.ffnen1Click(Sender: TObject);
var zaehler:integer;
begin
maskeinarray;
if opendialog1.execute then
  begin
    assignfile(datendatei, opendialog1.filename);
    reset(datendatei);
        for zaehler:=1 to max do
          begin
            read(datendatei,daten); [b]---->Hier wird der Fehler angezeigt![/b]
            datenfeld[zaehler]:=daten; [b]---->[Fehler] Unit1.pas(125): E2055[/b]
          end; [b]---->Ungültiger Typ in[/b]
     closefile(datendatei) [b]---->Read/Readln-Anweisung[/b]
  end;
end;

procedure TForm1.speichern2Click(Sender: TObject);
var zaehler:integer;
begin
  MaskeinArray;
  if savedialog1.execute then
    begin
      assignfile(datendatei,savedialog1.filename);
      rewrite(datendatei);
      for zaehler:=1 to max do
        begin
          daten:=datenfeld[zaehler];
          write(datendatei,daten);
        end;
       closefile(datendatei)
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
p:=1;
arrayinmaske;
end;

procedure TForm1.beenden1Click(Sender: TObject);
begin
close;
end;

end.
hat irgendjemand eine idee was dort falsch sein kann?
Der Fehler wird in der markierten Zeile, bei daten angezeigt.
Thx
  Mit Zitat antworten Zitat
 


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 12:11 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