AGB  ·  Datenschutz  ·  Impressum  







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

Sets durchlaufen

Ein Thema von RSE · begonnen am 22. Apr 2010 · letzter Beitrag vom 22. Apr 2010
Antwort Antwort
Seite 2 von 2     12   
RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#11

Re: Sets durchlaufen

  Alt 22. Apr 2010, 14:21
Also ist ein Record als Property auch nicht zu gebrauchen... Ich bau mir doch ´ne Klasse, damit kenn ich mich aus, da gibt´s keine bösen Überraschungen...

Zitat von himitsu:
['a', 'ß', '0'] bleibt unter Delphi 2009/2010 ein AnsiCharSet
Und wenn man da nun Chars reinpackt, die im Ansi nicht drin sind? Meckert der Compiler? Oder ist der Quelltext weiter in Ansi codiert, so dass man auf diese Weise gar nix anderes erzeugen könnte? Was wäre, wenn ich mich richtig bemühe und sowas wie [#13, #56, #3423] schreibe (angenommen, dass man mit #3423 ein WideChar-Zeichen beschreiben kann).
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Sets durchlaufen

  Alt 22. Apr 2010, 14:29
Per Standard sind die Units Ansi, aber man kann es umstellen
und falls Delphi beim Speichern Zeichen entdeckt, welche nicht in Ansi reinpassen, dann warnt es und fragt ob es das umstellen soll.
(wird dann meißt als UTF-8 kodiert)

Delphi-Quellcode:
var x: Set of Char;
begin
  x := ['a', ''];
  // ^^^ Delphi weiß, daß es ein SET ist und macht 'a' somit zum AnsiChar
  if 'ain x then ;
  // ^^^ hier ist 'a' allerdings per Standard ein WideChar und darum wird gemeckert
  // Delphi erfährt erst nach dem IN, daß dort ein SET kommt und kan darum das 'a' nicht anders behandeln
end;
Zitat:
[DCC Warnung] Unit3.pas(28): W1050 WideChar in Set-Ausdrücken auf ByteChar verkürzt. Ziehen Sie die Verwendung der Funktion 'CharInSet' aus der Unit 'SysUtils' in Betracht.

[DCC Warnung] Unit3.pas(30): W1061 Bei Umwandlung der angegebenen WideChar-Konstante (#$7307) in AnsiChar gehen Informationen verloren

[DCC Warnung] Unit3.pas(31): W1050 WideChar in Set-Ausdrücken auf ByteChar verkürzt. Ziehen Sie die Verwendung der Funktion 'CharInSet' aus der Unit 'SysUtils' in Betracht.
$2B or not $2B
  Mit Zitat antworten Zitat
RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#13

Re: Sets durchlaufen

  Alt 22. Apr 2010, 14:59
Also gibt es auch weiterhin nur Set of AnsiChar. Danke für den Test!
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  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 15:47 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