Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Fehler im Quelltext (https://www.delphipraxis.net/174451-fehler-im-quelltext.html)

delphiprofi 23. Apr 2013 11:48

Fehler im Quelltext
 
Wo liegt der Fehler? also der Fehler wird nicht von Delphi angezeigt, aber es ist noch einer drinne.

Code:
unit penigma;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Memo1: TMemo;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Memo2: TMemo;
    Memo3: TMemo;
    Memo4: TMemo;
    Label9: TLabel;
    Memo5: TMemo;
    Edit9: TEdit;
    Edit10: TEdit;
    Button2: TButton;
    Label10: TLabel;
    Label11: TLabel;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure KeyPress(Sender: TObject; var Key: Char);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
  TReflektor=RECORD
  pos:byte;
  bs:CHAR;
  END;
  TWalze=RECORD
  pos:byte;
  bs,cb,sc:CHAR;
  END;
var
  Form1: TForm1;
  freflektor:FILE OF TReflektor;
  dreflektor:TReflektor;
  areflektor:ARRAY[0..25]OF TReflektor;
  fwalze1, fwalze2, fwalze3 : File OF TWalze;
  dwalze:TWalze;
  aw1, aw2, aw3:ARRAY[0..25] OF TWalze;
  ea:ARRAY[0..25] OF CHAR;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
VAR
zaehler:BYTE;
reflektor:Shortstring;
walze1,walze2,walze3:SHORTSTRING;
begin
reflektor:='Reflektor'+Edit1.Text+'.dat';
ASSIGNFILE(freflektor,reflektor);
RESET(freflektor);
SEEK(freflektor,STRTOINT(Edit2.Text)-1);
FOR zaehler:=0 TO 25-(STRTOINT(edit2.Text)-1) DO
BEGIN
READ(freflektor,dreflektor);
areflektor[zaehler]:= dreflektor;
END;
SEEK(freflektor,0);
FOR zaehler:=zaehler TO 25  DO
BEGIN
READ(freflektor,dreflektor);
areflektor[zaehler]:= dreflektor;
END;
Memo1.Lines.Clear;
FOR Zaehler:=0 TO 25 DO
Memo1.Lines.Add(INTTOSTR(Zaehler)+' , '+areflektor[zaehler].bs);
Closefile(freflektor);
walze1:='Walze'+Edit3.Text+'.dat';
ASSIGNFILE(fwalze1,walze1);
RESET(fwalze1);
SEEK(fwalze1,STRTOINT(Edit4.Text)-1);
FOR zaehler:=0 TO 25-(STRTOINT(edit4.Text)-1) DO
BEGIN
READ(fwalze1,dwalze);
aw1[zaehler]:= dwalze;
END;
SEEK(fwalze1,0);
FOR zaehler:=zaehler TO 25  DO
BEGIN
READ(fwalze1,dwalze);
aw1[zaehler]:= dwalze;
END;
Memo2.Lines.Clear;
FOR Zaehler:=0 TO 25 DO
Memo2.Lines.Add(INTTOSTR(Zaehler)+' , '+aw1[zaehler].bs+' , '+aw1[zaehler].cb+' , '+aw1[zaehler].sc);
closefile(fwalze1);
walze2:='Walze'+Edit5.Text+'.dat';
ASSIGNFILE(fwalze2,walze2);
RESET(fwalze2);
SEEK(fwalze2,STRTOINT(Edit6.Text)-1);
FOR zaehler:=0 TO 25-(STRTOINT(edit6.Text)-1) DO
BEGIN
READ(fwalze2,dwalze);
aw2[zaehler]:= dwalze;
END;
SEEK(fwalze2,0);
FOR zaehler:=zaehler TO 25  DO
BEGIN
READ(fwalze2,dwalze);
aw2[zaehler]:= dwalze;
END;
Memo3.Lines.Clear;
FOR Zaehler:=0 TO 25 DO
Memo3.Lines.Add(INTTOSTR(Zaehler)+' , '+aw2[zaehler].bs+' , '+aw2[zaehler].cb+' , '+aw2[zaehler].sc);
closefile(fwalze2);
walze3:='Walze'+Edit7.Text+'.dat';
ASSIGNFILE(fwalze3,walze3);
RESET(fwalze3);
SEEK(fwalze3,STRTOINT(Edit8.Text)-1);
FOR zaehler:=0 TO 25-(STRTOINT(edit8.Text)-1) DO
BEGIN
READ(fwalze3,dwalze);
aw3[zaehler]:= dwalze;
END;
SEEK(fwalze3,0);
FOR zaehler:=zaehler TO 25  DO
BEGIN
READ(fwalze3,dwalze);
aw3[zaehler]:= dwalze;
END;
Memo4.Lines.Clear;
FOR Zaehler:=0 TO 25 DO
Memo4.Lines.Add(INTTOSTR(Zaehler)+' , '+aw3[zaehler].bs+' , '+aw3[zaehler].cb+' , '+aw3[zaehler].sc);
closefile(fwalze3);
FOR zaehler:=0 TO 25 DO ea[zaehler]:=chr(65+Zaehler);
Memo5.Lines.Clear;
FOR Zaehler:=0 TO 25 DO Memo5.Lines.add(INTTOSTR(Zaehler)+' , '+ea[zaehler]);

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
application.Terminate;
end;

procedure TForm1.Button3Click(Sender: TObject);
VAR
zaehler:INTEGER;
zs: twalze;
begin
zs:= AW3[0];
For zaehler :=1 TO 25 Do
AW3[zaehler-1]:= AW3[zaehler];
AW3[25]:= zs;
IF Zs.sc='+' then
Begin
zs:= Aw2[0];
For zaehler :=1 TO 25 Do
AW2[zaehler-1]:= AW2[zaehler];
AW2[25]:= zs;
IF Zs.sc='+' then
Begin
zs:= Aw1[0];
For zaehler :=1 TO 25 Do
AW1[zaehler-1]:= AW1[zaehler];
AW1[25]:= zs;
end;
end;
For zaehler:=0 to 25 do
Begin
Memo2.Lines.Add(INTTOSTR(Zaehler)+' , '+aw1[zaehler].bs+' , '+aw1[zaehler].cb+' , '+aw1[zaehler].sc);
Memo3.Lines.Add(INTTOSTR(Zaehler)+' , '+aw2[zaehler].bs+' , '+aw2[zaehler].cb+' , '+aw2[zaehler].sc);
Memo4.Lines.Add(INTTOSTR(Zaehler)+' , '+aw3[zaehler].bs+' , '+aw3[zaehler].cb+' , '+aw3[zaehler].sc);
end;
end;

procedure TForm1.KeyPress(Sender: TObject; var Key: Char);
VAR
zaehler:INTEGER;
Pos_BS1:BYTE;
Pos_BS2:BYTE;
Pos_BS3:BYTE;
Pos_Ea:Byte;
pos_Ref:Byte;
cb3,cb2,cb1,Ref,bs1,bs2,bs3:Char;
zs:twalze;
Begin
If (((Key<#97) OR (Key >#122)) AND ((Key <#65) OR (Key >#90)))
Then Key:=#0 Else
Begin
If Key>#90 then Key:= CHR(ORD(KEY)-32);

zs:= AW3[0];
For zaehler :=1 TO 25 Do
AW3[zaehler-1]:= AW3[zaehler];
AW3[25]:= zs;
IF Zs.sc='+' then
Begin
zs:= Aw2[0];
For zaehler :=1 TO 25 Do
AW2[zaehler-1]:= AW2[zaehler];
AW2[25]:= zs;
IF Zs.sc='+' then
Begin
zs:= Aw1[0];
For zaehler :=1 TO 25 Do
AW1[zaehler-1]:= AW1[zaehler];
AW1[25]:= zs;
end;
end;
For zaehler:=1 to 25 do
Begin
Memo2.Lines.Add(INTTOSTR(Zaehler)+' , '+aw1[zaehler].bs+' , '+aw1[zaehler].cb+' , '+aw1[zaehler].sc);
Memo3.Lines.Add(INTTOSTR(Zaehler)+' , '+aw2[zaehler].bs+' , '+aw2[zaehler].cb+' , '+aw2[zaehler].sc);
Memo4.Lines.Add(INTTOSTR(Zaehler)+' , '+aw3[zaehler].bs+' , '+aw3[zaehler].cb+' , '+aw3[zaehler].sc);
end;

For zaehler:=0 To 25 do
if EA[zaehler]=key Then POS_EA:=zaehler;
CB3:=AW3[pos_EA].cb;

FOR zaehler:=0 To 25 Do
If Aw3[zaehler].bs=CB3 Then pos_BS3:=zaehler;
CB2:= AW2[pos_Bs3].CB;

FOR zaehler:=0 To 25 Do
IF AW2[zaehler].Bs=cb2 Then Pos_Bs2:=zaehler;
Cb1:=AW1[Pos_BS2].Cb;

For zaehler:= 0 To 25 Do
If AW1[zaehler].Bs=Cb1 Then Pos_Bs1:=zaehler;
REF:=AREFLEKTOR[Pos_BS1].BS;

For zaehler:= 0 To 25 DO
IF ((AReflektor[zaehler].Bs=REF) And (zaehler>pos_BS1)) Then Pos_Ref:=zaehler;
bs1:=AW1[Pos_ref].bs;

For zaehler:= 0 To 25 Do
If AW1[zaehler].cb=bs1 Then Pos_Bs1:=zaehler;
bs2:=AW2[Pos_BS1].bs;

FOR zaehler:=0 To 25 Do
IF AW2[zaehler].cb=bs2 Then Pos_Bs2:=zaehler;
bs3:=AW3[Pos_BS2].bs;

FOR zaehler:=0 To 25 Do
If Aw3[zaehler].cb=bs3 Then pos_EA:=zaehler;
Edit10.text:=Edit10.Text+EA[pos_EA];
end;
end;

end.

mkinzler 23. Apr 2013 11:50

AW: Fehler im Quelltext
 
Es würde u.U. schon helfen, wenn du den Code richtig Einrücken würdest.

Der schöne Günther 23. Apr 2013 11:51

AW: Fehler im Quelltext
 
Hallo-

Der Quelltext ist kein Stück formatiert (bitte auch in [Delphi] und nicht [Code]-Tags verwenden) und um das effektiv auszuprobieren muss man erst eine Reihe Komponenten (Edits, Labels, ...) per Hand auf eine neue Form pflanzen.

Kannst du in dem Fall nicht grade ein neues Projekt mit deiner Form und dem Quelltext erstellen?

Auch: "Wo ist der Fehler? Findet ihn!" - Ist das eine Art "Wo ist Walter?"? Ich verstehe nicht ganz, was für ein Fehler...

delphiprofi 23. Apr 2013 11:52

AW: Fehler im Quelltext
 
ja das ist leider so tut mir leid!

delphiprofi 23. Apr 2013 11:53

AW: Fehler im Quelltext
 
es muss ein logischer Fehler sein, der das Programm beendet. den Quelltext haben wir so bekommen, kann da nichts ändern leider...

mkinzler 23. Apr 2013 11:57

AW: Fehler im Quelltext
 
Zitat:

Zitat von delphiprofi (Beitrag 1212521)
es muss ein logischer Fehler sein, der das Programm beendet. den Quelltext haben wir so bekommen, kann da nichts ändern leider...

Es wäre mir neu, dass der Codeditor der IDE bzw. Editor in der DP erkennen kann, ob der Code vom einstellenden User stammt und dann aktiv, die richtige Formatierung verhindern würde!

Zudem kannst du das Delphi-Formular auch selber erzeugen und hier Hochladen. Zudem wäre interessant, was das Programm machen soll und was es macht oder nicht!

delphiprofi 23. Apr 2013 12:03

AW: Fehler im Quelltext
 
Liste der Anhänge anzeigen (Anzahl: 1)
es ist eine enigma

und hier ist die maske

mkinzler 23. Apr 2013 12:09

AW: Fehler im Quelltext
 
Am Besten du stellst die pas und die dfm-datei hier ein

Klaus01 23. Apr 2013 12:11

AW: Fehler im Quelltext
 
Zitat:

Zitat von delphiprofi (Beitrag 1212521)
es muss ein logischer Fehler sein, der das Programm beendet. den Quelltext haben wir so bekommen, kann da nichts ändern leider...

Mit welcher Fehlermeldung wird es denn beendet?

Grüße
Klaus

Jonas Shinaniganz 23. Apr 2013 12:21

AW: Fehler im Quelltext
 
Diese Sourcen hätten nicht in feindliche Hände fallen sollen, das ist der Fehler...

Edit:
Im ernst, du hast versucht das Bild in Paint mit dem Pinsel frei zu stellen und dann auf halben Weg aufgegeben?

Der schöne Günther 23. Apr 2013 12:36

AW: Fehler im Quelltext
 
Zitat:

Zitat von Jonas Shinaniganz (Beitrag 1212529)
Im ernst, du hast versucht das Bild in Paint mit dem Pinsel frei zu stellen und dann auf halben Weg aufgegeben?

Besser als erst gar nicht versucht, oder? :smile2:

Enigma hin oder her, ich verstehe die "Aufgabe" nicht ganz. Das Programm lässt sich kompilieren, es startet und wird dann (ohne jegliche Fehlermeldung) wieder beendet?

SubData 23. Apr 2013 12:42

AW: Fehler im Quelltext
 
Sorry, aber um deine Hausaufgaben zu erledigen musst du schon ein wenig Engagement zeigen.

Wie ich auf "Hausaufgaben" komme?

http://www.delphipraxis.net/174342-f...orderlich.html

Sir Rufo 23. Apr 2013 13:07

AW: Fehler im Quelltext
 
Hier mal formatiert und in Delphi-Tags
(nur damit der TE sieht, wie das aussehen könnte bzw. sollte)
Delphi-Quellcode:
unit penigma;

interface

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

type
  TForm1 = class( TForm )
    Edit1 : TEdit;
    Edit2 : TEdit;
    Label1 : TLabel;
    Label2 : TLabel;
    Button1 : TButton;
    Memo1 : TMemo;
    Label3 : TLabel;
    Label4 : TLabel;
    Label5 : TLabel;
    Label6 : TLabel;
    Label7 : TLabel;
    Label8 : TLabel;
    Edit3 : TEdit;
    Edit4 : TEdit;
    Edit5 : TEdit;
    Edit6 : TEdit;
    Edit7 : TEdit;
    Edit8 : TEdit;
    Memo2 : TMemo;
    Memo3 : TMemo;
    Memo4 : TMemo;
    Label9 : TLabel;
    Memo5 : TMemo;
    Edit9 : TEdit;
    Edit10 : TEdit;
    Button2 : TButton;
    Label10 : TLabel;
    Label11 : TLabel;
    Button3 : TButton;
    procedure Button1Click( Sender : TObject );
    procedure Button2Click( Sender : TObject );
    procedure Button3Click( Sender : TObject );
    procedure KeyPress( Sender : TObject; var Key : Char );

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

  TReflektor = RECORD
    pos : byte;
    bs : Char;
  END;

  TWalze = RECORD
    pos : byte;
    bs, cb, sc : Char;
  END;

var
  Form1 :                    TForm1;
  freflektor :               FILE OF TReflektor;
  dreflektor :               TReflektor;
  areflektor :               ARRAY [0 .. 25] OF TReflektor;
  fwalze1, fwalze2, fwalze3 : File OF TWalze;
  dwalze :                   TWalze;
  aw1, aw2, aw3 :            ARRAY [0 .. 25] OF TWalze;
  ea :                       ARRAY [0 .. 25] OF Char;

implementation

{$R *.dfm}

procedure TForm1.Button1Click( Sender : TObject );
VAR
  zaehler :               byte;
  reflektor :             Shortstring;
  walze1, walze2, walze3 : Shortstring;
begin
  reflektor := 'Reflektor' + Edit1.Text + '.dat';
  ASSIGNFILE( freflektor, reflektor );
  RESET( freflektor );
  SEEK( freflektor, STRTOINT( Edit2.Text ) - 1 );
  FOR zaehler := 0 TO 25 - ( STRTOINT( Edit2.Text ) - 1 ) DO
    BEGIN
      READ( freflektor, dreflektor );
      areflektor[zaehler] := dreflektor;
    END;
  SEEK( freflektor, 0 );
  FOR zaehler := zaehler TO 25 DO
    BEGIN
      READ( freflektor, dreflektor );
      areflektor[zaehler] := dreflektor;
    END;
  Memo1.Lines.Clear;
  FOR zaehler := 0 TO 25 DO
    Memo1.Lines.Add( INTTOSTR( zaehler ) + ' , ' + areflektor[zaehler].bs );
  Closefile( freflektor );
  walze1 := 'Walze' + Edit3.Text + '.dat';
  ASSIGNFILE( fwalze1, walze1 );
  RESET( fwalze1 );
  SEEK( fwalze1, STRTOINT( Edit4.Text ) - 1 );
  FOR zaehler := 0 TO 25 - ( STRTOINT( Edit4.Text ) - 1 ) DO
    BEGIN
      READ( fwalze1, dwalze );
      aw1[zaehler] := dwalze;
    END;
  SEEK( fwalze1, 0 );
  FOR zaehler := zaehler TO 25 DO
    BEGIN
      READ( fwalze1, dwalze );
      aw1[zaehler] := dwalze;
    END;
  Memo2.Lines.Clear;
  FOR zaehler := 0 TO 25 DO
    Memo2.Lines.Add( INTTOSTR( zaehler ) + ' , ' + aw1[zaehler].bs + ' , ' + aw1[zaehler].cb + ' , ' + aw1[zaehler].sc );
  Closefile( fwalze1 );
  walze2 := 'Walze' + Edit5.Text + '.dat';
  ASSIGNFILE( fwalze2, walze2 );
  RESET( fwalze2 );
  SEEK( fwalze2, STRTOINT( Edit6.Text ) - 1 );
  FOR zaehler := 0 TO 25 - ( STRTOINT( Edit6.Text ) - 1 ) DO
    BEGIN
      READ( fwalze2, dwalze );
      aw2[zaehler] := dwalze;
    END;
  SEEK( fwalze2, 0 );
  FOR zaehler := zaehler TO 25 DO
    BEGIN
      READ( fwalze2, dwalze );
      aw2[zaehler] := dwalze;
    END;
  Memo3.Lines.Clear;
  FOR zaehler := 0 TO 25 DO
    Memo3.Lines.Add( INTTOSTR( zaehler ) + ' , ' + aw2[zaehler].bs + ' , ' + aw2[zaehler].cb + ' , ' + aw2[zaehler].sc );
  Closefile( fwalze2 );
  walze3 := 'Walze' + Edit7.Text + '.dat';
  ASSIGNFILE( fwalze3, walze3 );
  RESET( fwalze3 );
  SEEK( fwalze3, STRTOINT( Edit8.Text ) - 1 );
  FOR zaehler := 0 TO 25 - ( STRTOINT( Edit8.Text ) - 1 ) DO
    BEGIN
      READ( fwalze3, dwalze );
      aw3[zaehler] := dwalze;
    END;
  SEEK( fwalze3, 0 );
  FOR zaehler := zaehler TO 25 DO
    BEGIN
      READ( fwalze3, dwalze );
      aw3[zaehler] := dwalze;
    END;
  Memo4.Lines.Clear;
  FOR zaehler := 0 TO 25 DO
    Memo4.Lines.Add( INTTOSTR( zaehler ) + ' , ' + aw3[zaehler].bs + ' , ' + aw3[zaehler].cb + ' , ' + aw3[zaehler].sc );
  Closefile( fwalze3 );
  FOR zaehler  := 0 TO 25 DO
    ea[zaehler] := chr( 65 + zaehler );
  Memo5.Lines.Clear;
  FOR zaehler := 0 TO 25 DO
    Memo5.Lines.Add( INTTOSTR( zaehler ) + ' , ' + ea[zaehler] );

end;

procedure TForm1.Button2Click( Sender : TObject );
begin
  application.Terminate;
end;

procedure TForm1.Button3Click( Sender : TObject );
VAR
  zaehler : INTEGER;
  zs :     TWalze;
begin
  zs := aw3[0];
  For zaehler       := 1 TO 25 Do
    aw3[zaehler - 1] := aw3[zaehler];
  aw3[25] := zs;
  IF zs.sc = '+'
  then
    Begin
      zs := aw2[0];
      For zaehler       := 1 TO 25 Do
        aw2[zaehler - 1] := aw2[zaehler];
      aw2[25] := zs;
      IF zs.sc = '+'
      then
        Begin
          zs                := aw1[0];
          For zaehler       := 1 TO 25 Do
            aw1[zaehler - 1] := aw1[zaehler];
          aw1[25]           := zs;
        end;
    end;
  For zaehler := 0 to 25 do
    Begin
      Memo2.Lines.Add( INTTOSTR( zaehler ) + ' , ' + aw1[zaehler].bs + ' , ' + aw1[zaehler].cb + ' , ' + aw1[zaehler].sc );
      Memo3.Lines.Add( INTTOSTR( zaehler ) + ' , ' + aw2[zaehler].bs + ' , ' + aw2[zaehler].cb + ' , ' + aw2[zaehler].sc );
      Memo4.Lines.Add( INTTOSTR( zaehler ) + ' , ' + aw3[zaehler].bs + ' , ' + aw3[zaehler].cb + ' , ' + aw3[zaehler].sc );
    end;
end;

procedure TForm1.KeyPress( Sender : TObject; var Key : Char );
VAR
  zaehler :                          INTEGER;
  Pos_BS1 :                          byte;
  Pos_BS2 :                          byte;
  Pos_BS3 :                          byte;
  Pos_Ea :                           byte;
  pos_Ref :                          byte;
  cb3, cb2, cb1, Ref, bs1, bs2, bs3 : Char;
  zs :                               TWalze;
Begin
  If ( ( ( Key < #97 ) OR ( Key > #122 ) ) AND ( ( Key < #65 ) OR ( Key > #90 ) ) )
  Then
    Key := #0
  Else
    Begin
      If Key > #90
      then
        Key := chr( ORD( Key ) - 32 );

      zs                := aw3[0];
      For zaehler       := 1 TO 25 Do
        aw3[zaehler - 1] := aw3[zaehler];
      aw3[25]           := zs;
      IF zs.sc = '+'
      then
        Begin
          zs                := aw2[0];
          For zaehler       := 1 TO 25 Do
            aw2[zaehler - 1] := aw2[zaehler];
          aw2[25]           := zs;
          IF zs.sc = '+'
          then
            Begin
              zs                := aw1[0];
              For zaehler       := 1 TO 25 Do
                aw1[zaehler - 1] := aw1[zaehler];
              aw1[25]           := zs;
            end;
        end;
      For zaehler := 1 to 25 do
        Begin
          Memo2.Lines.Add( INTTOSTR( zaehler ) + ' , ' + aw1[zaehler].bs + ' , ' + aw1[zaehler].cb + ' , ' + aw1[zaehler].sc );
          Memo3.Lines.Add( INTTOSTR( zaehler ) + ' , ' + aw2[zaehler].bs + ' , ' + aw2[zaehler].cb + ' , ' + aw2[zaehler].sc );
          Memo4.Lines.Add( INTTOSTR( zaehler ) + ' , ' + aw3[zaehler].bs + ' , ' + aw3[zaehler].cb + ' , ' + aw3[zaehler].sc );
        end;

      For zaehler := 0 To 25 do
        if ea[zaehler] = Key
        Then
          Pos_Ea := zaehler;
      cb3        := aw3[Pos_Ea].cb;

      FOR zaehler := 0 To 25 Do
        If aw3[zaehler].bs = cb3
        Then
          Pos_BS3 := zaehler;
      cb2         := aw2[Pos_BS3].cb;

      FOR zaehler := 0 To 25 Do
        IF aw2[zaehler].bs = cb2
        Then
          Pos_BS2 := zaehler;
      cb1         := aw1[Pos_BS2].cb;

      For zaehler := 0 To 25 Do
        If aw1[zaehler].bs = cb1
        Then
          Pos_BS1 := zaehler;
      Ref        := areflektor[Pos_BS1].bs;

      For zaehler := 0 To 25 DO
        IF ( ( areflektor[zaehler].bs = Ref ) And ( zaehler > Pos_BS1 ) )
        Then
          pos_Ref := zaehler;
      bs1         := aw1[pos_Ref].bs;

      For zaehler := 0 To 25 Do
        If aw1[zaehler].cb = bs1
        Then
          Pos_BS1 := zaehler;
      bs2         := aw2[Pos_BS1].bs;

      FOR zaehler := 0 To 25 Do
        IF aw2[zaehler].cb = bs2
        Then
          Pos_BS2 := zaehler;
      bs3         := aw3[Pos_BS2].bs;

      FOR zaehler := 0 To 25 Do
        If aw3[zaehler].cb = bs3
        Then
          Pos_Ea := zaehler;
      Edit10.Text := Edit10.Text + ea[Pos_Ea];
    end;
end;

end.

p80286 23. Apr 2013 14:26

AW: Fehler im Quelltext
 
Zitat:

Zitat von Sir Rufo (Beitrag 1212550)
Hier mal formatiert und in Delphi-Tags
(nur damit der TE sieht, wie das aussehen könnte bzw. sollte)

Das sieht ja noch immer Gruselig aus. Sprechende Variablennahmen scheinen noch nicht bis in den Unterricht vorgedrungen zu sein.
Und dies hier scheint auch aus TP-Zeiten übrig geblieben zu sein:
Delphi-Quellcode:
  reflektor := 'Reflektor' + Edit1.Text + '.dat';
  ASSIGNFILE( freflektor, reflektor );
  RESET( freflektor );
  SEEK( freflektor, STRTOINT( Edit2.Text ) - 1 );
  FOR zaehler := 0 TO 25 - ( STRTOINT( Edit2.Text ) - 1 ) DO
    BEGIN
Gruß
K-H


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