AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

512 TImages - 1 OnClick Event

Ein Thema von seim · begonnen am 21. Okt 2008 · letzter Beitrag vom 17. Feb 2009
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von seim
seim

Registriert seit: 11. Nov 2007
83 Beiträge
 
#1

512 TImages - 1 OnClick Event

  Alt 21. Okt 2008, 15:03
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 dieses Projekt
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#2

Re: 512 TImages - 1 OnClick Event

  Alt 21. Okt 2008, 15:05
Delphi-Quellcode:
with sender as TImage do
begin
  Picture := NeuesBild.Picture;
end;
oder besser

Delphi-Quellcode:
var
  Image: TImage;
begin
   Image := Sender as TImage;
   Image.Picture := NeuesBild.Picture;
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: 512 TImages - 1 OnClick Event

  Alt 21. Okt 2008, 15:05
Was ist mit TImage(Sender).Picture ?
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

Re: 512 TImages - 1 OnClick Event

  Alt 21. Okt 2008, 15:11
Ehrlich gesagt würde ich mal überlegen ob mal wirklich 512 TImages braucht und nicht nur 1.

P.S. geiler Würfel
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von seim
seim

Registriert seit: 11. Nov 2007
83 Beiträge
 
#5

Re: 512 TImages - 1 OnClick Event

  Alt 21. Okt 2008, 15:37
Vielen Dank funktioniert soweit
  Mit Zitat antworten Zitat
Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: 512 TImages - 1 OnClick Event

  Alt 21. Okt 2008, 16:16
Zitat von TUX_der_Pinguin:
Was ist mit TImage(Sender).Picture ?
In diesem Projekt durchaus möglich, ansonsten ist imo TClass(Referenz) immer ein bedingungsloses Casten ohne Typenprüfung zur Laufzeit.

Wenn im obigen Beispiel (durch irgendeinen Zufall) Sender mal kein Image ist, so würde

(Sender AS TImage).Picture einen Konvertierungsfehler melden.

TImage(Sender).Picture hingegen wirft meines Erachtens eine AV und ist somit nicht soooo schnell zu durchschauen.

Ganz sicher geht man, wenn man vorher noch auf

if (Sender IS TImage) then prüft.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: 512 TImages - 1 OnClick Event

  Alt 21. Okt 2008, 16:42
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).
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#8

Re: 512 TImages - 1 OnClick Event

  Alt 21. Okt 2008, 17:05
512 Images...

Was machen dann die Leute die Werbeflächen mit 1000000 und mehr LED's programieren ?


Zitat von Medium:
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).
dito.


PS.: Wie wird denn der Würfel angesteuert ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von seim
seim

Registriert seit: 11. Nov 2007
83 Beiträge
 
#9

Re: 512 TImages - 1 OnClick Event

  Alt 21. Okt 2008, 18:06
Zitat von turboPASCAL:
Was machen dann die Leute die Werbeflächen mit 1000000 und mehr LED's programieren ?
Wahrscheinlich das gleiche wie Eizo oder sonstwer bei jedem TFT.. An die Grafikkarte anschließen und eine Anwendung Fullscreen laufen lassen
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:
Wie wird denn der Würfel angesteuert ?
Es gab schon jemanden vor uns der sich an einen Würfel gewagt hat.. http://bralug.de/wiki/3D-LED-Display
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
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 hier)
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
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

Re: 512 TImages - 1 OnClick Event

  Alt 22. Okt 2008, 02:32
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:
  • - (pseudo) Ansteurerung von 512 LED's
    - Darstellung in 2D
    - Darstellung in 3D (OpenGL)
    - Darstellung in 3D im Quellcode zu- oder abschaltbar
    - Speicherfunktion von LED-Layouts
    - Ladefunktion von LED-Layouts
    - Anzeige der Anzahl der aktiven LED's
    - Mit einem Klck gehts zur Homepage
    - Top Layoutdesign
    - und ähhh den Rest hab ich vergessen...

Add:
  • - Sound play
    - Rechtsklick auf OpenGL-Quader für Popupmenu
    - kleinen Fehler beseitigt
    - und vill. noch mehr...
Miniaturansicht angehängter Grafiken
screenshot_206.jpg  
Angehängte Dateien
Dateityp: zip binary_147.zip (328,6 KB, 110x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:50 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