Monat / Jahr eines TDateTime-Objektes manipulieren - wie? [gelöst]
-
Super, das sieht gut aus - Dankeschön!
-
Zu früh gefreut... IncYear kennen weder C++Builder 3 noch C++Builder 5...
Ich hab mal versucht die DateUtils.hpp vom BDS2006 mit rein zu nehmen (include-Pfad hinzugefügt und #include <DateUtils.hpp>), allerdings compiliert mein Prog dann nicht mehr...
[C++Fehler] Main.h(88): Ambiguity between 'Types::TRect' and 'Windows::TRect'.
Das Ganze für das DrawPanel-Event einer StatusBar:
void __fastcall StatusBar1DrawPanel(TStatusBar *StatusBar, TStatusPanel *Panel, const TRect &Rechteck);
Ich hab Folgendes versucht:
void __fastcall StatusBar1DrawPanel(TStatusBar *StatusBar, TStatusPanel *Panel, const Types::TRect &Rechteck); void __fastcall StatusBar1DrawPanel(TStatusBar *StatusBar, TStatusPanel *Panel, const Windows::TRect &Rechteck);
Aber beide Male will der Builder die Eventfunktion aus dem Statusbar-Ereignis entfernen wegen inkompatibler Parameterliste... Hat jemand einen Rat?
-
Kolumbus schrieb:
Ich hab mal versucht die DateUtils.hpp vom BDS2006 mit rein zu nehmen
Das würde ich bleiben lassen. Abgesehen davon, daß du auf jede Menge Inkompatibilitäten stoßen dürftest, befindet sich die Implementation nicht im Header, sondern in SysUtils.pas.
Die beste Lösung wäre natürlich, das Projekt nach C++Builder 2006 zu migrieren
Ansonsten könntest du aber die entsprechenden Funktionen aber aus der SysUtils.pas von BDS 2006 kopieren, in ein neues Delphi-Unit ein- und dieses deinem Projekt hinzufügen. Der Compiler generiert dann automatisch einen Header.
-
audacia schrieb:
... befindet sich die Implementation nicht im Header, sondern in SysUtils.pas.
Eine SysUtils.pas befindet sich nur im Ordner "\Borland\BDS\4.0\Source\Win32\rtl\sys" welcher zum BDS2006 gehört... Im C++Builder 3 gibts nur eine SysUtils.hpp...
audacia schrieb:
Die beste Lösung wäre natürlich, das Projekt nach C++Builder 2006 zu migrieren
Das alte Leid...
audacia schrieb:
Ansonsten könntest du aber die entsprechenden Funktionen aber aus der SysUtils.pas von BDS 2006 kopieren, in ein neues Delphi-Unit ein- und dieses deinem Projekt hinzufügen. Der Compiler generiert dann automatisch einen Header.
Das fettgedruckte ist mir noch fremd... ich werd's mal versuchen... kannst du bitte trotzdem schonmal ein kurzes Beispiel posten oder nen erklärenden Link?
-
Kolumbus schrieb:
audacia schrieb:
... befindet sich die Implementation nicht im Header, sondern in SysUtils.pas.
Eine SysUtils.pas befindet sich nur im Ordner "\Borland\BDS\4.0\Source\Win32\rtl\sys" welcher zum BDS2006 gehört... Im C++Builder 3 gibts nur eine SysUtils.hpp...
Wie ich dir schon einmal sagte ;), wurden die Standard-Editionen von Delphi und C++Builder nicht mit dem VCL- und RTL-Quelltext ausgeliefert.
Kolumbus schrieb:
Das alte Leid...
So ganz verstehe ich es aber auch nicht. Was hält dich zurück? Benutzt du Komponenten, die es für C++Builder 2006 nicht mehr gibt? Alle anderen Inkompatibilitäten sind in der Regel trivial (außer beim Umstieg auf C++Builder 2009 wegen Unicode, aber auch das ist innerhalb kurzer Zeit machbar).
Kolumbus schrieb:
Das fettgedruckte ist mir noch fremd... ich werd's mal versuchen... kannst du bitte trotzdem schonmal ein kurzes Beispiel posten oder nen erklärenden Link?
Einen Link weiß ich auf Anhieb nicht, und ein Beispiel für ein Delphi-Unit findest du in jedem besseren Delphi-Tutorial. Zu den Hintergründen aber folgendes:
Wie ich hier etwas detaillierter erklärt hatte, entschied sich Borland, die VCL aus Delphi auch für ihre C++-Produktlinie einzusetzen. Da die VCL in Delphi geschrieben ist, mußte ein möglichst einfacher, automatisierbarer Weg der Interaktion von Delphi- und C++-Code geboten werden. Der besteht nun darin, daß der Delphi-Compiler (DCC) in der Lage ist, ein Unit nicht nur wie üblich zu einem DCU (Delphi Compiled Unit), sondern auch zu den in C++ üblichen OBJ-Dateien zu kompilieren und zudem eine Headerdatei zu erstellen, die von C++-Units aus verwendet werden kann.Sämtliche VCL-Headerdateien des C++Builder werden auf diesem Wege automatisch generiert, und wenn du deinem C++Builder-Projekt ein Delphi-Unit hinzufügst, so ruft C++Builder den DCC auf, um das Unit zu einer Objektdatei zu kompilieren und dir eine Headerdatei zu erstellen. Es ist also recht einfach, Delphi-Komponenten und -Units in C++Builder-Projekten zu verwenden.
-
audacia schrieb:
Wie ich dir schon einmal sagte ;), wurden die Standard-Editionen von Delphi und C++Builder nicht mit dem VCL- und RTL-Quelltext ausgeliefert.
ööhm..
is klar jetzt... hoffe ich.
audacia schrieb:
So ganz verstehe ich es aber auch nicht. Was hält dich zurück? Benutzt du Komponenten, die es für C++Builder 2006 nicht mehr gibt? Alle anderen Inkompatibilitäten sind in der Regel trivial (außer beim Umstieg auf C++Builder 2009 wegen Unicode, aber auch das ist innerhalb kurzer Zeit machbar).
Bin beim migrieren... es gibt Probleme mit den QuickReport-Komponenten / -Headern...
Edit:
BDS2006 schrieb:
[C++ Fehler] quickrpt.hpp(30): E2209 include-Datei 'Qrprntr.hpp' kann nicht geöffnet werden
[C++ Fehler] quickrpt.hpp(31): E2209 include-Datei 'Qr3const.hpp' kann nicht geöffnet werden
[C++ Fehler] quickrpt.hpp(32): E2209 include-Datei 'Qrprgres.hpp' kann nicht geöffnet werden
[C++ Fehler] quickrpt.hpp(33): E2209 include-Datei 'Qrexpr.hpp' kann nicht geöffnet werden
[C++ Fehler] quickrpt.hpp(34): E2209 include-Datei 'Qrexpbld.hpp' kann nicht geöffnet werden
[C++ Fehler] quickrpt.hpp(144): E2090 Qualifizierer 'Qrprntr' ist kein Name einer Klasse oder einer Struktur
[C++ Fehler] quickrpt.hpp(144): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
[C++ Fehler] quickrpt.hpp(167): E2090 Qualifizierer 'Qrprntr' ist kein Name einer Klasse oder einer Struktur
[C++ Fehler] quickrpt.hpp(167): E2293 ) erwartet
[C++ Fehler] quickrpt.hpp(168): E2090 Qualifizierer 'Qrprntr' ist kein Name einer Klasse oder einer Struktur
[C++ Fehler] quickrpt.hpp(168): E2293 ) erwartet
[C++ Fehler] quickrpt.hpp(265): E2090 Qualifizierer 'Qrprntr' ist kein Name einer Klasse oder einer Struktur
[C++ Fehler] quickrpt.hpp(265): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
[C++ Fehler] quickrpt.hpp(272): E2090 Qualifizierer 'Qrprntr' ist kein Name einer Klasse oder einer Struktur
[C++ Fehler] quickrpt.hpp(272): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
[C++ Fehler] quickrpt.hpp(277): E2090 Qualifizierer 'Qrprntr' ist kein Name einer Klasse oder einer Struktur
[C++ Fehler] quickrpt.hpp(277): E2293 ) erwartet
[C++ Fehler] quickrpt.hpp(300): E2090 Qualifizierer 'Qrprntr' ist kein Name einer Klasse oder einer Struktur
[C++ Fehler] quickrpt.hpp(300): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
[C++ Fehler] quickrpt.hpp(314): E2090 Qualifizierer 'Qrprntr' ist kein Name einer Klasse oder einer Struktur
[C++ Fehler] quickrpt.hpp(314): E2303 Typname erwartet
[C++ Fehler] quickrpt.hpp(314): E2275 { erwartet
[C++ Fehler] quickrpt.hpp(315): E2303 Typname erwartet
[C++ Fehler] quickrpt.hpp(316): E2090 Qualifizierer 'Qrprntr' ist kein Name einer Klasse oder einer Struktur
[C++ Fehler] quickrpt.hpp(316): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
[C++ Fehler] quickrpt.hpp(316): E2228 Zu viele Fehlermeldungen oder WarnungenEdit2: Weiß jemand Rat?
-
Na, QuickReport installieren mußt du schon
Wenn ich mich nicht irre, wurde beim C++Builder 2006 Rave Reports mitgeliefert, nicht mehr QuickReport.QuickReport kannst du hier erwerben. Wenn du kein Geld ausgeben willst, wirst du deine Anwendung wohl auf Rave Reports migrieren müssen.
-
audacia schrieb:
Na, QuickReport installieren mußt du schon
Wenn ich mich nicht irre, wurde beim C++Builder 2006 Rave Reports mitgeliefert, nicht mehr QuickReport. [...] Wenn du kein Geld ausgeben willst, wirst du deine Anwendung wohl auf Rave Reports migrieren müssen.Super - und genau dafür habe ich jetzt keine Zeit (so wie schon die letzten Monate)... das wäre etwas umfangreicher! Also zurück zur neuen Delphi-Unit...
audacia schrieb:
QuickReport kannst du hier erwerben.
Die sich dann öffnende Seite schrieb:
The page you have requested does not exist.
Our website has undergone a redesign recently and your bookmarked link may not point to the correct page anymore. Please browse to the required page using the menu above and bookmark it again.
Copyright 1987-2009, QBS Software Ltd
-
Kolumbus schrieb:
Die sich dann öffnende Seite schrieb:
The page you have requested does not exist. [...]
Die URL einfach mal auf Tipp- oder Flüchtigkeitsfehler prüfen!?
-
Jansen schrieb:
Die URL einfach mal auf Tipp- oder Flüchtigkeitsfehler prüfen!?
Wie kommt man nur auf solch' triviale Ideen?
Danke!
-
Hallo
schau mal diesen Link an
ob der dir weiterhilft - keine Ahnung ob das nur fuer Delphi isthttp://cc.codegear.com/item/25002
Mfg
Klaus
-
Wow, Danke KlausB... Das sieht interessant aus... hab mir spontan einen Account erstellt, muss aber noch mein BDS2006 dort registrieren... Wo mache ich das nun wieder? Kann jemand helfen?
-
Kolumbus schrieb:
muss aber noch mein BDS2006 dort registrieren...
Das solltest du eigentlich schon gemacht haben. Wie hast du das denn ohne Registrierung und Aktivierung zum Laufen bekommen?
-
Guten Morgen,
ich habe mich nicht korrekt ausgedrückt. Das Produkt ist registriert und ich habe gestern einen Account erstellt um das QR-Paket runter zu laden. Für den Account habe ich die Daten genutzt, die mir das BDS2006 als Regestrierungsdaten anzeigt. Trotzdem steht in meinem Account unter "my registered products" dass ichkein Produkt registriert habe. Aus diesem Grunde kann ich das Paket nicht herunterladen. Ich finde nur leider keine Möglichkeit mein Produkt dort zu registrieren..
Falls jemand Rat weiß... her damit!
-
Kolumbus schrieb:
Das Produkt ist registriert und ich habe gestern einen Account erstellt um das QR-Paket runter zu laden.
Für die Registrierung der IDE muß bereits ein Account existiert haben. Es hilft nichts, wenn du einfach einen neuen mit den selben Daten erstellst - das könnte ja jeder machen -; du mußt dafür schon denselben Account benutzen.
-
audacia schrieb:
[...] Für die Registrierung der IDE muß bereits ein Account existiert haben. [...]
Ich hab's geahnt... na dann hab ich ja jetzt viel Spaß beim suchen... frohe Ostern...
-
Kolumbus schrieb:
Ich hab's geahnt... na dann hab ich ja jetzt viel Spaß beim suchen...
Da das Produkt eigentlich auf deinen Namen registriert sein müßte, solltest du doch auch über die Zugangsdaten verfügen
-
audacia schrieb:
Da das Produkt eigentlich auf deinen Namen registriert sein müßte, solltest du doch auch über die Zugangsdaten verfügen
Ja, das ist allerdings über ein Jahr her und ich habe spontan keine Ahnung wo die Zugangsdaten sein sollen...
-
audacia schrieb:
Da das Produkt eigentlich auf deinen Namen registriert sein müßte, solltest du doch auch über die Zugangsdaten verfügen
Sag das nicht, als mein Chef jetzt seinen Rechner ausgewechselt hat, war er einige Zeit am Suchen der Registrierungsdaten...
Seit dem liegen nun zu allen Lizenzen auch die jeweiligen Accountdaten immer zusammen... Wie heißt es so schön... "Wer Ordnung hält ist nur zu faul zum Suchen".
cu André
-
Kolumbus schrieb:
Ja, das ist allerdings über ein Jahr her und ich habe spontan keine Ahnung wo die Zugangsdaten sein sollen...
Wenn du noch weißt, welche Mailadresse du damals verwendet hast, kannst du dir hier dein Paßwort zuschicken lassen (einfach die Mailadresse als Login angeben).