Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Wo finde ich die System Unit? (https://www.delphipraxis.net/100344-wo-finde-ich-die-system-unit.html)

Tommy1988 26. Sep 2007 18:46


Wo finde ich die System Unit?
 
Also, ich würde mir gerne mal die ein oder andere Funktion die in der System Unit
stehen genauer ansehen.

Nur wo ist diese bei Delphi 2005 PE abgespeichert?

s-off 26. Sep 2007 18:49

Re: Wo finde ich die System Unit?
 
Also in BDS 2006 liegt sie hier:

C:\Programme\Borland\BDS\4.0\source\Win32\rtl\sys\ System.pas

Edit: Mit STRG+LINKSCLICK auf die Unit in der Uses-Klausel öffnest Du die Unit im Editor.
Wenn Du dann mit der Maus über den Tab fährst, bekommst Du als Hint den Speicherort angezeigt.

Ok, das hat mkinzler bereits gesagt:
Wenn PE in Deinen Augen allerdings für 'Personal Edition' steht hast Du allerdings Pech, da die Sourcen erst an der Pro-Version mitgeliefert werden.

mkinzler 26. Sep 2007 18:50

Re: Wo finde ich die System Unit?
 
In den PEs fehlen allerdings die Sourcen der Units

Tommy1988 26. Sep 2007 18:51

Re: Wo finde ich die System Unit?
 
Ich habe das DelphiVerzeichnis mal mit folgender Anfrage durchsucht:
*.pas

Darauf hin habe ich in den Ergebnissen SYSTEM gesucht, aber nix gefunden.

Edit: Ok, die Sourcen fehlen.

Kann man die "Innereien" denn trotzdem einsehen?

Christian Seehase 26. Sep 2007 18:52

Re: Wo finde ich die System Unit?
 
Moin Tommy,

Zitat:

Zitat von Tommy1988
Nur wo ist diese bei Delphi 2005 PE abgespeichert?

ich möchte mal behaupten: Nirgends, da die VCL-Sourcen bei der Version nicht mitgeliefert werden (soweit ich mich entsinne)

Bei Teilen der System hättest Du wohl auch so ein Problem, da einige als Compiler-Magic implementiert, und somit auch nicht in der System.pas zu finden sind.

lbccaleb 26. Sep 2007 18:55

Re: Wo finde ich die System Unit?
 
leicht kann man auf die funktionen zurückgreifen wenn man in delphi die strg drückt und dann die unit zb in der uses klausel anklickt, das funktioniert bei fast allen units, nur einige haben manchmal probleme weiß der teufel wieso ;-)

mfg

s-off 26. Sep 2007 18:57

Re: Wo finde ich die System Unit?
 
Zitat:

Zitat von lbccaleb
leicht kann man auf die funktionen zurückgreifen wenn man in delphi die strg drückt und dann die unit zb in der uses klausel anklickt, das funktioniert bei fast allen units, nur einige haben manchmal probleme weiß der teufel wieso ;-)
mfg

Habe ich bereits gesagt; aber auch das wird kaum funktionieren, wenn die Sourcen nicht da sind.

Tommy1988 26. Sep 2007 18:58

Re: Wo finde ich die System Unit?
 
Ich würde mir gerne den kompletten Code der Funktion Frac sowie Int ansehen um zu verstehen wie diese funktionieren.

Edit:
Es könnte nicht eventuell jemand diese Codes für Frac und Int hier posten?
Also direkt aus System.pas heraus

lbccaleb 26. Sep 2007 19:06

Re: Wo finde ich die System Unit?
 
hast denn schon mal einfach nach der datei gesucht???
windows suche ist dort eigentlich ganz fix vor allem die von vista ;-)

Tommy1988 26. Sep 2007 19:07

Re: Wo finde ich die System Unit?
 
Zitat:

Zitat von Tommy1988
Ich habe das DelphiVerzeichnis mal mit folgender Anfrage durchsucht:
*.pas

Darauf hin habe ich in den Ergebnissen SYSTEM gesucht, aber nix gefunden.

Edit: Ok, die Sourcen fehlen.

Kann man die "Innereien" denn trotzdem einsehen?


ja habe ich


kann mir den Code denn jemand posten?

Muetze1 26. Sep 2007 19:08

Re: Wo finde ich die System Unit?
 
Zitat:

Zitat von lbccaleb
hast denn schon mal einfach nach der datei gesucht???
windows suche ist dort eigentlich ganz fix vor allem die von vista ;-)

Und zum 5. mal in diesem Thread: In der PE sind die Quellen nicht mit bei. Er kann noch soviel auf seinem Rechner suchen, er wird sie nicht finden... :wall:
Zitat:

Zitat von Tommy1988
kann mir den Code denn jemand posten?

Das würde gegen die Lizenzbestimmungen verstoßen.

Tommy1988 26. Sep 2007 19:11

Re: Wo finde ich die System Unit?
 
Ach verdammt..

Delphi-Quellcode:
function Frac(X: Extended): Extended;
begin
result := X - Int(X);
end;
Das habe ich im Internet gefunden, doch leider ergibt sich daraus NICHT das selbe wie bei der echten FracFunktion.


Edit:

Delphi-Quellcode:
function FracF(X: Extended): Extended;
begin
result := X - IntF(X); // Markierung
end;
function IntF(X: Extended): Extended;
begin
result := X - FracF(X);
end;
Funktioniert nämlich nicht, denn dann ist bei der Markierung IntF undefiniert.

mkinzler 26. Sep 2007 19:12

Re: Wo finde ich die System Unit?
 
Und warum nicht?

Gausi 26. Sep 2007 19:13

Re: Wo finde ich die System Unit?
 
Aber bei Turbo Delphi sind die dabei. Wenns nur darum geht, sich den Code einiger Funkionen mal ansehen zu wollen, sollte das ausreichen.

s-off 26. Sep 2007 19:18

Re: Wo finde ich die System Unit?
 
Zitat:

Zitat von Gausi
Aber bei Turbo Delphi sind die dabei. Wenns nur darum geht, sich den Code einiger Funkionen mal ansehen zu wollen, sollte das ausreichen.

In der Explorer-Version? Dann wäre CG aber ganz schön :wall:

Edit:
Die Frac-Funktion aus der System-Unit ist übrigens in ASM geschrieben; dürfte also nicht das sein, was Du gefunden hast.

Edit2:
Für Int gilt das Gleiche.

jbg 26. Sep 2007 19:24

Re: Wo finde ich die System Unit?
 
Zitat:

Zitat von s-off
In der Explorer-Version? Dann wäre CG aber ganz schön :wall:

Klar sind die da dabei. Die Explorer ist nur eine eingeschränkte Pro.

Tommy1988 26. Sep 2007 19:26

Re: Wo finde ich die System Unit?
 
Das bringt mich nur leider nicht weiter :roll:

mkinzler 26. Sep 2007 19:30

Re: Wo finde ich die System Unit?
 
Zitat:

Zitat von Tommy1988
Das bringt mich nur leider nicht weiter :roll:

Und wenn du TDE herunterlädst?

Tommy1988 26. Sep 2007 19:33

Re: Wo finde ich die System Unit?
 
Ich habe jetzt mal
function IntF(X: Extended): Extended;
und
function FracF(X: Extended): Extended;

deklariert. Aber Ich erhalte einen Fehler, wenn FracF IntF aufrufen will. (IntF steht unter FracF)

mkinzler 26. Sep 2007 19:35

Re: Wo finde ich die System Unit?
 
Mach ne forward Deklarartion

s-off 26. Sep 2007 19:36

Re: Wo finde ich die System Unit?
 
Zitat:

Zitat von jbg
Zitat:

Zitat von s-off
In der Explorer-Version? Dann wäre CG aber ganz schön :wall:

Klar sind die da dabei. Die Explorer ist nur eine eingeschränkte Pro.

Hmm, wie man doch seine Politik ändern kann.

Bei den kostenlosen PEs war sie nicht dabei, bei den kostenlosen Turbos schon; seltsam...

Dann stellt sich mir die Frage, ob es wirklich lizenztechnisch gesehen ein Problem darstellt, die Sourcen, bzw. Teile davon, hier zu veröffentlichen. Die Sourcen sind ja anscheinend für jedermann frei zugänglich.
Und wenn ich mich recht entsinne, werden hier sowieso am laufenden Band Codeschnipsel aus den Delphi-Sourcen gepostet...

Hawkeye219 26. Sep 2007 19:42

Re: Wo finde ich die System Unit?
 
Hallo,

Zitat:

Zitat von mkinzler
Mach ne forward Deklarartion

Und wie soll Tommy gegen die Endlos-Rekursion beim Aufruf einer der beiden Funktion ankämpfen?

Gruß Hawkeye

mkinzler 26. Sep 2007 19:43

Re: Wo finde ich die System Unit?
 
Poste mal den Code

Khabarakh 26. Sep 2007 19:45

Re: Wo finde ich die System Unit?
 
Zitat:

Zitat von Tommy1988
deklariert

Höh? Willst du den Code nun verstehen oder benutzen :gruebel: ?
@Tommy1988 & mkinzler: Denkt einmal scharf darüber nach, was wohl passieren wird, wenn FracF IntF und IntF FracF aufruft...

Es wurde eigentlich alles zum Thema gesagt - die Funktionen sind in Assembler geschrieben und können nicht sinnvoll in eine Hochsprache übersetzt werden. Wenn du den Asm-Code trotzdem inspizieren willst, dann lade dir TD herunter.

[edit]Ich vermisse den roten Kasten langsam schon... beruht anscheinend nicht auf Gegenseitigkeit. [/edit]

jbg 26. Sep 2007 19:46

Re: Wo finde ich die System Unit?
 
Zitat:

Zitat von s-off
Bei den kostenlosen PEs war sie nicht dabei, bei den kostenlosen Turbos schon; seltsam...

Bei Delphi 1 Standard waren die Quellen auch nicht dabei und das war nicht kostenlos (ok für mich schon, da Weihnachtsgeschenk).

Zitat:

Dann stellt sich mir die Frage, ob es wirklich lizenztechnisch gesehen ein Problem darstellt, die Sourcen, bzw. Teile davon, hier zu veröffentlichen.
Zitat:

Gemäß der in dieser Lizenzvereinbarung genannten Bedingungen dieser Lizenz
in Abschnitt 3.2 können Sie Quellcode oder compilierten Code, der vollständig
Ihr Eigentum
ist und keine Redistributables enthält, ohne Einschränkung
weitergeben.
Und du kannst mir nicht weiß machen, dass der VCL Quellcode dein vollständiges (geistiges) Eigentum ist.

s-off 26. Sep 2007 21:15

Re: Wo finde ich die System Unit?
 
Zitat:

Zitat von jbg
Und du kannst mir nicht weiß machen, dass der VCL Quellcode dein vollständiges (geistiges) Eigentum ist.

Schade, dass man in einem Forum nicht die Emotionen und Mimiken der Leute sehen kann, mit denen man kommuniziert. Somit ist es nicht so einfach, deren Stimmung einzuschätzen.
Trotzdem könnte man bei diesem Satz meinen, ich wäre Dir irgendwie auf den Schlips getreten; auch deshalb, weil DU Dich anderweitig noch nicht in diesem Beitrag geäußert hast, außer mich zu korrigieren bzw. mir zu widersprechen. Ist das so? Wenn ja, warum?

Bis ich eine Antwort erhalten habe, spare ich mir erstmal jegliche Spekulation.

Ach, bzgl. des Verstosses gegen die Lizenz:
Werden wir, die wir hier lustig aus der VCL zitieren, jetzt alle verklagt? (thoretisch gesehen)
Oder ist der Forenbetreiber dafür zuständig, solche Verstösse zu unterbinden/entfernen, so wie es mal heiss diskutiert worden ist?

jbg 26. Sep 2007 21:40

Re: Wo finde ich die System Unit?
 
Zitat:

Zitat von s-off
Trotzdem könnte man bei diesem Satz meinen, ich wäre Dir irgendwie auf den Schlips getreten;

Das bist du sicher nicht, denn ich arbeite nicht bei CodeGear und bin auch kein Anwalt. Ich hatte mir schon überlegt einen Smiley anzuhängen. Dachte mir dann aber, dass es auch so offensichtlich ist, wie ich das meine. :wink:

Zitat:

Ach, bzgl. des Verstosses gegen die Lizenz:
Werden wir, die wir hier lustig aus der VCL zitieren, jetzt alle verklagt? (thoretisch gesehen)
Theoretisch könnte CodeGear das schon machen. Aber solange man das nicht im großen Stil betreibt, wie z.B. den VCL Quellcode zum Download anbieten, sollte man da keine Probleme bekommen.

s-off 27. Sep 2007 06:40

Re: Wo finde ich die System Unit?
 
[OT]
Moin,
Zitat:

Zitat von jbg
Zitat:

Zitat von s-off
Trotzdem könnte man bei diesem Satz meinen, ich wäre Dir irgendwie auf den Schlips getreten;

Das bist du sicher nicht, denn ich arbeite nicht bei CodeGear und bin auch kein Anwalt. Ich hatte mir schon überlegt einen Smiley anzuhängen. Dachte mir dann aber, dass es auch so offensichtlich ist, wie ich das meine. :wink:

na dann bin ich ja froh. Konnte das wirklich nicht einschätzen. Mache mir dann immer gleich Gedanken, evtl. jemandem Unrecht getan zu haben, da ich weiß, dass ich gelegentlich etwas zu direkt bin :? Denke immer, dass man mit Ehrlichkeit am weitesten kommt; nur leider kann damit auch nicht jeder umgehen, was mir gelegentlich schon Probleme bereitet hat... naja, andere Baustelle :wink:
Jedenfalls herzlichen Dank für die Klarstellung :-D
[/OT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:15 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