AGB  ·  Datenschutz  ·  Impressum  







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

Aha Momente

Ein Thema von himitsu · begonnen am 28. Sep 2022 · letzter Beitrag vom 31. Mär 2023
Antwort Antwort
Seite 3 von 5     123 45      
Benutzerbild von jaenicke
jaenicke

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

AW: Aha Momente

  Alt 29. Sep 2022, 17:05
Ja, das stimmt. Meine Variante war auch sehr schnell.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Aha Momente

  Alt 29. Sep 2022, 17:13
DBase ist beim Schreiben um ein Vielfaches langsamer als dieses Format
Das war auch nicht damit gemeint. dBase hat nur einen ähnlichen Dateiaufbau:
Das ist ein File of Records, welches zusätzlich einen Header enthält, der den Record beschreibt.
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.184 Beiträge
 
Delphi 12 Athens
 
#23

AW: Aha Momente

  Alt 1. Okt 2022, 15:08
Ein schönes Aha ist toll,
aber es geht auch andersrum.

https://quality.embarcadero.com/browse/RSP-39576
Je öfter man drauf guckt, um so schlimmer wird es.

Ich guck heute lieber nicht mehr in meine eigenen Codes.

Hatte bestimmt zu oft in der Hilfe abgeguckt.
$2B or not $2B
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#24

AW: Aha Momente

  Alt 5. Okt 2022, 17:20
Hatte auch gerade einen Aha-Moment und bin immer noch völlig irritiert, weil man function Wupp(Di: array of Integer): string; auch mit einem Integer als Argument aufrufen kann, sofern es sich bei dem Integer nicht um ein Literal handelt.

Delphi-Quellcode:
function Wupp(Di: array of Integer);
begin
  Result := Wupp(Di[0]);
end;
Kompiliert (und führt zu einem Stapelüberlauf, sofern keine überladene Version für Di: Integer existiert).

Welchen Sinn hat das?
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Aha Momente

  Alt 5. Okt 2022, 17:27
Über den Sinn zu diskutieren ist müßig.

Zumindest ist es dokumentiert:
Zitat:
Instead of an array, you can pass a variable of the open array parameter's base type. It will be treated as an array of length 1.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#26

AW: Aha Momente

  Alt 5. Okt 2022, 18:01
Danke, den Artikel der Hilfe hatte ich irgendwie nicht gefunden. Hatte nach "Argumente" und nach "Methoden" gesucht.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Aha Momente

  Alt 5. Okt 2022, 18:09
Ich finde es nur nervig, wenn der Compiler immer wieder ein [1,2,3,...] als Enum interpretiert, obwohl er merken müsste, dass links vom := oder als Zieltyp des Parameters oder Operators ein Array vorgegeben ist.
Bzw. das er bei zu großen oder kleinen (negativen) Werten nicht von selber auf die Idee kommt es mal mit einem Array statt Enum zu versuchen, wo er Einem ja nur noch ein "out of range" um die Ohren werfen kann/tut.

Dass man das [] beim Aufruf weglassen kann ... Ohhh, wusste ich noch garnicht. machte mir immer die Mühe und schereibe die [ ] drumrum und verschwendete so bisher massenhafft Festplattenspeicher.
$2B or not $2B

Geändert von himitsu ( 5. Okt 2022 um 18:13 Uhr)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#28

AW: Aha Momente

  Alt 5. Okt 2022, 18:15
Mich stört im Zusammenhang mit Enums eher, dass wie oben erwähnt Bezeichner in offene Arrays konvertiert werden, Enums aber nicht in Sets. Zum einen als Methodenparameter, zum andere beim Plus-Operator: Set + Enum geht nicht, es muss Set + Set heißen.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Aha Momente

  Alt 5. Okt 2022, 18:24
Ja, da hätte man den Operator überladen können, mit SET und ENUM.
Im Gegenzug kann man beim Include nur Einen aber nicht mehrere ENUMs verwenden.

Ich weiß nicht, ob man einen Record-Helper auch um Operatoren erweitern kann, um es selber zu machen.

Beim Array machen sie die [ implizit drum,
warum dann nicht auch bei +



Ich wollte noch einen Feature-Request machen, dass der Compiler Type/Enum-Namespaces implizit einbezieht/bevorzugt.
Wenn der Compiler und CodeCompletion in einer Zuweisung := oder als Zieltyp für Paramerter und Property einen Enum/Set erkennt, warum kann er dann nicht diesen Typ als erstes in der Suchreihenfolge haben, auch implizit für ScopedEnums ... bzw. eigentlich für alle Typen, nicht nur Enums.
$2B or not $2B

Geändert von himitsu ( 5. Okt 2022 um 18:31 Uhr)
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.077 Beiträge
 
Delphi XE2 Professional
 
#30

AW: Aha Momente

  Alt 6. Okt 2022, 19:29
Hatte kürzlich in einer (dynamisch erzeugten Form) ein THeaderControl eingefügt mit
fHeaderControl := THeaderControl.Create(Self); Als ich dann das HeaderControl an eine bestimmte Position stellen wollte
fHeaderControl.SetBounds(L, T, W, H) funktionierte das nicht.
Die Höhe wurde gesetzt, Left, Top, Width blieben unverändert.
Auch der Versuch, alle Parameter separat zu setzen, brachten das gleiche Resultat.
Hab dann einen längeren Thread verfasst, um Hilfe zu kriegen.
Gerade als ich "Thema erstellen" klicken wollte, erinnerte ich mich daran, dass ich mich immer geärgert hatte, wenn ich in der IDE ein HeaderControl in ein Formular eingefügt hatte, dieses am oberen Rand der Form erschien, weil Align defaultmäßig auf alTop gesetzt wird.
Ein Align := alNone; löste das Problem.
"Aha Moment".
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 21:08 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