Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Datentypen (https://www.delphipraxis.net/135088-datentypen.html)

Say1k 4. Jun 2009 15:26


Datentypen
 
Hallo
ich weiß leider nicht wo es reingehört desshalb das thema bitte richtigschieben

ich brauche für eine arbeit eine schriftliche ausarbeitung zum thema datentypen wie zum beispiel TColor die in einem paint ähnlichen programm vorkommen können
diese ausarbeitung sollte eine definition und den verwendungszweck enthallten
leider kann ich beides nicht und hoffe das mir hier jemand helfen kann da ich bei vista mit der delphi hilfe nicht weiterkomme

vg ICH

Andreas L. 4. Jun 2009 15:30

Re: Datentypen
 
Zitat:

Zitat von Say1k
...da ich bei vista mit der delphi hilfe nicht weiterkomme

Welche Delphi-Version hast du denn? Bei Delphi 7 oder niedriger solltest du mal hier schauen: http://www.delphipraxis.net/internal...t.php?t=105259

Say1k 4. Jun 2009 15:33

Re: Datentypen
 
ich hab von der schule delphi 5 bekommen :D

Andreas L. 4. Jun 2009 15:37

Re: Datentypen
 
Zitat:

Zitat von Say1k
ich hab von der schule delphi 5 bekommen :D

Na, da hilft der verlinkte Beitrag auch. Einfach den Patch installieren und die Hilfe geht wieder.
http://www.microsoft.com/downloads/d...DisplayLang=de

Wie soll denn die Ausarbeitung ungefähr aussehen? Habt ihr sowas schon mal im Unterricht gemacht? Wo genau kommst du nicht weiter?

Say1k 4. Jun 2009 15:46

Re: Datentypen
 
ich habe mal eine ausarbeitung zur case anweisung geschrieben
so etwa soll es dann auch für datendypen aussehen:
wenn hier fehler sind bitte auch sagen das ist die wichtigste note dieses halbjahr für mich^^

2. Case-Anweisung

Die Case-Anweisung dient dazu, schwierig verschachtelte und lange if-then-else Ketten zu vermeiden. Bei der Case-Anweisung ist zu beachten, dass sie zwar mit einem „end;“ beendet wird, jedoch nicht wie bei einer If-Anweisung mit einem „begin“ eingeleitet wird.
Ein Beispiel hierzu ist, die Zuordnung von Noten als Zahlwerte zu Wertungen:

var Note: Integer;
Wertung: String;

CASE Note OF
1 : Wertung := 'Sehr gut';
2 : Wertung := 'Gut';
3 : Wertung := 'Befriedigend';
4 : Wertung := 'Ausreichend';
5 : Wertung := 'Mangelhaft';
6 : Wertung := 'Ungenügend';
ELSE Wertung := 'Diesen Notenwert gibt es nicht.';
END;

Im vorliegenden Programm Minipaint v2.0 kann man die Case-Anweisung benutzen, um eine Verschachtelung von If-Anweisungen beim auswählen der Stiftdicke zu vermeiden:

var Dicke: Integer;

CASE Dicke OF
1 : Form1.pen.width := 1;
2 : Form1.pen.width := 2;
3 : Form1.pen.width := 3;
4 : Form1.pen.width := 4;
5 : Form1.pen.width := 5;
6 : Form1.pen.width := 6;
ELSE Label1.caption := 'Diese Größe gibt es nicht.';
END;

DeddyH 4. Jun 2009 15:49

Re: Datentypen
 
Fehler hab ich keine bemerkt, aber Du solltest noch erwähnen, dass case nur auf ordinale Datentypen angewendet werden kann.

Say1k 4. Jun 2009 15:51

Re: Datentypen
 
dann müsstest du mir aber noch erklären was ordinale datentypen sind^^ :wiejetzt: :wiejetzt: :wiejetzt: :wiejetzt:

Andreas L. 4. Jun 2009 15:54

Re: Datentypen
 
Du hast immer noch nicht geschrieben wo du nicht weiterkommst. Du musst doch mit eigenen Worten beschreiben können was z. B. TColor ist und wofür du es in deinem Paint verwendet hast, oder?

@Ordinale Typen:
Geht deine Hilfe noch nicht?
Zitat:

Zitat von Delphi-Hilfe
Ordinale Typen
Zu den ordinalen Typen gehören Integer-, Zeichen-, Aufzählungs-, Teilbereichs- und Boolesche Typen. Ein ordinaler Typ definiert eine Menge von Werten mit eindeutiger Reihenfolge, in der jeder Wert mit Ausnahme des ersten einen eindeutigen Vorgänger und mit Ausnahme des letzten einen eindeutigen Nachfolger hat. Die Reihenfolge der Werte wird durch deren Ordinalposition festgelegt. In den meisten Fällen hat ein Wert mit der Ordinalposition n einen Vorgänger mit der Ordinalposition n-1 und einen Nachfolger mit der Ordinalposition n+1.

Bei Integer-Typen ist die Ordinalposition mit dem Wert selbst identisch.
Teilbereichstypen übernehmen die Ordinalposition von ihrem Basistyp.
Bei allen anderen ordinalen Typen hat der erste Wert standardmäßig die Ordinalposition 0, der nächste die Ordinalposition 1 usw. In der Deklaration eines Aufzählungstyps kann diese Vorgabe überschrieben werden.
Einige vordefinierte Funktionen operieren mit ordinalen Werten und Typbezeichnern. Die wichtigsten dieser Funktionen sind in der folgenden Tabelle zusammengefasst.
Funktion Parameter Rückgabewert Bemerkungen
Ord
Ordinaler Ausdruck
Ordinalposition des Ausdruckswertes
Akzeptiert keine Int64-Argumente.

Pred
Ordinaler Ausdruck
Vorgänger des Ausdruckswertes


Succ
Ordinaler Ausdruck
Nachfolger des Ausdruckswertes


High
Ordinaler Typbezeichner oder Variable mit ordinalem Typ
Höchster Wert des Typs
Verarbeitet auch kurze String-Typen und Arrays.

Low
Ordinaler Typbezeichner oder Variable mit ordinalem Typ
Niedrigster Wert des Typs
Verarbeitet auch kurze String-Typen und Arrays.


Beispielsweise liefert High(Byte) den Wert 255, weil 255 der höchste Wert des Typs Byte ist. Succ(2) liefert 3, weil 3 der Nachfolger von 2 ist.

Die Standardprozeduren Inc und Dec erhöhen bzw. erniedrigen den Wert der ordinalen Variable. Beispielsweise ist Inc(I) identisch mit I := Succ(I) oder mit I := I + 1, wenn I eine Integer-Variable ist.

Also kann Case nur auf Zahlen (siehe dein Beispiel) und Aufzählungstypen angewandt werden:
Delphi-Quellcode:
type
  TBahnhof = (bhZug, bhBus);

...
...

var
  MeinBahnhof: TBahnhof;
begin
  MeinBahnhof := bhZug;
  case MeinBahnhof of
    bhZug: ShowMessage('Ich fahre mit dem Zug!');
    bhBus: ShowMessage('Ich fahre mit dem Bus!');
  end;
end;

DeddyH 4. Jun 2009 15:56

Re: Datentypen
 
Ein ordinaler Datentyp hat einen klar definierten Vorgänger und Nachfolger (z.B. Byte, Integer, AnsiChar, etc.). Fließkommazahlen sind z.B. keine ordinale Datentypen, denn was soll beispielsweise der Nachfolger von 1,0 sein? 1,01 oder doch 1,001 oder eher 1,0001?

[edit] Vorgänger in Nachfolger geändert, macht mehr Sinn *g* [/edit]

Say1k 4. Jun 2009 16:01

Re: Datentypen
 
das problem ist das ich eine definition für datentypen brauche und beispiele
leider habe ich als einziges bespiel tColor weil ich nicht einmal genau weiß was mit datentypen gemeint ist


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.
Seite 1 von 2  1 2      

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