Einzelnen Beitrag anzeigen

Sh4dd4r

Registriert seit: 29. Jul 2008
17 Beiträge
 
#9

Re: komische Fehlermeldung, was bedeutet das?

  Alt 3. Sep 2008, 22:38
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    Hauptmenue1: TMenuItem;
    Aufgaben1: TMenuItem;
    Highscores1: TMenuItem;
    Accountladen1: TMenuItem;
    N1: TMenuItem;
    Accountspeichern1: TMenuItem;
    N2: TMenuItem;
    ENDE1: TMenuItem;
    Wrterlisten1: TMenuItem;
    Zahllisten1: TMenuItem;
    sonstiges1: TMenuItem;
    N3: TMenuItem;
    sonstiges2: TMenuItem;
    Reihenfolge1: TMenuItem;
    Drucheinander1: TMenuItem;
    MarathonTest1: TMenuItem;
    Spielkarten1: TMenuItem;
    N4: TMenuItem;
    Einfhrung1: TMenuItem;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Button1: TButton;
    Memo1: TMemo;
    procedure ENDE1Click(Sender: TObject);
    procedure Reihenfolge1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Reihenfolge;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Zufalls_Zahlen(Anzahl:integer);
    procedure Button1Click(Sender: TObject);
    procedure WortWandel;
  private
    wordlist1: TextFile;
    Anzahl_Zufallszahlen: integer;
    wie_viele_zeilen: integer;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Zufallszahlen:Array[1..250] of integer;

type
 wordlist = class
  private
   NumberOfWords: integer;
   word: array[1..100] of string;
end;

var WList1: wordlist;


implementation

{$R *.dfm}

procedure TForm1.ENDE1Click(Sender: TObject);
begin

  close;

end;

procedure TForm1.Reihenfolge1Click(Sender: TObject);
begin

  Unit3.OKBottomDlg1.ShowModal;
  Anzahl_Zufallszahlen:=StrToInt(Unit3.OKBottomDlg1.Edit1.text);

end;

procedure TForm1.Reihenfolge;
begin

//weitermachen


end;

procedure TForm1.Zufalls_Zahlen(Anzahl:integer);
Var i: integer;
begin
  randomize;
  for i:=1 to Anzahl_Zufallszahlen do begin
    Zufallszahlen[i]:=random(wie_viele_zeilen+1);
  end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  WList1:= wordlist.Create;
  wie_viele_zeilen:=0;
  AssignFile(wordlist1,'wordlist1.txt');
  reset(wordlist1);

    while not EoF(wordlist1) do begin
      readln(wordlist1);
      inc(wie_viele_zeilen);
    end;
  CloseFile(wordlist1);
end;

procedure TForm1.WortWandel;
var zeile: string; i,h,a: integer;
begin
  WList1.NumberOfWords:=0;

// Textdatei wird lesbar gemacht

  AssignFile(wordlist1,'wordlist1.txt');
  reset(wordlist1);

  // Einlesen bestimmter Zeilen der Textdatei

    a:=1;

    for h:=1 to Anzahl_Zufallszahlen do begin
      for i:=1 to (Zufallszahlen[a]-1) do begin
        readln(wordlist1,zeile);
        WList1.word[i]:=zeile;
        inc(a);
      end;
    end;
    WList1.NumberOfWords:=a;
  CloseFile(wordlist1);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  WList1.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
Var i,h:integer;
begin

Zufalls_Zahlen(Anzahl_Zufallszahlen);
WortWandel;

For i:=1 to Anzahl_Zufallszahlen do begin
  memo1.Lines.Add(IntToStr(Zufallszahlen[i])); //--->>> hier is der FEHLER
end;

For h:=1 to Anzahl_Zufallszahlen do begin
  memo1.lines.add(WList1.word[h]);
end;

end;

end.
so, das ist der komplette code...

was das macht: ich bekomm ne liste von zufallszahlen, voneiner bestimmten angegebenen Anzahl die sich zwischen 1 und der anzahl der zeilen eines textdokuments befinden... anhand dieser zahlen wird eine zufällige zeile des textdokuments angewählt, das wort wird in meine eigene class gespiechert.

wortwandel sucht nach den zufallszahlen die wörter aus der textdatei...

hoffe ihr könnt mir helfen, is ziemlich viel code...
  Mit Zitat antworten Zitat