Hallo,
kann mir jemand sagen, wie ich in Delphi ein Byte addieren kann?
Also Variable in Delphi x: Byte und y:Byte.
x = 192 (= 1100 0000) + y = 3 (= 0000 0011) = 195 (= 1100 0011)
Wie geht das in Delphi? Also ich will die beiden Bytes verknüpfen
Byte schrieb:> Naja, ich will eigentlich die Bytes in Binärdarstellung verknüpfen.
was versteht du unter verknüpfen? Oder, Xoder, UND oder doch wieder nur
die Addition?
Byte schrieb:> Naja, ich will eigentlich die Bytes in Binärdarstellung verknüpfen.>> 1100 0000> +0000 0011> ----------> =1100 0011Byte schrieb:> Und natürlich.
Das wäre aber ODER (OR)
Byte schrieb:> Naja, ich will eigentlich die Bytes in Binärdarstellung verknüpfen.
Das Programm verknüpft Daten binär. Das siehst du bloss von aussen
nicht.
Gruss Reinhard
Byte schrieb:> Ich brauch ja von dem einen Byte auch nur den vorderen Teil und von dem> anderen den hinteren Teil (also jeweils 4 bits)
Dann musst Du aber die unbenötigten Teile vor der "Verknüpfung"
ausmaskieren.
x := (a AND 15) OR (b AND 240)
15 ist 0x0F (00001111), 240 ist 0xF0 (11110000), keine Ahnung, wie man
in dieser für viele Zwecke ungeeigneten Programmiersprache hexadezimale
Konstanten schreibt.
Hi Rufus,
das geht ganz einfach:
$FF
$FFFF
$FFFFFFFF
$FFFFFFFFFFFFFFFF
Die Sprache ist für sehr viele Zwecke super geeignet, mindestens genauso
wie C++.
So ist Delphi nahezu die einzige Sprache die noch Standalone Exe Dateien
auch für Windows 7 64 Bit erzeugt (im einstelligen Megabyte-Bereich),
ohne DLL's, ohne .NET Geraffel, ohne das man Installerpackages erzeugen
oder verwenden muss.
Einfach eine Exe, so wünscht man sich ich das, oder wie war das nochmal
mit dem "manifest" ?
Rufus Τ. Firefly schrieb:> 15 ist 0x0F (00001111), 240 ist 0xF0 (11110000), keine Ahnung, wie man> in dieser für viele Zwecke ungeeigneten Programmiersprache hexadezimale> Konstanten schreibt.
Also ich finde das völliger Schwachsinn. Jeder behauptet Delphi wäre
eine nicht mehr genutze bzw. überflüssige Sprache. Doch mit ihr kann man
doch relativ schnell Programme erstellen kann.
Vielleicht hier mal eine Liste um zu zeigen was alles mit Delphi
erstellt wurde. Dabei auch sehr weit verbreitete bzw. häufig genutzte:
http://www.embarcadero.com/rad-in-action/application-showcase
Delphi Liebhaber schrieb:> So ist Delphi nahezu die einzige Sprache die noch Standalone Exe Dateien> auch für Windows 7 64 Bit erzeugt
Nö, das geht nach wie vor auch mit einem C- bzw. C++-Compiler, selbst
dem, der zum Visual Studio gehört.
Mein Seitenhieb auf Pascal bezog sich eher auf die erst mit
Spracherweiterungen wie Delphi erlangte Nutzbarkeit und auf die meiner
Ansicht nach sehr ... "logische" Syntax (wann exakt werden Zeilen mit
Semikolon terminiert und wann nicht?).
Rufus Τ. Firefly schrieb:> (wann exakt werden Zeilen mit Semikolon terminiert und wann nicht?).
... also, in Delphi werden keine Zeilen, sondern Ausdrücke mit einem
Semikolon beendet. Das ist nichts ungewöhnliches. In C/C++/C# kenne ich
es nicht anders.
Rufus Τ. Firefly schrieb:> (wann exakt werden Zeilen mit> Semikolon terminiert und wann nicht?).
Garnicht, mit dem Semikolon werden Ausdrücke getrennt.
Rufus Τ. Firefly schrieb:> Ihr wisst beide exakt, was ich gemeint> habe.
Nö, sorry, verstehe ich nicht. In pascaloiden Sprachen gehört
das Semikolon nicht zur Anweisung, in C-artigen schon.
Rufus Τ. Firefly schrieb:> Danke für die Spitzfindigkeiten. Ihr wisst beide exakt, was ich gemeint> habe.
Ja, ja - vorm else darf kein Semikolon stehen.
Dafür sagt einem Delphi, dass das da nicht hingehört, wären C krampfhaft
versucht, dem Code hinter einem Fehler irgendwelchen Sinn zu entlocken
und dann irgendwo weit entfernt zu scheitern, ohne in der Lage zu sein,
irgendwelche ernsthaft hilfreichen Fehlermeldungen zu produzieren.
Irgendwie sollte sich "Byte" mal entscheiden, welche Verknüpfung er denn
nun eigentlich will...
Byte schrieb:> kann mir jemand sagen, wie ich in Delphi ein Byte addieren kann?Peter II schrieb:>> Naja, ich will eigentlich die Bytes in Binärdarstellung verknüpfen.>> was versteht du unter verknüpfen? Oder, Xoder, UND oder doch wieder nur> die Addition?Byte schrieb:> Und natürlich.Tom schrieb:> Das wäre aber ODER (OR)Byte schrieb:> Ich brauch ja von dem einen Byte auch nur den vorderen Teil und von dem> anderen den hinteren Teil (also jeweils 4 bits)
Ich mag Delphi. Ich mag C und ich mag Assembler. Und ich setze alles
ein, je nachdem, wie es nötig ist.
Das Strichpunkt-else Problem ärgert mich auch, insbesondere da es in C
anders ist und man permanent drauf reinfällt aber deswegen Delphi als
pauschal ungeeignet abzutun? Naja....
Rufus Τ. Firefly schrieb:> Logik ist nicht so Dein Ding.
wenn Logik dein Ding wäre, hättest du dich in deinem ersten Beitrag
schon klar ausgedrückt:
1. Du magst die Pascal-Syntax nicht und insbesondere stört dich, dass
2. vor dem else kein Semikolon stehen darf.
Geschrieben hast du aber "keine Ahnung, wie man in dieser für viele
Zwecke ungeeigneten Programmiersprache hexadezimale Konstanten
schreibt.", während es um Delphi ging.
Tja, auch mods machen manchmal Fehler. So ist das halt ...
Rufus Τ. Firefly schrieb:> Mein Seitenhieb auf Pascal bezog sich eher auf die erst mit> Spracherweiterungen wie Delphi erlangte Nutzbarkeit und auf die meiner> Ansicht nach sehr ... "logische" Syntax (wann exakt werden Zeilen mit> Semikolon terminiert und wann nicht?).
Laut diesem Beitrag
http://www.bernd-leitenberger.de/pascal-und-c.shtml
ist eher C unlogisch und nicht nutzbar.
Edi R. schrieb:> Für welche Zwecke ist Delphi denn ungeeignet?
Für die Erstellung von Programmen, die auf irgendwas anderem als
Windows-PCs laufen sollen.
OK, das wars dann aber auch mit den Ausnahmen (wenn man das völlig
obsolete DOS übersieht). Von aktiver Pflege und Weiterentwicklung kann
allerdings bei Kylix auch nicht die Rede sein.
Rufus Τ. Firefly schrieb:> Für die Erstellung von Programmen, die auf irgendwas anderem als> Windows-PCs laufen sollen.
... und das soll eine Konsequenz aus Pascal's Syntaregeln sein ?
Peter II schrieb:> NÖ, http://de.wikipedia.org/wiki/Free_Pascal
Das ist Pascal, nicht Delphi. Und Pascal wurde erst durch die
Borland'schen Erweiterungen zu mehr als einem Lehrsystem verwendbar. Ich
verweise hier auf das in Pascal nicht mögliche modulare Programmieren
und auf die besonders grottigen Dateizugriffmechanismen in Pascal.
"Turbo-Pascal" als Delphi-Vorläufer hat hier etliche der fehlenden Dinge
hinzugefügt.
Das Merkel schrieb:> ... und das soll eine Konsequenz aus Pascal's Syntaregeln sein ?
Natürlich nicht, aber wenn man sich Mühe gibt, Dinge nicht verstehen zu
wollen, dann kann man auch auf so eine Idee kommen.
Rufus Τ. Firefly schrieb:> Das ist Pascal, nicht Delphi.
Die verschiedenen Dialekte können sowohl über Kommandozeilenschalter als
auch im Quelltext durch $MODE ausgewählt werden. Derzeit sind folgende
Einstellungen möglich:
Delphi – Delphi-Kompatibilitätsmodus
TP – Turbo-Pascal-Kompatibilitätsmodus (Object-Pascal-Erweiterungen
werden abgeschaltet)
FPC – Der Vorgabemodus
OBJFPC – FPC mit Object-Pascal-Erweiterungen
GPC – GNU-Pascal-Kompatibilitätsmodus
MACPAS – Kompatibilitätsmodus für Pascaldialekte auf Mac OS, wie
Think Pascal, Metrowerks Pascal und MPW Pascal
Rufus Τ. Firefly schrieb:> Natürlich nicht, aber wenn man sich Mühe gibt, Dinge nicht verstehen zu> wollen, dann kann man auch auf so eine Idee kommen.> Danke für die Spitzfindigkeiten. Ihr wisst beide exakt, was ich gemeint> habe.
Sorry, Rufus, ich weiß es bisher immer noch nicht, würde es aber gerne
wissen. Ich weiß bisher, dass dir die Syntax von Pascal nicht passt und
dass du es schlecht findest, dass Delphi nur in der Windows-Welt benutzt
wird.
Ein Beispiel für deine Behauptung, dass Delphi zur Programmierung von
vielen Dingen ungeeignet sei, hast du bisher immer noch nicht gebracht.
Kannst Du mal ein konkretes Programmierproblem nennen, für das Delphi
ungeeignet ist ?
(nachdem der TO nicht in der Lage ist, die Frage so zu formulieren, dass
sie auch irgendjemand versteht, machen wir mal OT weiter..)
@Rufus Τ. Firefly
du machst dich hier ziemlich lächerlich
(sorry)
JEDE Programmiersprache ist "für viele Zwecke ungeeignet"
Aussage = 0
sollte also wohl nur provozieren, was ja geschafft wurde ;-)
viele Sachen die du schreibst stimmen nicht (mehr)
dass man z.B. nur für Win32 programmieren kann (siehe XE2 und Lazarus)
man nicht modular programmieren kann (wobei ich nicht genau weiß was du
meint) (siehe BPL Dateien oder multitier/datasnap usw )
das mit dem ";" hab ich hier schon mal beantwortet
Beitrag "Re: Compiler bringt Fehlermeldung verkettetet Liste-weshalb?"
edit: Kylix ist allerdings etwas, ...was man als delphi/pascal
"Befürworter" nicht als 1. Argument bringen würde ;-)
Rufus Τ. Firefly schrieb:> Das ist Pascal, nicht Delphi. Und Pascal wurde erst durch die> Borland'schen Erweiterungen zu mehr als einem Lehrsystem verwendbar.
Nanana, mein Lieber. Mit einem hast du Recht: Die Sprache ist PASCAL -
auch bei Delphi.
Also:
Man programmiert also nicht in Delphi, sondern mittels Delphi in
Pascal - und das ist dank des Konzeptes von Delphi als grafisch
orientiertem Entwurfssystem um Größenordnungen besser, einfachen und
schneller als der Rest der Welt, wenn man mal vom längst untergegangenen
VB3 absieht.
Abgesehen davon ist die Sprache Pascal schon immer wesentlich besser
weil systematischer und sauberer im Sprachkonzept gewesen als alle
Dialekte von B, BCPL, C, Ansi-C, C++, Java, C# und was da noch so kommen
mag. Ich denke mal, daß all diejenigen, die noch Pascal resp. Delphi
kennen, gut daran tun, dieses Software-Gefilde am Leben zu erhalten.
Solche Dinge wie FPC, Lazarus, MSEide und Konsorten (incl. Virtual
Pascal) können den Leuten zeigen, daß es auch anders geht als mit Visual
C. Nebenbei: Ich hatte Mitte der 80er Jahre Gerätesteuerungen mit
HiTech-Pascal geschrieben, Pascal war damals schon für
Maschinensteuerungen geeignet. Als ich dann das ach so tolle C sah,
hat's mir erstmal den Magen umgedreht... Ich sag's mal so: C ist erste
Wahl für Leute, die ihre Unabkömmlichkeit durch unverständliche Quellen
sicherstellen wollen. Und nun genug gemeckert. Gute Nacht zusammen.
W.S.