AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Problem mit Abfangen von ner Datumseingabe
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Abfangen von ner Datumseingabe

Ein Thema von The_Tremendous · begonnen am 3. Jun 2005 · letzter Beitrag vom 5. Jun 2005
 
The_Tremendous

Registriert seit: 10. Nov 2004
65 Beiträge
 
#5

Re: Problem mit Abfangen von ner Datumseingabe

  Alt 3. Jun 2005, 16:04
Also das System ist Klar, allerdings ist da wohl irgendwo noch ein kleiner Fehler drinne. Beim Ablauf wird die funktion zwar aufgerufen, aber die if-anweisungen gekonnt übersprungen.

Ich weis net ob es jetzt ein Fehler von mir ist, oder ob er in deinem Quelltext liegt.?


Delphi-Quellcode:
unit UDatumsberechnung;

interface

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

type
  TfrmDatum = class(TForm)
    editDatumEingabe: TEdit;
    comboDatumAuswahl: TComboBox;
    RadioGroup1: TRadioGroup;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    lbltest: TLabel;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    function CheckString(EinleseDatum:string):TDate;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  frmDatum: TfrmDatum;

implementation

{$R *.dfm}

var EinleseDatum, test: string;
    Datum : TDateTime;

procedure TfrmDatum.BitBtn1Click(Sender: TObject);
begin
  try
   // wenns nicht zu except springt, ist alles in ordnung
   CheckString(EditDatumEingabe.Text);

   lbltest.Caption := DateToStr(Datum);
  except
   // der string war keine gültige Datumseingabe
   editDatumEingabe.Text := '';
   ShowMessage('Der Eingegebene Wert ist kein Zulässiges Datum! Bitte geben Sie ein gültiges Datum ein');
  end;
   
end;

function TFrmDatum.CheckString(EinleseDatum:string):TDate;
var
  i,i2:integer;
  s1,s2:string;
begin
if (pos('.',EinleseDatum)>0) and (pos(' ',EinleseDatum)<=0) then begin
  //wenn es 01.01.2005 ist
  result:=StrToDate(EinleseDatum);
end;
if (pos('-',EinleseDatum)>0) and (pos('-',EinleseDatum)<=2) then begin
  //wenn es 2005-01-01 ist
  i:=pos('-',EinleseDatum);
  s1:=copy(EinleseDatum,1,i-1);
  Delete(EinleseDatum,1,i);
  i:=pos('-',EinleseDatum);
  s2:=copy(EinleseDatum,1,i-1);
  Delete(EinleseDatum,1,i);
  result:=StrToDate(EinleseDatum + '.' + s2 + '.' + s1);
end;
if (pos('.',EinleseDatum)>0) and (pos(' ',EinleseDatum)>0) then begin
  //wenn es 1. Januar 2005 ist
  i:=pos(' ',EinleseDatum);
  s1:=Copy(EinleseDatum,1,i-2);
  Delete(EinleseDatum,1,i);
  i:=pos(' ',EinleseDatum);
  s2:=Copy(EinleseDatum,1,i-1);
  Delete(EinleseDatum,1,i);
  if LowerCase(s2)='januarthen s2:='1';
  if LowerCase(s2)='februarthen s2:='2';
  //...
  if LowerCase(s2)='dezemberthen s2:='12';
  result:=StrToDate(s1 + '.' + s2 + '.' + EinleseDatum);
end;

end;

end.
  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 10:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz