Zitat von
Der_Unwissende:
Zitat von
Nils_13:
Ich möchte eigentlich nur aus Interesse wissen, wie das ein Betriebssystemprogrammierer machen würde.
Hi,
warum dann ohne
Unit? Dass Du die
Unit System nicht explizit einbindest heißt keineswegs, dass Dein Delphi-Programm frei von einer
Unit ist! Auch (oder gerade?) Betriebssystemprogrammierer sind Menschen, die haben keine Lust ständig das
Rad neu zu erfinden. Natürlich greifen die also auf Bibliotheken zurück! Anders wäre es kaum möglich die Komplexität der heutigen
OS so fehlerarm zu erreichen (und ja, auch mir ist klar dass es Fehler gibt, nur wären es wohl ohne Bibliotheken ein paar zig-Tausende mehr).
Ansonsten kannst Du natürlich einfach in den Source schauen, der ist doch bei den Turbo Explorer Versionen mit bei, da gibt es sicherlich auch die Implementierung von IntToStr.
Gruß Der Unwissende
Eigentlich nicht. Du kannst viele Units nicht nehmen, da sie platformspezifisch sind. Audiobibliotheken und so ein Zeug werden gerne übernommen, da sie zu viel Zeit kosten würden und auch nur unnötiger Arbeitsaufwand wären, da hast du recht. Turbo Explorer hab ich übrigens nicht, aber den Code von Delphi7
:
Delphi-Quellcode:
function IntToStr(Value: Integer) :
String;
assembler;
asm
PUSH ESI
MOV ESI, ESP
SUB ESP, 16
XOR ECX, ECX
PUSH EDX
XOR EDX, EDX
CALL CvtInt
MOV EDX, ESI
POP EAX
CALL System.@LStrFromPCharLen
ADD ESP, 16
POP ESI
end;
Der sieht aber nicht sehr platformunabhängig aus (System.).
Zu den anderen Codes: und was ist Chr als Funktion oder anders gefragt: wo finde ich diese Funktionen ? SysUtils usw. sieht leer aus.