![]() |
Delphi-Version: 2010
Delphi2010 und Str() ergibt "W1057 Implizite String-Umwandlung"
Wenn ich folgende Funktion in Delphi 2010 compiliere, generiert der Compiler die Meldung
[DCC Warnung] Unit1.pas(33): W1057 Implizite String-Umwandlung von 'ShortString' zu 'string' Was kann ich tun???
Code:
Danke Bernhard
function MakeItAString(const ANumber:Integer): String;
begin Str(ANumber, Result); end; |
AW: Delphi2010 und Str() ergibt "W1057 Implizite String-Umwandlung"
Die procedure Str() stammt noch aus der Pascal Steinzeit.
Verwende einfach die Funktion IntToStr() und werfe deine function MakeItAString() in die Tonne. |
AW: Delphi2010 und Str() ergibt "W1057 Implizite String-Umwandlung"
Danke
Die Finktion MakeItAString hab ich eben aus der Onlinehilfe von D2010 heraus kopiert dort unter "Str()-Codebeispiel" zu finden ms-help://embarcadero.rs2010/codesamples/SystemStr_(Delphi).html Str() verwende ich schon seit TurboPascal 5 schade dass nun diese sehr flexible gute alte Funktion weichen muss... Bernhard |
AW: Delphi2010 und Str() ergibt "W1057 Implizite String-Umwandlung"
![]() ![]() welche bei der Unicodeumstellung in Delphi 2009 nicht angefaßt wurden und demnach weiterhin nur ANSI verstehen. Allerdings macht das bei Val und Str eigentlich kein Problem, da diese Zahlen weiterhin vollständig in ANSI konvertierbar sind. Man könnte hier also diese Meldung einfach ignorieren oder deaktivieren. |
AW: Delphi2010 und Str() ergibt "W1057 Implizite String-Umwandlung"
Zitat:
![]() |
AW: Delphi2010 und Str() ergibt "W1057 Implizite String-Umwandlung"
Es muß nichtmal arabisch sein, unsere lateinischen Zahlen gibt's auch mehrfahr ... es gibt extra Zeichen für Fett und Kurziv, damit man dieses auch ohne Umstellen der Schriftart darstellen kann (können sollte, aber nicht alle Fonts kennen schon diese UCS4-Zeichen)
Nja, aber alle Int<>Str-Funktionen kennen eh nur die einfachen lateinischen Zeichen. |
AW: Delphi2010 und Str() ergibt "W1057 Implizite String-Umwandlung"
Lateinische Zahlen sind I, II, III, IV usw.
Ich glaube du verwechselst hier etwas. Wir benutzen zwar das lateinische Alphabet, aber arabische Zahlen :wink: |
AW: Delphi2010 und Str() ergibt "W1057 Implizite String-Umwandlung"
Ach stimmt ja und der Bruder is vom Klemptner.
|
AW: Delphi2010 und Str() ergibt "W1057 Implizite String-Umwandlung"
Wer nicht zugunsten von IntToStr bzw. Format* auf Str verzichten kann und trotzdem weiterhin W1057 Warnungen an anderen Stellen bekommen möchte der könnte die Warnungen an-/ausschalten. (Nachteil: Es ist nicht möglich die Warnungen nur wieder einzuschalten, wenn diese auch in den Projektoptionen aktiviert sind.)
Delphi-Quellcode:
Man kann natürlich auch für folgenden QC Report voten und bei genug Votes wird das vielleicht irgendwann mal gefixed.
function MakeItAString(const ANumber:Integer): String;
begin {$WARNINGS OFF} Str(ANumber, Result); {$WARNINGS ON} end; Report No: 83051 (RAID: 263452) Status: Open The "Str" procedure is incorrectly implemented in the "System"unit ![]() |
AW: Delphi2010 und Str() ergibt "W1057 Implizite String-Umwandlung"
Zitat:
٠١٢٣٤٥٦٧٨٩ = 0123456789 Wobei hier bei Zahlen ja noch unserer Schreibweise von links nach rechts verwendet wird, im gegensatz zum "normalen" Text :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz