AGB  ·  Datenschutz  ·  Impressum  







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

Fehler im Quelltext

Ein Thema von delphiprofi · begonnen am 23. Apr 2013 · letzter Beitrag vom 23. Apr 2013
Antwort Antwort
Seite 2 von 2     12   
Der schöne Günther

Registriert seit: 6. Mär 2013
6.160 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Fehler im Quelltext

  Alt 23. Apr 2013, 13:36
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?

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?
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Fehler im Quelltext

  Alt 23. Apr 2013, 13:42
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
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

AW: Fehler im Quelltext

  Alt 23. Apr 2013, 14:07
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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Fehler im Quelltext

  Alt 23. Apr 2013, 15:26
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:00 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