AGB  ·  Datenschutz  ·  Impressum  







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

Frage zu Zahlen

Ein Thema von Pixbyte · begonnen am 14. Aug 2004 · letzter Beitrag vom 14. Aug 2004
Antwort Antwort
Pixbyte

Registriert seit: 24. Jul 2003
7 Beiträge
 
#1

Frage zu Zahlen

  Alt 14. Aug 2004, 05:04
Hallo,

vielleicht ein wenig dumm die Frage aber was bedeutet eigentlich folgendes:

ringbuffer: array[0..$ff0] of char;
ringbuffer := #$00+#$14;

Was bedeutet hier das # vor den Hexwerten? Ich denke mal das das Ergebnis doch $14(0x14) ist?
Was wird dann eigentlich geändert? Nur die Position 0 des Arrays?

Ocrana
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Frage zu Zahlen

  Alt 14. Aug 2004, 05:15
Das "#" macht das gleiche wie die Funktion Delphi-Referenz durchsuchenchar(). Deswegen klappt überhaupt nur diese Art der Zuweisung an das Array, da es ein Array of Char ist.
Allerdings ist es komisch gleich an den Anfang eines CharArrays (ähnlich dem Typ String) einen #00 zu schreiben, da das in der Regel das Ende einer Zeichenkette signalisiert .

\\edit: Das "+" ist hier im übrigen nicht der arithmetische Operator der Zahlen Addiert, sondern da es Character sind ist das hier ein Verkettungsoperator der die Chars hintereinander schreibt.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Pixbyte

Registriert seit: 24. Jul 2003
7 Beiträge
 
#3

Re: Frage zu Zahlen

  Alt 14. Aug 2004, 05:18
Hallo,

ja aber es ist ja ein $00 in einer addition, also ich vermute mal das es dann $14 oder char(0x14) einfügt. Aber geh ich richtig in der Annahme, wei Du schreibst, das er das dann an Position 0 einfügt?

Ocrana
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Frage zu Zahlen

  Alt 14. Aug 2004, 05:20
Zitat von Pixbyte:
aber es ist ja ein $00 in einer addition,
Nein, ein #$00. Das macht einen Unterschied (siehe mein Edit oben )


\\noch ein Edit: Da ein Array of Char dem Typ String ähnlich ist, kann man genau so wie einem String zuweisen:
Delphi-Quellcode:
var
  s: String;
  c: array[0..15] of Char;
begin
  s := 'Hallo';
  s := #$40 + #$50;
  s := chr(30) + chr(25);

  c := 'Hallo';
  c := #$40 + #$50;
  c := chr(30) + chr(25);
end;

^^ geht alles!
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Pixbyte

Registriert seit: 24. Jul 2003
7 Beiträge
 
#5

Re: Frage zu Zahlen

  Alt 14. Aug 2004, 05:25
Hi,

öhmmm...man merkt wohl das ich ein blondchen bin

Ok nochmal für langsamme:

Ich habe:
ringbuffer := #$00+#$14; in einem Array of chars. Ich habe vemutet das er an den Anfang des Arrays dann #$00+#$14 = #$14 einfügt. Das ist falsch? Macht er womöglich rungbuffer[0] := char(0x00); und ringbuffer[1] := char(0x14)???

Ocrana
Napoleon ist tod, Einstein ist tod und ich fühle mich auch nicht besonders gut!
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Frage zu Zahlen

  Alt 14. Aug 2004, 05:27
Zitat von Pixbyte:
Macht er womöglich rungbuffer[0] := char(0x00); und ringbuffer[1] := char(0x14)???

Nur dass in Delphi Hexwerte mit "$", und nicht mit "0x" wie in C angegeben werden
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Pixbyte

Registriert seit: 24. Jul 2003
7 Beiträge
 
#7

Re: Frage zu Zahlen

  Alt 14. Aug 2004, 05:30
Hallo,

ja ich komme aus der C Ecke

Also ist:

ringbuffer := #$00+#$14; das Geliche wie ringbuffer := #$00#$14???

Ocrana
Napoleon ist tod, Einstein ist tod und ich fühle mich auch nicht besonders gut!
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Frage zu Zahlen

  Alt 14. Aug 2004, 05:31
Zitat von Pixbyte:
ja ich komme aus der C Ecke
Rieche ich auf 10km gegen den Wind

Zitat von Pixbyte:
Also ist:
ringbuffer := #$00+#$14; das Geliche wie ringbuffer := #$00#$14???
nochmal:

\\edit: Man kann auch ganz ekelig werden und sowas machen:
ringbuffer := 'a'+chr(10)+#13#$a7+'h8'+chr($5b);
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Pixbyte

Registriert seit: 24. Jul 2003
7 Beiträge
 
#9

Re: Frage zu Zahlen

  Alt 14. Aug 2004, 05:34
ja die C Leute stinken immer, ist der Angstschweiss

Aber ist schon komisch das es bei Delphi immer so viele Schreibweisen gibt. Irgendwie nicht einheitlich und das in 20 Zeilen.....muss ich mich echt dran gewöhnen.

Ocrana
Napoleon ist tod, Einstein ist tod und ich fühle mich auch nicht besonders gut!
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Frage zu Zahlen

  Alt 14. Aug 2004, 05:40
Zitat von Pixbyte:
ja die C Leute stinken immer, ist der Angstschweiss
Der gemeine "Bluescreen-Schweiss", gell?

Zitat von Pixbyte:
Aber ist schon komisch das es bei Delphi immer so viele Schreibweisen gibt. Irgendwie nicht einheitlich und das in 20 Zeilen.....muss ich mich echt dran gewöhnen.
Och du, wenn ich mir mal C antu, dann geht mir das ganz ähnlich. Nur fällt es einem in seiner "Muttersprache" irgendwie nicht mehr auf.
Für gewöhlich nimmt man für "normale" Zeichen die auf der Tastatur sind die Variante in Hochkommata ('Hallo'), und für nicht schreibbare Steuerzeichen entweder als Funktion chr(wert) bzw. als Cast char(wert) (eigentlich gleichwertig), oder eben kürzer mit dem "#". Das Konstrukt mit # und einer Hexzahl sieht dann zugegebenerweise abenteuerlich aus ("#$wert", naja *g*). Mir war bis dato sogar nie richtig bewusst, dass es da ja tatsächlich mindestens 4 Schreibweisen gibt... sowas .
Und trotzdem ist Delphi ästhetischer im Codebild *harharr*


Und ich geh jetzt endlich mal schlafen... ist ja immerhin schon früh

Nachti,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  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 09:57 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