Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi With Class1, Class2 do (https://www.delphipraxis.net/84091-class1-class2-do.html)

hanspeter 11. Jan 2007 12:43

Re: With Class1, Class2 do
 
Zitat:

Zitat von smudo
Ich hab mal eine Frage...

Ich verwende folgendes (stark reduziert):
Delphi-Quellcode:
With Class1, Class2 do
  DoSomething;
Wenn beide Klassen eine Methode DoSomething haben wird nur die Methode von Class2 ausgeführt.
Kann man Delphi dazu bringen, beide nacheinander auszuführen? Ich meine genau in diesem Konstrukt?

René

In keiner anderen Programmiersprache gibt es dieses hochgratig kaputte Konstrukt.
Und das mit gutem Grund.

Gruß Peter

smudo 15. Jan 2007 11:45

Re: With Class1, Class2 do
 
Zitat:

Zitat von hanspeter
In keiner anderen Programmiersprache gibt es dieses hochgratig kaputte Konstrukt.

Ähm, :warn: es heißt übrigens hochgradig.
Außerdem, was angeblich nur eine Programmiersprache kann, muss nicht schlecht sein (Wie viele kennst du denn so :zwinker:)

Was ich auf jeden Fall nützlich finde und auch weiter nutzen werde ist folgende Möglichkeit:
Delphi-Quellcode:
with TMyForm.Create(Nil) do
try
  ...
  ShowModal;
  ...
finally
  Release;
end;
Nur mal ne Frage OT, falls jemand noch diesen Thread verfolgt. Wie verhält sich das denn unter C# mit Using zweier Klassen, welche die gleiche Methode besitzen?

Und hier noch ein Gruß an alle With-Do-Nutzer :cheers:

OregonGhost 15. Jan 2007 12:28

Re: With Class1, Class2 do
 
Zitat:

Wie verhält sich das denn unter C# mit Using zweier Klassen, welche die gleiche Methode besitzen?
In C# gibt es kein dem pascalschen with entsprechendes Konstrukt. Das using dient lediglich dem automatischen Dispose und kann daher auch nur mit Klassen verwendet werden, die die IDisposable-Schnittstelle implementieren. Eine Verkürzung der Aufrufe gibt es innerhalb des using-Blocks nicht. Davon abgesehen können in einer using-Anweisung nur Objekte eines Typs deklariert werden.

Elvis 15. Jan 2007 12:42

Re: With Class1, Class2 do
 
Zitat:

Zitat von smudo
Und hier noch ein Gruß an alle With-Do-Nutzer :cheers:

Benutze ich auch, nur sieht das so aus und ist nicht Delphi ;) :
Delphi-Quellcode:
with miep := someLongIdentifier.Miep do
  miep.DoSomething();

mkinzler 15. Jan 2007 12:47

Re: With Class1, Class2 do
 
Zitat:

Benutze ich auch, nur sieht das so aus und ist nicht Delphi Wink :
Was dann? (Chrome?)

Elvis 15. Jan 2007 12:57

Re: With Class1, Class2 do
 
Zitat:

Zitat von mkinzler
Was dann? (Chrome?)

Ja, Chrome erlaubt per default keine with clause ohne Alias.

hanspeter 15. Jan 2007 19:16

Re: With Class1, Class2 do
 
Zitat:

Zitat von smudo
Außerdem, was angeblich nur eine Programmiersprache kann, muss nicht schlecht sein (Wie viele kennst du denn so :zwinker:)

Willst du das wirklich wissen?
Na lass mich mal rechnen.

Angefangen habe ich mit reinem Assembler. Mein damals größtes Programm waren so etwa 18.000 Lochkarten.
Später kam dann Makroassembler dazu. Da habe ich ein Betriebssystem für einen Magnettrommel-Rechner geschrieben.
Meine erste Hochsprache war Algol, dann kam Stepp dazu. Step war ein Vorläufer von Basic.
Als Diplomarbeit in Informatik habe ich für die IBM360 das Simulationssystem Spass weiterentwickelt.
Die Logikodule selbst habe ich in Fortran geschrieben.
Dann kam auch auf dem Nachfolger der IBM 360 PL/1 von IBM dazu.
In PL/1 habe ich das Sortierprogramm für die Inventur eines Großlagers geschrieben.
So ein Sortierlauf dauerte etwa 5 bis 6 Stunden, wenn ich alle Magnetbänder der Maschine (8 Stück) nutzen konnte.
Das Programm war etwa 4 20cm Lochbandrollen groß.
Dann später im Prozessrechner Bereich kam PL/M als Vorläufer und später C dazu.
Die Steuerung für eine Produktionsstraße in der Textilindustrie habe ich auf der PDP11 mit einem Gemisch von Assembler und Basic geschrieben.
Nach einer Vielzahl von Basic Dialekten und einem Ausflug zu Ada im quasi militärischen Bereich, dann wieder zurück zu Assembler
für Mikroprozessoren. Intel 8008, Intel 8080 und Zilog Z80 wieder in Assembler.
Längere Zeit mit Forth und einem selbstentwickelten Interpreter für Versuche mit Robotern.
In Forth habe ich damals intensiv an der Echtzeitfähigkeit mitgearbeitet.
Dann Pascal seit Turbopascal 1.0, damals noch unter CP/M.
Eine Revolution in der Programmierung.
Hier habe ich einige große Programme für die landwirtschaftliche Forschung geschrieben.
C++ ausprobiert aber schnell gelassen.
Dann seit Delphi 1.0 nur noch in Delphi.
Jetzt z.B. gerade fertig geworden, die komplette Leitwartensteuerung Klima für einen Reinstraumbetrieb. Übrigens komplett in Delphi.
Step5, Step7 und structurierter Text im SPS Bereich. Hier laufen noch einige Steuerungen bei der BASF.

Ich habe halt eine Menge Programmiersprachen kommen und gehen gesehen.
Man konnte jeder mehr oder weniger Charm abgewinnen und wenn etwas besseres kam, dann habe ich halt gewechselt.

Jetzt zum Beispiel geht Delphi und C# und Net kommen.


Gruß
Peter

mkinzler 15. Jan 2007 19:21

Re: With Class1, Class2 do
 
@Peter: Irgendwie finde ich es befremdlich, daß jeder Thread in dem du schreibst am Ende in einen Anti-Delphi "Hoche-Lebe" c# Thread wird. Es ging hier um die Frage, ob man with verwenden solle. Vor kurzem ging es um die Sprache D und immer wird dann eine Delphi-Besser-Nicht-Diskussion

smudo 16. Jan 2007 11:19

Re: With Class1, Class2 do
 
Zitat:

Zitat von hanspeter
Willst du das wirklich wissen?

:? eigentlich nicht, aber jetzt: Respekt :thumb: (und das meine ich wirklich ernst)

Nur hat die Formulierung deiner Aussage, du weißt schon, die mit dem "hochgrat(d)ig kaputten Konstrukt" nicht auf jemanden mit solchem Wissen schließen lassen. Also sorry für die etwas ironische Fragestellung meinerseits.

Edit: Quote vergessen :wall:


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