AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Delphi 2011 heißt jetzt Delphi XE
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 2011 heißt jetzt Delphi XE

Ein Thema von Lemmy · begonnen am 10. Aug 2010 · letzter Beitrag vom 21. Sep 2010
Antwort Antwort
Seite 63 von 68   « Erste     1353616263 6465     Letzte »    
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#621

AW: Delphi 2011 heißt jetzt Delphi XE

  Alt 26. Aug 2010, 17:29
Sebastian scheint mehr als du zu wissen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#622

AW: Delphi 2011 heißt jetzt Delphi XE

  Alt 26. Aug 2010, 17:37
Tut mir Leid, daß dieses schonwieder gesagt wird,
aber hätte man vorher schon überall AnsiChar/PAnsiChar/AnsiString gesetzt, wo es auch unbedingt ANSI sein muß, dann gäbe es jetzt keine Probleme.
Auch wenn ich Dir inhaltlich voll Recht geben muß, sowohl die OH als auch hier im Forum wurde die Auffassung vertreten String=AnsiString und gut is.
Jedenfalls ist if irgendwas=true ein weitaus größerer Aufreger, als textsatz:string; oder auch ein packed record .[...]
Naja string an sich ist ja nicht böse, aber wenn man davon ausgeht, dass ein string immer ein AnsiString bleiben wird, dann ist es ein Problem. D.h. wenn man zum Beispiel die Länge im Speicher wissen will, dann ist es ja auch wichtig, wie das kodiert wird. Aber für andere Aufgaben hingegen ist das völlig egal.

MfG
Fabian

PS: Irgendwie ist das quote-Tag anfällig für Verhunzungen.
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler

Geändert von xZise (26. Aug 2010 um 17:39 Uhr) Grund: *fixed quote tag;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Delphi 2011 heißt jetzt Delphi XE

  Alt 26. Aug 2010, 17:42
Delphi-Quellcode:
var s: String;

LängeDerDaten = Length(S) * SizeOf(Char);
// oder
LängeDerDaten = Length(S) * SizeOf(S[1]);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#624

AW: Delphi 2011 heißt jetzt Delphi XE

  Alt 26. Aug 2010, 17:44
Bei einem Leerstring könnte das 2. Beispiel aber in die Hose gehen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Delphi 2011 heißt jetzt Delphi XE

  Alt 26. Aug 2010, 17:47
Nein, wird es nicht (obwohl ich das früher auch mal dachte)

Der Delphi-Compiler ist inteligent genug, um zu wissen, daß die Größe dieses Chars sich niemals ändert und setzt dann wärend der Kompilierung die Größe als direkte Zahl ein und greift nicht erst zur Laufzeit auf den Char zu.

Du kannst also auch SizeOf(S[987654321]) nehmen.
Die Klammer+Zahl ist nur dafür da, um zu sagen, daß man die Größe des Zeichens und nicht des StringPointers wissen will.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#626

AW: Delphi 2011 heißt jetzt Delphi XE

  Alt 26. Aug 2010, 17:48
Ich denke nicht, dass der Kommentar vom Feuervogel so bierernst gemeint war.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#627

AW: Delphi 2011 heißt jetzt Delphi XE

  Alt 26. Aug 2010, 17:52
Nein, wird es nicht (obwohl ich das früher auch mal dachte)

Der Delphi-Compiler ist inteligent genug, um zu wissen, daß die Größe dieses Chars sich niemals ändert und setzt dann wärend der Kompilierung die Größe als direkte Zahl ein und greift nicht erst zur Laufzeit auf den Char zu.

Du kannst also auch SizeOf(S[987654321]) nehmen.
Die Klammer+Zahl ist nur dafür da, um zu sagen, daß man die Größe des Zeichens und nicht des StringPointers wissen will.
Tatsache. Trotzdem finde ich das ein wenig unsauber, zumindest aber schwer verständlich.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#628

AW: Delphi 2011 heißt jetzt Delphi XE

  Alt 26. Aug 2010, 17:54
Delphi-Quellcode:
var s: String;

LängeDerDaten = Length(S) * SizeOf(Char);
// oder
LängeDerDaten = Length(S) * SizeOf(S[1]);
Dann hätte man ja doch sauber programmiert -.-

Du beziehst dich doch gerade auf sowas:
LängeDerDaten = Length(S); // 1 Zeichen = 1 Byte MfG
Fabian
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Delphi 2011 heißt jetzt Delphi XE

  Alt 26. Aug 2010, 18:00
Ich verwende auch lieber Length(S) * SizeOf(Char) , aber hier muß man sicherstellen, daß Char und String "zusammenpassen".

Wärend bei Length(S) * SizeOf(S[1]) die Zusammengehörigkeit sichergestellt ist.

Und was passiert, wenn man mal den Typen von S ändert?

Ist das Gleiche wie bei den Record-Pointern
ZeroMemory(P, SizeOf(TMyRec)) sieht schöner aus, als FillMemory(P, SizeOf(P^), 0); .
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (26. Aug 2010 um 18:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#630

AW: Delphi 2011 heißt jetzt Delphi XE

  Alt 26. Aug 2010, 19:03
Hallo,

Zitat von himitsu:
Tut mir Leid, daß dieses schonwieder gesagt wird,
aber hätte man vorher schon überall AnsiChar/PAnsiChar/AnsiString gesetzt, wo es auch unbedingt ANSI sein muß, dann gäbe es jetzt keine Probleme.
ich habe mal eine Frage, wie viel Fremdkomponenten setzt Du ein?

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 63 von 68   « Erste     1353616263 6465     Letzte »    


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:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
Untitled document This thread Refback 13. Aug 2010 20:17

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:01 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