AGB  ·  Datenschutz  ·  Impressum  







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

Move innerhalb von TBytes

Ein Thema von Benmik · begonnen am 15. Okt 2020 · letzter Beitrag vom 16. Okt 2020
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: Move innerhalb von TBytes

  Alt 15. Okt 2020, 16:30
Zu cool um wahr zu sein?

http://docwiki.embarcadero.com/Libra...Helper_Methods


Und nee, nicht getestet.
Aber bis auf Ausnahmen versuche ich die Standardfunktionen zu verwenden, bevor ich eigenes Einbau. (weniger eigener Code = theoretisch weniger Fehler)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
570 Beiträge
 
Delphi 12 Athens
 
#2

AW: Move innerhalb von TBytes

  Alt 15. Okt 2020, 17:21
Hab ich erst vor zwei Tagen durchgesehen und Join völlig übersehen. Wo wir dabei sind, was ist eigentlich der Unterschied zwischen Parse und ToInteger?
Wer sich das selbst ansehen möchte wird bei _DynArrayDelete in System.pas fündig
Hatte ich nicht lokalisieren können. Sind ja mehr als 2 Zeilen, aber deine Sicht ist sicher richtig. Ich hatte in meinem Code noch eigens einen Kommentar dazu geschrieben, was da eigentlich geschieht, weil das Move deutlich unübersichtlicher war als im gezeigten Beispiel; das kann ich mir jetzt sparen und das allein ist es schon wert.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#3

AW: Move innerhalb von TBytes

  Alt 15. Okt 2020, 17:58
was ist eigentlich der Unterschied zwischen Parse und ToInteger?
Funktionell offenbar keiner. Existiert vielleicht nur aus Symmetriegründen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Move innerhalb von TBytes

  Alt 15. Okt 2020, 21:38
Wo wir dabei sind, was ist eigentlich der Unterschied zwischen Parse und ToInteger?
Da hat jemand bei C# abgeguckt und von da die Bezeichner übernommen.
https://docs.microsoft.com/de-de/dot...ng-to-a-number

Daher sind auch Einige der neuen Funktionen in den Record-Helper bissl delphi-untypisch/unhandlich.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (15. Okt 2020 um 21:45 Uhr)
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
570 Beiträge
 
Delphi 12 Athens
 
#5

AW: Move innerhalb von TBytes

  Alt 15. Okt 2020, 21:57
Jetzt lese ich deinen Link durch und denke: "Ja, und warum haben sie dann nicht auch TryParse implementiert, das wäre doch mal vernünftig!" Vorsichtshalber suche ich mal und tatsächlich, das gibt es, und wo? In System.SysUtils.TIntegerHelper! Ja, klar, wenn ich einen String konvertieren möchte, dann suche ich doch bei Integer.

Hab's mal probiert:
Delphi-Quellcode:
var i:integer;
begin
  If i.TryParse('1',i)
    then ...
Welcher Logik folgt sowas?

Geändert von Benmik (15. Okt 2020 um 22:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Move innerhalb von TBytes

  Alt 15. Okt 2020, 21:59
Damit es nicht auffällt, dass auch Anderes fehlt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#7

AW: Move innerhalb von TBytes

  Alt 15. Okt 2020, 22:40
Ja, klar, wenn ich einen String konvertieren möchte, dann suche ich doch bei Integer.

Hab's mal probiert:
Delphi-Quellcode:
var i:integer;
begin
  If i.TryParse('1',i)
    then ...
Welcher Logik folgt sowas?
Naja, das kann man schon so machen, aber gemeint ist es anders. Da TryParse eine Klassenfunktion ist, wäre der folgende Ansatz etwas geradliniger:

Delphi-Quellcode:
var i:integer;
begin
  If Integer.TryParse('1',i)
    then ...
Deutlicher wird es ohne das Try:
Delphi-Quellcode:
var i:integer;
begin
  i := Integer.Parse('1')
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
570 Beiträge
 
Delphi 12 Athens
 
#8

AW: Move innerhalb von TBytes

  Alt 16. Okt 2020, 00:10
Ja, verstehe. Trotzdem empfinde ich das als irgendwie unpassend. Allenfalls bei deinem zweiten Beispiel stellt sich so etwas wie eine Logik ein. Naja, egal. Man ist versucht zu sagen: CodeInsight geht nicht, aber für sowas hamse Zeit.
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:23 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 by Thomas Breitkreuz