AGB  ·  Datenschutz  ·  Impressum  







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

Case...of und Ordinal-Typ-Fehler?

Ein Thema von Bastler · begonnen am 1. Sep 2006 · letzter Beitrag vom 1. Sep 2006
Antwort Antwort
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#1

Case...of und Ordinal-Typ-Fehler?

  Alt 1. Sep 2006, 15:48
Hallo zusammen;

Folgendes Problem:

Delphi-Quellcode:
procedure TForm1.bersichtWoche1Click(Sender: TObject);
var k:integer;
    tagg,tagh,tagm:string;

begin
tagg:=inttostr(DayofWeek(Yesterday));
tagg:=tagg+' ';

case tagg of
'1 '  : tagg:='Sonntag';
'2 '  : tagg:='Montag';
'3 '  : tagg:='Dienstag';
'4 '  : tagg:='Mittwoch';
'5 '  : tagg:='Donnerstag';
'6 '  : tagg:='Freitag';
'7 '  : tagg:='Samstag';
ens;
Panel2.caption:=tagg;

tagh:=inttostr(DayofWeek(now));
case tagh of
'1 '  : tagg:='Sonntag';
'2 '  : tagg:='Montag';
'3 '  : tagg:='Dienstag';
'4 '  : tagg:='Mittwoch';
'5 '  : tagg:='Donnerstag';
'6 '  : tagg:='Freitag';
'7 '  : tagg:='Samstag';
ens;
Panel3.caption:=tagg;

tagm:=inttostr(DayofWeek(Tomorrow));
case tagm of
'1 '  : tagg:='Sonntag';
'2 '  : tagg:='Montag';
'3 '  : tagg:='Dienstag';
'4 '  : tagg:='Mittwoch';
'5 '  : tagg:='Donnerstag';
'6 '  : tagg:='Freitag';
'7 '  : tagg:='Samstag';
ens;
Panel4.caption:=tagg;
Dann sagt mir der Compiler:

Zitat:
[Fehler] Unit1.pas(273): Ordinaltyp erforderlich
In der zeile wo das Case-Of steht, aber warum? ich bnutze Case-Ofs doch immer so...?
Bitte um Hilfe
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Case...of und Ordinal-Typ-Fehler?

  Alt 1. Sep 2006, 15:50
Du kannst nur Zahlen und Enumerationen in Case-Blöcken benutzen. Für Strings steht glaub ich irgendwas in der Codelib..
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#3

Re: Case...of und Ordinal-Typ-Fehler?

  Alt 1. Sep 2006, 15:51
Wie wärs mit:
Delphi-Quellcode:
case StrToInt(tagg) of
1 : tagg:='Sonntag';
2 : tagg:='Montag';
3 : tagg:='Dienstag';
4 : tagg:='Mittwoch';
5 : tagg:='Donnerstag';
6 : tagg:='Freitag';
7 : tagg:='Samstag';
ens;
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Case...of und Ordinal-Typ-Fehler?

  Alt 1. Sep 2006, 16:01
Zitat von Balu der Bär:
Wie wärs mit:
Delphi-Quellcode:
case StrToInt(tagg) of
1 : tagg:='Sonntag';
2 : tagg:='Montag';
3 : tagg:='Dienstag';
4 : tagg:='Mittwoch';
5 : tagg:='Donnerstag';
6 : tagg:='Freitag';
7 : tagg:='Samstag';
ens;
Würde nicht klappen, da er vor dem Case noch ein Leerzeichen nach der Zahl anhängt. Aber warum überhaupt von einem Ordinaltyp zu einem String und dann wieder zurück?

Delphi-Quellcode:
case DayofWeek(Yesterday) of
1 : tagg:='Sonntag';
2 : tagg:='Montag';
3 : tagg:='Dienstag';
4 : tagg:='Mittwoch';
5 : tagg:='Donnerstag';
6 : tagg:='Freitag';
7 : tagg:='Samstag';
end;
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#5

Re: Case...of und Ordinal-Typ-Fehler?

  Alt 1. Sep 2006, 16:02
Zitat:
Würde nicht klappen, da er vor dem Case noch ein Leerzeichen nach der Zahl anhängt.
Nagut, dass eine Leerzeichen könnte man auch per Delphi-Referenz durchsuchenDelete löschen.

Aber deine Lösung wird wohl etwas passender sein.
  Mit Zitat antworten Zitat
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#6

Re: Case...of und Ordinal-Typ-Fehler?

  Alt 1. Sep 2006, 16:04
Danke Muetze1 - scheint so als hätte ichn Blackout gehabt...


Naja danke euch allen...
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Case...of und Ordinal-Typ-Fehler?

  Alt 1. Sep 2006, 16:39
wie gefällt Dir:
Delphi-Quellcode:
tagm:=inttostr(DayofWeek(Tomorrow));
case tagm [1] of
  '1'  : tagg:='Sonntag';
  '2'  : tagg:='Montag';
  '3'  : tagg:='Dienstag';
  '4'  : tagg:='Mittwoch';
  '5'  : tagg:='Donnerstag';
  '6'  : tagg:='Freitag';
  '7'  : tagg:='Samstag';
end;
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: Case...of und Ordinal-Typ-Fehler?

  Alt 1. Sep 2006, 17:26
Na sicher nicht besser als Mützes Lösung.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Case...of und Ordinal-Typ-Fehler?

  Alt 1. Sep 2006, 18:10
Delphi hat doch ein Array mit den Wochentagsnamen in SysUtils.pas, also ist's so wohl am einfachsten:
Delphi-Quellcode:
procedure TForm1.bersichtWoche1Click(Sender: TObject);
begin
  Panel2.caption := LongDayNames[DayOfWeek(Yesterday)];
  Panel3.caption := LongDayNames[DayOfWeek(Now)];
  Panel4.caption := LongDayNames[DayOfWeek(Tomorrow)];
end;
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:42 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