AGB  ·  Datenschutz  ·  Impressum  







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

Warum erscheint eine Fehlermeldung?

Ein Thema von ThaiSon96 · begonnen am 17. Feb 2014 · letzter Beitrag vom 20. Feb 2014
 
ThaiSon96

Registriert seit: 7. Mai 2013
11 Beiträge
 
Delphi 7 Personal
 
#1

Warum erscheint eine Fehlermeldung?

  Alt 17. Feb 2014, 18:48
Hallo,
ich habe ein Programm erstellt, dass ein Datum einliest und auf Wunsch des Benutzers in amerikanischem oder europäischen Format ausgibt. Es funktioniert zwar, aber wenn das Programm geschlossen wird, erscheint eine Fehlermeldung.
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  tDatum = class
    tag, monat, jahr : integer;
    procedure drucke(pcheck:string);
    procedure setze(ptag, pmonat, pjahr: integer);
    procedure loeschen;
    //function xmascheck():boolean;
    function datumcheck():boolean;

    end; // of class

//Implementation-----------------------------------------------------

procedure tDatum.loeschen;
begin
  Tag := 0;
  Monat := 0;
  Jahr := 0;
end;

procedure tDatum.drucke(pcheck:string);
begin
  if datumcheck() then
  begin

    if pcheck = 'Ethen
      writeln(tag,'.',monat,'.',jahr)

  else

    if pcheck = 'Athen
       writeln(monat,'/',tag,'/',jahr)

  end
  else writeln('ERROR');
end;

//function tDatum.xmascheck() : boolean;
//begin
  //if (tag = 24) AND (monat = 12) then
    //result := true
  //else
    //result := false;
//end;


Function tdatum.datumcheck(): boolean;
Begin
   If (tag in [1..31]) AND (monat in [1..12]) then
     Result := true
  else
    Result := false
End;


procedure tDatum.setze(ptag, pmonat, pjahr: integer);
begin
  if datumcheck() then
  begin
    tag := ptag;
    monat := pmonat;
    jahr := pjahr;
  end
end;


var
  heute: tDatum;
  check : string;

begin // Hauptprogramm -------


heute.loeschen;
write('Tag: '); readln(heute.tag);
write('Monat: '); readln(heute.monat);
write('Jahr: '); readln(heute.jahr);

heute.setze(heute.tag,heute.monat,heute.jahr);

writeln;
writeln('Amerikanisch (A) oder Europaeisch (E)?');
readln(check);
heute.drucke(check);
readln;
end.
Die Fehlermeldung: "In Projekt C:\<...> \Project1.exe trat ein folgendes Problem mit folgender Meldung auf: 'access violation at 0x7c93a3a2: read of adress 0x000007ea.'. Prozess angehalten. Mit Einzelne Anweisungen oder Start fortsetzen."

Es öffnet sich ein Fenster mit der Überschrift CPU und eine Zeile ist markiert:
7C93A9A2 8B02 mov eax,[edx]

Kann jemand den Grund erkennen?
Gruß
  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 00:15 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