Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Code erweitern

  Alt 19. Aug 2011, 09:06
Du solltest den Code ein wenig auftrennen, dann wird alles auch nicht so wuselig.

Hier mal eine Vorlage, wo du die Prüfung und Wandlung noch ausformulieren musst:

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

procedure Eingabe( var EingabeText : string );
begin

  if EingabeText <> ''
  then
    begin

      Writeln( 'Fehler: ' + EingabeText + ' ist keine Hexadezimalzahl!' );
      Writeln;

    end;

  Writeln( 'Bitte Hexadezimalzahl eingeben:' );
  ReadLn( EingabeText );

end;

function IstHexZahl( const EingabeText : string ) : Boolean;
begin

  // Hier muss noch der Code für die Prüfung rein

  Result := True;
end;

function HexZahlNachInteger( const HexZahl : string ) : Integer;
begin

  // Hier muss noch der Code für die Umwandlung rein

  Result := 0;
end;

procedure Ausgabe( const HexZahl : string; Zahl : Integer );
begin

  Writeln( 'Hex ' + HexZahl + ' ist dezimal ' + IntToStr( Zahl ) );

end;

var
  EingabeText : string;
  Zahl : Integer;

begin
  try

    EingabeText := '';

    // Eingabe

    repeat

      Eingabe( EingabeText );

    until IstHexZahl( EingabeText ) or ( EingabeText = '' );

    if EingabeText <> ''
    then
      begin

        // Verarbeitung

        Zahl := HexZahlNachInteger( EingabeText );

        // Ausgabe

        Ausgabe( EingabeText, Zahl );

      end;

  except
    on E : Exception do
      Writeln( E.ClassName, ': ', E.Message );
  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