Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Benötige Hilfe - dringend! (https://www.delphipraxis.net/1554-benoetige-hilfe-dringend.html)

Tim 8. Dez 2002 14:11


Benötige Hilfe - dringend!
 
Klingt vielleicht etwas dumm, aber ich brauche unbedingt Hilfe bezüglich Delphi. Ich lerne Delphi erst seit Anfang September und schreibe morgen meine erste Kursarbeit, und stehe vor einigen Problemen. Ehrlich gesagt, hab ich kaum Ahnung von Delphi

So z.B. sieht der Quelltext für ein Flaggen-Programm aus:

Code:
 
procedure TForm1.DeutschlandClick(Sender: TObject);
begin
  with image1 do   //"with <object> do",durch begin - end,
                    //bezieht sich der befehl auf alles zwischen begin - end!!! 
  begin
  canvas.Brush.Color:=clblack;
  canvas.Pen.Color:=clblack;
  canvas.Rectangle(0,0,width,height div 3);
  canvas.Brush.Color:=clred;
  canvas.Pen.Color:=clred;
  canvas.Rectangle(0,height div 3,width,(height div 3)*2);
  canvas.Brush.Color:=clyellow;
  canvas.Pen.Color:=clyellow;
  canvas.Rectangle(0,(height div 3)*2,width,height);
  end;
end;
Beispielsweise bei
Code:
:
canvas.Rectangle(0,0,width,height div 3);
, was geben 0,0,width,height div 3 an? height div 3 ist ja noch klar, aber was geben die einzelnen Punkte an?

Desweiteren wäre ich froh, wenn mir jemand sagen könnte, was die folgenden Datentypen genau noch einmal bedeuten:
  • integer
  • string
  • boolean
  • tdatetime
  • extended

Außerdem, wie funktioniert das mit bspw.
Code:
:
floattostr(inhalt);
und formatfloar('...', inhalt)
:


Wäre euch echt dankbar, wenn mir das jemand erklären könnte.

DKamps 8. Dez 2002 14:37

oberlehrerhafte Antwort
 
steht alles in der Hilfe drin. Markiere den unbekannten Begriff und drücke F1

Daniel B 8. Dez 2002 14:42

Re: Benötige Hilfe - dringend!
 
Hallo und willkommen Tim,

erstmal zur Belehrung, ;) wähle bitte das nächste mal den Titel etwas passender. Danke Dir.

Zitat:

Klingt vielleicht etwas dumm, aber ich brauche unbedingt Hilfe bezüglich Delphi. Ich lerne Delphi erst seit Anfang September und schreibe morgen meine erste Kursarbeit, und stehe vor einigen Problemen. Ehrlich gesagt, hab ich kaum Ahnung von Delphi :oops:
Ist das jetzt auch nicht zu früh. ;)

Zitat:

Beispielsweise bei
Code:
canvas.Rectangle(0,0,width,height div 3);
, was geben 0,0,width,height div 3 an? height div 3 ist ja noch klar, aber was geben die einzelnen Punkte an?
0, 0 sind x, y Koordinaten, das ist der Anfangspunkt im Image. Also das Eck oben, links. Width ist die Breite des Image.
Es geht also oben links los, wird über die gesamte Breite gemalt und nach unten hin, nur ein drittel. div 3 = Division durch 3. Höhe durch 3.

Zitat:

Desweiteren wäre ich froh, wenn mir jemand sagen könnte, was die folgenden Datentypen genau noch einmal bedeuten:
  • integer
  • string
  • boolean

Integer:
Code:
----- Zahlentypen -----
Name:    |  Grösse: | Wertebereich:
-----------------------------
ShortInt |   1 Byte |        -127 bis 127
Byte     |   1 Byte |           0 bis 255
SmallInt |   2 Byte |      -32768 bis 32768
Word     |   2 Byte |           0 bis 65536
LongInt  |   4 Byte | -2147483648 bis 2147483647
LongWord |   4 Byte |           0 bis 42949672295
Integer  |   4 Byte | -2147483648 bis 2147483647
Cardinal |   4 Byte |           0 bis 42949672295
Int64     |   8 Byte | -2^63 (-9.22*10^18) bis 2^63 - 1 (9.22*10^18)
Integer werden einfach nur so geschrieben.

String: sind ganz normale Buchstaben und Zeichen. Und werden so geschrieben: 'Hallo Welt!'
Wenn Du einen String z.B. als globale Variable definierst, oder als Konstante, dann kannst Du es auch so schreiben: MyString[3]; Die zahl in den [] gibt die länge eines Strings an.

Boolean:
Das ist ein True/False Wert. Also ein Bit, das nur 0 oder 1 sein kann.

Labels, Edits, Messages usw. können nur Strings anzeigen. Hast Du z.B. einen Integer, denn Du in einem Edit o.ä. anzeigen willst, so musst Du es erst in einem String ändern. Dies macht man z.B. damit: Edit1.Text := IntToStr(5); Andersrum, wenn Du Zahlen in einem Edit hast und Du damit rechnen willst, die Zahlen liegen im Edit ja als String vor, so musst DU sie auch erst in einen Integer umwandeln. MyInteger := StrToInt(Edit1.Text);

Soweit Klar :?:

Grüsse, Daniel :hi:

CalganX 8. Dez 2002 14:53

Mal eine Frage: Was ist größer Int64 oder Longint?

Chris

Christian Seehase 8. Dez 2002 14:54

Moin Tim,

erst einmal herzlich willkommen.

Dann mal zu einer kurzen Erklärung zu Deinen Problemen:

Die Parameter der Methode Rectangle werden in der Hilfe doch schon recht gut erklärt.
Vielleicht kannst Du hierbei mal versuchen Dein Verständnisproblem genauer zu benennen.

Mit den Datentypen verhält es sich so:
  • integer
    Dies ist generische Ganzzahltyp mit Vorzeichen. (cardinal entspricht integer nur ohne Vorzeichen)
    Ein generischer Typ ist abhängig vom verwendeten Compiler und der CPU, für den der Code compiliert wird.
    Bei einem Compiler für 32 Bit (wie ja nahezu alle Delphi Comiler, ausser D1) ist dieser Datentyp 32 Bit gross (höchstwertiges Bit = Vorzeichen, die restlichen = Wert)
    Wird der gleiche Sourcecode dann (z.B.) mit einem 64 Bit Compiler übersetzt, wird dieser Datentyp als 64 Bit gross interpretiert, ohne dass man an den Sourcen etwas ändern müsste.
    (im Gegensatz zu LongInt. Dieser Datentyp ist immer 32 Bit gross)
  • string
    Dieser Typ kann (bei Standardinstallation) bis zu (2 hoch 31) -1 Zeichen aufnehmen. Indirekt handelt es sich um ein dynamisches array of char, wobei allerdings Delphi selber die Verwaltung dieses arrays übernimmt. Deshalb sind viele Stringfunktionen (z.B. copy) auch für dynamische Arrays geeignet.
    Wichtig:
    Wenn bei der Deklaration einer Variablen der Typ string mit einer Längenangabe versehen wird (z.B. var sWork : string[5]), so wird ist diese Variable dann vom Typ ShortString, der nur bis zu 255 Zeichen aufnehmen kann, behandelt.
  • Boolean
    Dieser Typ kann (in Delphi) genau zwei Zustände einnehmen, nämlich true bzw. false.
    Er dient deswegen, im Wesentlichen, dazu Ja/Nein Bedingungen anzugeben bzw. zu speichern.
    Im allgemeinen wird ein Wert gleich null als false, und jeder Wert ungleich null als true betrachtet.
    Intern wird true als 1 und false als 0 gespeichert.
  • TDateTime
    Dies ist eigentlich nur der Typ double (und die Funktionen die TDateTime als Typ verwenden akzeptieren Variablen vom Typ double i.d.R. ebenso).
    Die Funktionen interpretieren nur die Vor- bzw. Nachkommastellen und das Vorzeichen auf spezielle Weise.
    Die Basis ist hierbei der 30.12.1899 0:00. (die Variable enthält dann den Wert 0)
    Durch ein negatives Vorzeichen geht man im Kalender zurück, durch die Vorkommastellen werden die Tage beeinflusst, und durch die Nachkommastellen Stunde/Minute/sekunde...
  • Extended
    Dies ist der Gleitkommatyp mit 19 bis 20 Stellen Genauigkeit aber einem sehr grossen Wertebereich.

FloatToStr wandelt den Parameter der eine Wert, bzw. eine numerische Variable sein muss (sinnvollerweise ein Gleitkommatyp, real, double, extended) in einen String um, um (z.B.) den Inhalt einer entsprechenden Variablen anzeigen zu können.

Daniel B 8. Dez 2002 15:11

Zitat:

Zitat von Chakotay1308
Mal eine Frage: Was ist größer Int64 oder Longint?
Chris

Siehe in meinem Posting, diese Zahlentabele, sollte ziemlich eindeutig sein. ;)

Grüsse, Daniel :hi:

RomanK 8. Dez 2002 16:09

@Chakotay1308:

Int64 ist die Zahl 9,22 mit 18 Nullen daran (genau: -9223372036854775808 bis 9223372036854775807) also 19 Stellen. Und LongInt (gleiche wie Integer) hat 10 Stellen.

Chewie 8. Dez 2002 18:02

Zitat:

Zitat von FuckRacism
Und LongInt (gleiche wie Integer) hat 10 Stellen.

Ein Integer ist nur auf einem 32bit-System ein Longint. :cat: (siehe Christians Posting). Auf einem 16bit-System wärs ein SmallInt, bei 64 Bit ein Int64. Also aufpassen!

Christian Seehase 8. Dez 2002 18:23

Moin Chewie,

wenn man es ganz genau nimmt:
integer ist nur bei einem 32 Bit Compiler das gleiche wie LongInt.
Würdest Du auf einem 32 Bit System mit einem 16 Bit Compiler arbeiten, wäre integer auch nur 16 Bit breit, und bei einem 32 Bit Compiler auf einem 64 Bit System wären es immer noch nur 32 Bit ;-)

Chewie 8. Dez 2002 19:01

Klugsch***** :mrgreen:

[Edit=Daniel B]Na, na, na, so was sagt man(n) nicht, erst recht nicht zu einem 20 Jahre älteren! Ich zensier das mal.[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 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