![]() |
512 TImages - 1 OnClick Event
Hi,
ich habe eine Matrix von 512 TImages, die alle auf eine OnClick Prozedur verweisen. In dieser Prozedur soll dann quasi sowas ablaufen: DasGeklickteImage[Nr-XY].Picture:= NeuesBild.Picture; Also quasi soll nur das TImage auf das geklickt wurde geändert werden. Für jedes eine eigene Prozedur machen ist mir jetzt gerade auch zu blöd ^.^ Ich habe keine Ahnung wie das funktionieren soll, denn mit "Sender.Picture" geht es nicht, weil Sender vom Typ TObject ist.. Das ganze brauche ich btw für ![]() |
Re: 512 TImages - 1 OnClick Event
Delphi-Quellcode:
oder besser
with sender as TImage do
begin Picture := NeuesBild.Picture; end;
Delphi-Quellcode:
var
Image: TImage; begin Image := Sender as TImage; Image.Picture := NeuesBild.Picture; |
Re: 512 TImages - 1 OnClick Event
Was ist mit TImage(Sender).Picture ?
|
Re: 512 TImages - 1 OnClick Event
Ehrlich gesagt würde ich mal überlegen ob mal wirklich 512 TImages braucht und nicht nur 1.
P.S. geiler Würfel :-D |
Re: 512 TImages - 1 OnClick Event
Vielen Dank funktioniert soweit :thumb:
|
Re: 512 TImages - 1 OnClick Event
Zitat:
Wenn im obigen Beispiel (durch irgendeinen Zufall) Sender mal kein Image ist, so würde
Delphi-Quellcode:
einen Konvertierungsfehler melden.
(Sender AS TImage).Picture
Delphi-Quellcode:
hingegen wirft meines Erachtens eine AV und ist somit nicht soooo schnell zu durchschauen.
TImage(Sender).Picture
Ganz sicher geht man, wenn man vorher noch auf
Delphi-Quellcode:
prüft.
if (Sender IS TImage) then
|
Re: 512 TImages - 1 OnClick Event
Der Würfel gefällt mir auch extrem gut! Jedoch gefallen mir 512 Images arg wenig... Hier wäre es sicherlich sinnvoll ein einzelnes Image mit einem Bild zu nehmen, das die 512 Elemente rein visuell klar macht. Aus den geklickten Koordinaten lässt sich dann leicht wieder ein Index machen, über den deutlich ist welches Element geklickt wurde.
512 Images sind eine ziemliche Ressourcenverschwendung (Handles, GDI-Objekte und so krams stehen da hinter). |
Re: 512 TImages - 1 OnClick Event
512 Images... :shock:
Was machen dann die Leute die Werbeflächen mit 1000000 und mehr LED's programieren ? :mrgreen: ;) Zitat:
PS.: Wie wird denn der Würfel angesteuert ? |
Re: 512 TImages - 1 OnClick Event
Zitat:
Werbeflächen sind 2D, ich gehe mal davon aus, dass in diesem Fall Checkboxen reichen würden (allerdings kann man die hier sehr schlecht ablesen wenn die versetzt bzw. Pseudo-3D angeordnet sind - ich benutze auch nur Images weil ich wirklich absolut keine und wirklich keine Ahnung von OpenGL hab). Zitat:
![]() und der hat eine richtig gute Firmware für einen Mikrocontroller namens "Etherrape" geschrieben. Ein wirklich guter MC, lässt sich per LAN, Serial Port oder Infrarot ansteuern. Die Firmware haben wir jetzt einfach übernommen, weil... 1) Die funktioniert einfach 2) Es ist eine verdammt miese Arbeit den Support für IP und ICMP auf Bitübertragungsebene zu programmieren 3) In Delphi bin ich im vergleich zu C ein Meister :lol: Verbesserungsmöglichkeiten haben wir als Elektrotechniker auch schon reichlich entdeckt und daran wird nun aktiv gearbeitet.. 1) Dekoder aus Schieberegistern (mittlerweile gibt es den auch schon ![]() 2) Die Transistoren haben eine Sättigungsspannung von 0,5V - bei 3 Transistoren die für eine LED gebraucht werden sind das 1,5V und das ist einfach zu hoch (gibt schließlich auch welche mit 0,1V) 3) Die Transistoren die die Ebenen durchschalten sollten eigentlich PNP Transistoren sein 4) Ansteuerung der Schieberegister über den Bus Ausgang statt über einen normalen Ausgangsport - wäre wesentlich einfacher weil das Clocksignal selbst erzeugt würde etc. Das Wunschziel ist eine Spektrum-Anzeige per Winamp. Wenn alles fertig ist gibt's ne ausführliche Dokumentation inkl. Source Codes :wink: |
Re: 512 TImages - 1 OnClick Event
Liste der Anhänge anzeigen (Anzahl: 2)
So, das mit dem LED-Würfel ging mir nicht mehr aus dem Kopf.
Ein Project wie dieses ist schon mal grosse Klasse. Nun zur Darstellung und zur Ansteuerung der LED's. Die Idee mit den 512 ( 8 * 8 * 8 ;) ) Images ist nicht nur Unübersichtlich sondern auch Unpraktisch für das Händling. Ist es denn nicht besser nur jeweils ein 8*8 Feld anzeigen zu lassen um es zu "Bedienen" ? Im Anhang findest du ein Beispiel wie so etwas aussehen kann. Features sind:
Add:
|
Re: 512 TImages - 1 OnClick Event
Das ist doch mal so genial das Prog :love: need Source :mrgreen:
Ein fettes, fettes thx |
Re: 512 TImages - 1 OnClick Event
*Boah eyh* Respekt :thumb:
|
Re: 512 TImages - 1 OnClick Event
Ich muss mal noch was umtütteln, dann kommt noch mal ein "last Upload"...
// Edit: done. |
Re: 512 TImages - 1 OnClick Event
Zitat:
|
Re: 512 TImages - 1 OnClick Event
Jo, das rockt...
Ich denke es würd sich lohnen dafür noch mal nen eigenen Threat auf zumachen.. ,-) Echt cool Edit: Nur eins hast noch nicht beachtet was nicht schlecht währe: die benutzung von DirectX zum abspielen der MP3^^ (wie aus dem anderen thread von mir) aber das kommt ja bestimmt bald^^ |
Re: 512 TImages - 1 OnClick Event
* delete *
|
Re: 512 TImages - 1 OnClick Event
Zitat:
Zitat:
auf Kriegsfuss mit DirectX-Zeugs. Es scheint mir zu tippfreudig. :stupid: Leider muss ich zugeben das DX für Vista notwendig(er) wird. |
Re: 512 TImages - 1 OnClick Event
Ich glaub' das kann dir niemand sagen - nichtmal ich :zwinker:
Aber bisher konnte ich jedes Problem lösen, dank meinem ![]() |
Re: 512 TImages - 1 OnClick Event
Ich kenne den lieben Seim :) Wenn du den Sourcecode nicht in einer Zeile stehen hast und ein wenig kommentiert hast dann wird er damit umgehen können. Schließlich muss er ja auch die Ansteuerung zu unserm MC hinzufügen.
Und bei mir läuft das Programm auch unter Vista64 problemlos. Mensch ich hätte so viele Ideen für das Programm, kenn mich aber leider so gut wie garnicht mit Delfie aus. Ich weis noch nichtmal wie das geschrieben wird. Aber wenn interesse besteht dann schreib ich eine Liste :) |
Re: 512 TImages - 1 OnClick Event
Liste der Anhänge anzeigen (Anzahl: 1)
So, nun kommt das dicke Ende. Ein wirklich letztes Update.
( es sei denn ich fine noch einen dicken Bug ) - Die Visualisierung bei der Wiedergabe der Musike wurde verbesert - nur noch einen Timer im Programm an Stelle von 2en Ich habe fertig. |
Re: 512 TImages - 1 OnClick Event
Zitat:
Zitat:
|
Re: 512 TImages - 1 OnClick Event
Autorenfreiheit. :mrgreen:
Ist wohl nicht der letzte Schlechtschreibfehler. :gruebel: |
Re: 512 TImages - 1 OnClick Event
Man könnte es auch "kreativen Ausdruck" nennen :zwinker:
|
Re: 512 TImages - 1 OnClick Event
hab mal reingeschaut
und cool sieht voll geil aus das prog |
Re: 512 TImages - 1 OnClick Event
Liste der Anhänge anzeigen (Anzahl: 1)
So.. Cube fertig, Programm läuft demnächst mach ich ne Projektseite dazu ;)
![]() |
Re: 512 TImages - 1 OnClick Event
Falls du ne 2. Version planst von deinem CubeProjekt wollte ich paar Vorschläge machen was mir noch fehlt.
vllt könntest du die rotation des würfels ein bisschen der Musik anpassen und ihn noch etwas hüpfen lassen bei beats vllt kannst du ja den hintergrund auch noch irgendwie lebendig gestalten (ich hab kein plan wie schwer das is da meine Delphikenntnisse noch nicht mal einen Bruchteil deiner erreichen :) ) auf jeden fall is es auch so schon voll genial :-D PS.: da is noch nen Bug wenn man nen Lied zu ende abspielt dann kommt am ende ne Fehlermeldung und wenn man dann weitere Lieder abspielen will geht der Würfel nciht mehr nur nach neustart wieder (dies kommt immer) |
Re: 512 TImages - 1 OnClick Event
falls du auch so auf Portjagt bist, so wie der eine aus dem Link, welche du gepeostet hattest,
dann könntest du dir mal den U2097B ( ![]() ![]() ![]() Den IC selber wirst du nicht nutzen können, da er selber nur alle LEDs spannungsabhängig (am Eingang) der Reihe nach einschaltet, aber es ließen sich dennoch auch alle LEDs einzeln ansteuern (denk ich mal) ... also zum Prinzipabgucken isser bestimmt gut geeignet. :angel: Jo und cooles Teil, so'ne zweifarbige 12x12x12 Matrix würde mich schon reitzen, aber die Kosten alleine für die LEDs :shock: |
Re: 512 TImages - 1 OnClick Event
Das mit den Ports ist kein Problem die jetzigen Schieberegister brauchen gerademal 3 Ports am MC :thumb:
Die Temp. Projektseite.. naja ist mehr so eine grobe Beschreibung jedenfalls gibt's da die Software auch inkl. einem Emulator für den MC also wer ein bisschen spielen will: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 Uhr. |
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 by Thomas Breitkreuz