AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein angeblich doppeltes Case-Label, aber ich find keines?
Thema durchsuchen
Ansicht
Themen-Optionen

angeblich doppeltes Case-Label, aber ich find keines?

Ein Thema von himitsu · begonnen am 5. Mär 2009 · letzter Beitrag vom 5. Mär 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#11

Re: angeblich doppeltes Case-Label, aber ich find keines?

  Alt 5. Mär 2009, 11:31
Zitat von Angel4585:
ich hatte doch gesagt das er diese schreibweise nehmen soll un er meinte es geht trotzdem nicht
Ich meinte die Schreibweise natürlich für alle zweistelligen

$85 ist vom Typ her Char
$0085 WideChar
wenn ich das recht interpretiere
nein, delphi ignoriert führende Nullen

hab es ja versucht und es ging nicht

sonst müßte #$00000085 ja ein UCS4-Char sein und nicht mehr in einen Wide-Char passen

hab hier nur D7 und D2009 (vielleicht sollte ich nochmal des Turbodelphi draufmachen lassen)
- in D7 geht's



[add]
selbst dises slitten brachte erwartungsgemäß nichts
Delphi-Quellcode:
xtChar: Case C of
          #$09, #$0A, #$0D, #$20..#$7E, #$85, #$A0..#$FF: Result := True;
          #$0100..#$D7FF, #$E000..#$FDD0, #$FDDF..#$FFFD: Result := True;
          Else Result := False;
        End;
hab mir aber erstmal so behelfen können
Delphi-Quellcode:
Case Typ of
  xtChar: Case C of
            #$09, #$0A, #$0D, #$20..#$7E, #$A0..#$FF, #$0100..#$D7FF, #$E000..#$FDD0, #$FDDF..#$FFFD: Result := True;
            Else Result := (C = #$85);
          End;
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#12

Re: angeblich doppeltes Case-Label, aber ich find keines?

  Alt 5. Mär 2009, 11:39
Hi,

also wie ich sagte oben, so funktionierte es bei mir in Delphi 2009.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#13

Re: angeblich doppeltes Case-Label, aber ich find keines?

  Alt 5. Mär 2009, 11:48
So, selbst ein Neustart bringt nichts,
aber ich hab ja erstmal 'ne Lösung.

Wenn ich dran denk, werd ich's in nächster Zeit nochmal probieren.


D2009 mit allen Updates (aber wie schonmal irgendwo gesagt, seit dem letzen Update hab ich hier eh einige Problemchen)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: angeblich doppeltes Case-Label, aber ich find keines?

  Alt 5. Mär 2009, 11:50
// EDIT:
Ok, der von ganz oben geht bei mir auch nicht.

Ändere ich aber das #$85 wie bereits geschrieben wurde in #$0085 dann funktioniert es...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#15

Re: angeblich doppeltes Case-Label, aber ich find keines?

  Alt 5. Mär 2009, 12:06
Zitat von jaenicke:
// EDIT:
Ok, der von ganz oben geht bei mir auch nicht.

Ändere ich aber das #$85 wie bereits geschrieben wurde in #$0085 dann funktioniert es...
ach mißt, ich probier es gleich mal ... hatte das mit den 00 ja nur vorher bei #$00A0..#$D7FF gemacht (wußte da ja noch nicht, daß die 85 der Gegenpart ist)

ich probier's gleich mal, aber dennoch komisch, warum es da unterschiedlich benahndelt wird
..
so, probier und es geht

hab es mal Sicherheitshalber überall gemacht, wo es außerhalb des ASCII-Bereich's liegt
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: angeblich doppeltes Case-Label, aber ich find keines?

  Alt 5. Mär 2009, 12:20
Zitat von himitsu:
aber dennoch komisch, warum es da unterschiedlich benahndelt wird
Nein, das ist nicht komisch, du gibst mit den Nullen die Größe der Zahl an. Wenn ich einen Wert nicht einer Variablen (mit festem Typ) zuweise, dann entscheidet Delphi selbst über den Typ als der die Zahl verwendet wird. Und das ist immer die kleinstmögliche. Das passiert ja z.B. auch bei Mengen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#17

Re: angeblich doppeltes Case-Label, aber ich find keines?

  Alt 5. Mär 2009, 12:37
hab jetzt mal etwas rumprobiert
Delphi-Quellcode:
var c1, c2: WideChar;
begin
  c1 := #$85;
  c2 := #$0085;
  Memo1.Lines.Add(Format('%d %d', [Ord(#$85), Ord(#$0085)]));
  Memo1.Lines.Add(Format('%d %d', [Ord(c1), Ord(c2)]));
end;

Code:
// Delphi 7:
133 133
133 133

// Delphi 2009
133 133
8230 133
also wenn man das so betrachtet, dann isses kein Wunder, wenn da die #$85 plötzlich in dem Bereich liegt.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: angeblich doppeltes Case-Label, aber ich find keines?

  Alt 5. Mär 2009, 12:46
Unter Delphi 7 ist SizeOf(#$0085) ja auch gleich SizeOf(#$85) und gleich 1. Unter Delphi 2009 werden die führenden Nullen entsprechend berücksichtigt und deshalb ist SizeOf(#$0085) = 2 und SizeOf(#$85) = 1.

Da ich eigentlich ohnehin immer führende Nullen entsprechend dem Datentyp verwendet habe (der Übersichtlichkeit wegen ), ist mir dieser Unterschied nie aufgefallen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#19

Re: angeblich doppeltes Case-Label, aber ich find keines?

  Alt 5. Mär 2009, 12:57
Bei Zahlen werwende ich auch meistens die führenden nullen, da es sich so besser lesen läßt, aber Zeichen hatte ich die kürzere Variante gewählt, da die für mich übersichtlicher vorkam.

Ist ja nicht schlchet, wenn z.B. 'ä' in seine entsprechende Unicode-Version umgewandelt wird, aber wenn man mal gemau dieses "Byte" bitgenau braucht

Nja, muß man jetzt halt etwas aufpassen.

Und innerhalb des ASCII-Bereichs, welchen die Meißten verwenden, gibt es zum Glück keine Probleme (da dort ANSI und Unicode übereinstimmen) und ansonsten brauchen viele zum Glück keine "Bitgenauen wandlungen, da sie ja das Zeichen und nicht dessen Wert benötigen


[add]
also im Grunde hätt es sich besser gemacht, wenn "direkte" Zeichen ala 'x' anders behandelt würden, als welche mit #
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 00:11 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