Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   DigiSim - Ein Digitaler Simulator (https://www.delphipraxis.net/126620-digisim-ein-digitaler-simulator.html)

omata 29. Dez 2008 16:59


DigiSim - Ein Digitaler Simulator
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ich habe gerade einen digitalen Simulator fertiggestellt. Die Anwendung ist aus einer Spielerrei hervorgegangen. Vielleicht interessiert sich jemand dafür, deshalb veröffentliche ich ihn hier einfach mal.

BUG 29. Dez 2008 17:14

Re: DigiSim - Ein Digitaler Simulator
 
Lustige Sache :thumb:

Aber zwei Sachen sind mir aufgefallen:
  • Wenn ich mit der Maus über einen Ausgang komme, wird die Schaltung nicht mehr angezeigt.
  • Gibt es eine Möglichkeit nicht benötigte (einzelne) Bauteile wieder zu löschen?
MfG,
Bug

EDIT: Ich nutze Vista (siehe unten).

ConstantGardener 29. Dez 2008 17:17

Re: DigiSim - Ein Digitaler Simulator
 
Hallo omata,

nettes Teil. :thumb: Besonders interessant für Anfänger um Logische Verknüpfungen zu üben/zu durchschauen.

mfg cg

Die Muhkuh 29. Dez 2008 17:23

Re: DigiSim - Ein Digitaler Simulator
 
Der Bug mit der Maus über dem Ausgang scheint nur bei Vista so zu sein.

omata 29. Dez 2008 18:11

Re: DigiSim - Ein Digitaler Simulator
 
Vielen Dank für die Rückmeldungen :hi:

Zitat:

Zitat von BUG
Wenn ich mit der Maus über einen Ausgang komme, wird die Schaltung nicht mehr angezeigt.

Das ist komisch, ich verstehe nicht, was da bei Vista problematisch sein soll. Im MouseMove-Event lasse ich die Schaltung neu zeichnen :gruebel:

Zitat:

Zitat von BUG
Gibt es eine Möglichkeit nicht benötigte (einzelne) Bauteile wieder zu löschen?

Ja, Bauteil mit der linken Maustaste nehmen und in den linken Bereich ziehen und dort loslassen.

himitsu 4. Jan 2009 15:08

Re: DigiSim - Ein Digitaler Simulator
 
Liste der Anhänge anzeigen (Anzahl: 1)
Erstmal 'nen Lob, ist ganicht mal so schlecht geworden.

Aber eines solltest du (falls du dieses Projekt fortführen möchtest) besser mal machen ...
und zwar die "Bausteine" nicht statisch im Programm definieren und überall verstreut diese einzeln zu behandeln.

Besser wäre es die "Bauelemente" (deren Definition, Behandlung, Berechnung und das Zeichnen) dynamisch zu erstellen ... macht es leichter später mal was zu ändern und auch noch Neues zu definieren (gibt ja nicht nur diese Grundelemente).

Hatte mal vor vielen Jahren (bestimmt schon 9-10 Jahre :gruebel: ) selbst mal sowas versucht und ebenfalls (ok, wußte es damals auch nicht besser) alles überall, kreuz und quer fest programmiert in dem Programm und seiner Oberfläche verbaut.
Tja und als es anfing komplexer zu werden, war's aus, da ich einfach nicht mehr durchsah, was wie und wo passierte und ich somit die Fehler nicht mehr fand.


DigiComponents.pas
hier sind die Typendefinitionen und einige Grundfunktionen drin, sowie die Funktionen zur Speicherverwaltung

InternalComponents.pas
definiert die Komponenten
- nicht wundern, da sind 2 Versionen drin, aber mit dem selben Inhalt ... einmal direkt über die Grundfunktionen, ur speicherverwaltung und dann nochmal über 'ne Klasse, welche alles kapselt

Und ich hoff mal ich hab soweit keine "neuen" Fehler reingebaut, als ich alles für dich nochmal auf das "Grundlegende" reduziert hab (nur die von dir schon enthaltenen Bauelemente und nichts bezüglich Zoomen und sonstigen Größenänderungen in der Darstellung)

DC_GetMem/I_GetMem und DC_FreeMem/I_FreeMem sind eigentlich nur da, damit man später eventuelle Probleme ausschließen kann, welche z.B. beim Laden zusätzlicher Bauelemente (z.B. aus DLLs) bekommen könnte.

xZise 4. Jan 2009 15:30

Re: DigiSim - Ein Digitaler Simulator
 
Dem muss ich beiflichten. Mein Editor für DrawBall war zuerst ziemlich statisch (siehe hier im Forum), aber jetzt habe ich einfach eine Oberklasse und dann für besondere Objekte (z.B. Türen, da sie zwei Stati/Status ^^ annehmen können) Unterklassen. Nudn habe ich mich mit deinem Thema noch nicht so beschäftigt, und kann deshalb nicht sagen wie man das bei dir am besten macht (aber himitsu hat ja einen Ansatz).

Btw himitsu:
Zitat:

Zitat von himitsu
Erstmal 'nen Log,[...]

Ist das ein "Programmierergag" statt Lob Log zu sagen ^^ Oder einfach nur ein paar Zentimeter zu hoch :)

Aber ansonsten habe ich hier (Windows Vista Home Premium x64) das Problem mit dem Ausgang. Warum genau kann ich dabei nicht sagen. Was interessant ist, dass bei Raufziehen des Ausgangs es zuerst nicht weg war, aber nach ... 100px (?) war alles weg. ging man unter die Grenze zurück war alles in Ordnung.

MfG
xZise

DP-Maintenance 4. Jan 2009 16:08

DP-Maintenance
 
Dieses Thema wurde von "fkerber" von "Open-Source" nach "Freeware" verschoben.
auf Wunsch des Autors verschoben

omata 4. Jan 2009 16:11

Re: DigiSim - Ein Digitaler Simulator
 
Vielen Dank für diese Kommentare. Ich werde meinen Quellcode ab jetzt für mich behalten.

xZise 4. Jan 2009 17:47

Re: DigiSim - Ein Digitaler Simulator
 
Haben wir dich verärgert oder woher kommt der Sinneswandel?

MfG
xZise


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