Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   writeln modifizieren (https://www.delphipraxis.net/40424-writeln-modifizieren.html)

maximov 16. Feb 2005 09:17

Re: writeln modifizieren
 
Zitat:

Zitat von mymuschy
Hintergrund ist folgender:

ich habe ein programm mit mehreren tausend Zeilen möchte die Grafikausgabe nun (leider) im nachhinein per übergabeparameter ein und ausschalten ohne vor jedes writeln eine abfrage bauen zu müssen

Versuch doch die standardausagabe irgendwie umzuleiten. Bin mir nicht sicher, weiss nur dass es evtl. kompliziert ist. Aber das wäre ein globaler ansatz.

sakura 16. Feb 2005 09:22

Re: writeln modifizieren
 
Die writeln Funktion selbst lässt sich nicht ändern, da diese auf der Compiler-Magic basiert :zwinker: Da hilft es nur eine neue Funktion zu erstellen, welche alle möglichen Fälle abfängt :shock:

...:cat:...

SubData 16. Feb 2005 09:26

Re: writeln modifizieren
 
Kann man die Funktion nich einfach überladen?

Edit: Also bei Delphi 7 is das kein Problem....
Funktion einfach neu anlegen und in der Funktion dann Integer Werte umwandeln und an das echte writeln übergeben :>

alcaeus 16. Feb 2005 09:30

Re: writeln modifizieren
 
Zitat:

Zitat von SubData
Kann man die Funktion nich einfach überladen?

Anscheinend nicht, denn das hier:
Delphi-Quellcode:
procedure writeln(s: String; i: Integer); overload;
begin
  writeln(s+IntToStr(i));
end;
schlägt beim Compilieren fehl (es gibt keine überladene Version von writeln die mit diesen Parametern aufgerufen werden kann). Du würdest also direkt writeln überschreiben...

Greetz
alcaeus

SubData 16. Feb 2005 09:33

Re: writeln modifizieren
 
Delphi-Quellcode:
private
  function writeln(x1, x2, x3: Variant): Boolean;

[...]

function TServer.writeln(x1, x2, x3: Variant): Boolean;
begin
  system.Writeln(x1 + x2 + x3);
end;
Aufruf:

Delphi-Quellcode:
  writeln('blah', 33, 'test');
geht...

Edit1: Tippfehler...

Edit2: Ich meinte mit überladen auch nicht den Overload Constructor sondern einfach ne neue Funktion, die dann die System.Writeln aufruft ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:34 Uhr.
Seite 2 von 2     12   

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