Delphi-PRAXiS
Seite 22 von 26   « Erste     12202122 2324     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Träume, Wünsche und Wahnvorstellungen... (https://www.delphipraxis.net/160506-traeume-wuensche-und-wahnvorstellungen.html)

Florian Hämmerle 10. Aug 2011 21:36

AW: Träume, Wünsche und Wahnvorstellungen...
 
Zitat:

Zitat von NamenLozer (Beitrag 1116117)
Kann ja sein, dass Turbo Delphi etwas zu freizügig war, aber Delphi Starter ist jetzt das andere extrem. Wenn es sowas wie TDE in aktueller Version gäbe für den Preis von Delphi Starter, würde ich es kaufen. Oder wenn das aktuelle Delphi Starter kostenlos wäre, würde ich es eventuell auch mal damit probieren. Aber für den Preis finde ich Starter zu sehr beschnitten.

Ja, wenn ich für die Starter was hätte zahlen müssen, hätte ich sie auch nicht genommen und wäre immer noch bei TDE. Sie müssen eben den Mittelweg finden: angenehm für Hobbyprogrammierer & Einsteiger, umständlich genug für Profis, die ihr Geld damit verdienen.

Viele Grüße,
Florian

himitsu 26. Aug 2011 19:53

AW: Träume, Wünsche und Wahnvorstellungen...
 
Helper für einfache Typen/Interfaces
und Operatoren/Generics für Helper
...
das wäre mal geil

Stevie 27. Aug 2011 12:39

AW: Träume, Wünsche und Wahnvorstellungen...
 
Zitat:

Zitat von himitsu (Beitrag 1119862)
Helper für einfache Typen/Interfaces
und Operatoren/Generics für Helper
...
das wäre mal geil

Hatten wir schon ;)

himitsu 27. Aug 2011 14:57

AW: Träume, Wünsche und Wahnvorstellungen...
 
doppelt geil? :oops:

stahli 7. Apr 2012 11:47

AW: Träume, Wünsche und Wahnvorstellungen...
 
Es wird Zeit, dass mal wieder jemand Wahnvorstellungen äußert: :stupid:

Delphi-Quellcode:
{$IFDEF standard OR professional}
      FormSchedule.ManualDock(TabSheetSchedule, nil, alNone);
      FormSchedule.Align := alClient;
      FormSchedule.Show;
{$ENDIF}
Delphi-Quellcode:
{$IFDEF (NOT standard) AND (NOT professional)}
      FormSchedule.ManualDock(TabSheetSchedule, nil, alNone);
      FormSchedule.Align := alClient;
      FormSchedule.Show;
{$ENDIF}
EDIT: Und Projektgruppen-Bedingungen, die dann für alle Projekte einer Gruppe gelten.

Thom 7. Apr 2012 13:23

AW: Träume, Wünsche und Wahnvorstellungen...
 
Da kann Dir der Osterhase ganz schnell helfen:
Delphi-Quellcode:
const
  Standard = true;
  Professional = false;

  [...]
  {$IF Standard or Professional}
  ShowMessage('Gute Wahl!');
  {$ELSE}
  ShowMessage('Pech gehabt...');
  {$IFEND}

  [...]
  {$IF (NOT standard) AND (NOT professional)}
  ShowMessage('Geizhals!');
  {$IFEND}
Zum zweiten Wunsch:
Weshalb packst Du die Bedingungen nicht in eine zentrale pas- oder was-auch-immer-Datei und lädst sie in jedem Projekt (der Gruppe) per {$INCLUDE ...}-Anweisung?

himitsu 7. Apr 2012 13:52

AW: Träume, Wünsche und Wahnvorstellungen...
 
Gibt es, zumindestens hatte ich sowas mal im D7 gesehn (glaub ich).
Ich find's nur nicht mehr. :cry:

Das war eine Funktion/Prozedur, welche aus 3 oder 4 DWORD-Werten die Personality bestimmt.
Wurde/wird von Features geprüft, welche für höhere Personalities bestimmt war, also erst bei Nutzung dieses Features, im laufenden Programm.
z.B. man kompiliert irgend ein Datenbankfeature ein, welches erst ab der Enterprise möglich ist, aber man nutzt nur 'ne Personal/Standard.

Eventuell wurde es ja ausgebaut und man löst das nun anders. :gruebel:




constants:
RTLVersion
CompilerVersion
GPL (Programm wurde so kompiliert, daß die DelphiRTL/VCL mit der GPL kompatibel ist ... stammt wohl irgendwie vom Kylix)

compiler switches:
UNICODE
PUREPASCAL
MSWINDOWS
POSIX (MACOSX or LINUX)
MACOSX
LINUX
TRIAL_EDITION (k.A. ob das jetzt auch noch gesetzt wird)



{$IFDEF TRIAL_EDITION} or {$IF Declared(System._Expired)}
_Expired; // show the state of trial licence



[edit]
ups falsch verstanden.

Delphi-Quellcode:
{$DEFINE Standard}

  {$IF Defined(Standard) or Defined(Professional)}
  ShowMessage('Gute Wahl!');
  {$ELSE}
  ShowMessage('Pech gehabt...');
  {$IFEND}

  [...]
  {$IF NOT Defined(Standard) AND NOT Defined(Professional)}
  ShowMessage('Geizhals!');
  {$IFEND}
Es gibt auch noch Declared, für Variablen, Konstanten, Typen und Funktionen/Prozeduren.

Delphi-Quellcode:
{$IF not Declared(MyProc)}
procedure MyProc;
begin
end;
{$IFEND}

Delphi-Laie 7. Apr 2012 13:58

AW: Träume, Wünsche und Wahnvorstellungen...
 
Sagt mal, liebe Leute, gibt es eigentlich inzwischen in Delphi ein {$IFDEF}DelphiXUp{$ENDIF}, das Delphi direkt unterstützt?

Dieses DelphiXUp ist nach meiner Beobachtung immer eine "zurechtgebastelte" Variable, die mit jeder neuen Delphiversion immer wieder aktualisiert werden muß (mit dem Hinzufügen eines neuen, weiteren VERXXX).

Schön wäre es (gewesen), wenn jedes Delphi von sich aus erkennen würde, ob die Version(snummer) des Compilers für den Quelltext ausreicht, anhand einer Variablen, die die Mindestvoraussetzung (ab welcher Versionsnummer) des Compilers beinhaltet.

Vielleicht gibt es das alles auch schon längst, keine Ahnung.

stahli 7. Apr 2012 14:07

AW: Träume, Wünsche und Wahnvorstellungen...
 
Oh, ich wusste nicht, dass man auch Konstanten auswerten kann...
Thom hat mir schon alle meine Träume erfüllt. :thumb:

Delphi-Quellcode:
const // global definiert, aber gut praktikabel so
  CompileModeFree = 0;
  CompileModeLight = 1;
  CompileModeStandard = 2;
  CompileModeProfessional = 3;
  CompileMode = CompileModeLight;

...

procedure TdmlStahliSport.MIPlayerStatistcsClick(Sender: TObject);
{$IF CompileMode > CompileModeFree}
var
  PanelPlayer: TodPanelPlayer;
{$IFEND}
begin
{$IF CompileMode > CompileModeFree}
  if PopupMenuPlayer.PopupComponent is TodPanelPlayer then
    begin
      PanelPlayer := PopupMenuPlayer.PopupComponent as TodPanelPlayer;
      PanelPlayer.odPlayer.Person.ExportVPEGamesOpen;
      PanelPlayer.odPlayer.Person.ExportVPEGames;
      PanelPlayer.odPlayer.Person.ExportVPEGamesClose;
    end;
{$IFEND}
end;

Thom 7. Apr 2012 15:04

AW: Träume, Wünsche und Wahnvorstellungen...
 
@Delphi-Laie:

Na ja - das "Erkennen", ob ein Feature zur Verfügung steht, besteht ja darin, daß der Compiler anfängt, mehr oder weniger lange Fehlerlisten zu produzieren. Viel schlimmer ist meines Erachtens der Umstand, daß manche Dinge bei älteren Compilerversionen anders oder (noch) fehlerhalft implementiert ist. Das betrifft zum Beispiel die richtige Auswahl überladenen Methoden oder die Behandlung von Variant-Werten. Will (oder muß) man abwärtskompatibel sein, führt meiner Meinung nach nichts am exzessiven Gebrauch von Compilerschaltern vorbei, wobei ja leider nicht alle älteren Versionen die Variable CompilerVersion unterstützen. Damit wäre es dann einfach, Delphi XE4 schon jetzt zu erkennen:
Delphi-Quellcode:
  {$IF CompilerVersion=25.0}
  ShowMessage('Jetzt habe ich es endlich!');
  {$IFEND}

@stahli:

Das freut mich! :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.
Seite 22 von 26   « Erste     12202122 2324     Letzte »    

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