AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte mal wieder 'ne Uhr
Thema durchsuchen
Ansicht
Themen-Optionen

mal wieder 'ne Uhr

Ein Thema von markus5766h · begonnen am 20. Mär 2016 · letzter Beitrag vom 22. Mär 2016
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: mal wieder 'ne Uhr

  Alt 21. Mär 2016, 14:46
Hab dein Projekt geöffnet und es sieht bei mir so aus (siehe Anhang).
Das einzige was ich geändert hab ist, dass ich die Images testweise transparent gemacht habe, aber darum gehts nicht.

Das Bild reicht in Image10 und 11 reicht nur bis zur vorletzten Ziffer und du schneidest im FormShow auch an der roten Linie ab,
weswegen zur Laufzeit die letzte Ziffer nicht zu sehen ist.
Miniaturansicht angehängter Grafiken
uhrfehler.png  
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#2

AW: mal wieder 'ne Uhr

  Alt 21. Mär 2016, 15:26
Die Bitmaps in den Images haben die korrekte Größe,
die TImages sind nach dem Öffnen wohl vergrößert, warum auch immer . . .
Das kann ich nicht nachvollziehen, auch nicht mit den heruntergeladenen Archiven
--> siehe Anhang :
Archiv runtergeladen, in Delphi geöffnet, keine Sizing-Probleme
Miniaturansicht angehängter Grafiken
download.jpg  
Markus H.

Geändert von markus5766h (21. Mär 2016 um 15:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: mal wieder 'ne Uhr

  Alt 21. Mär 2016, 15:30
Die Bitmaps in den Images haben die korrekte Größe,
die TImages sind nach dem Öffnen wohl vergrößert, warum auch immer . . .
Das kann ich nicht nachvollziehen, auch nicht mit den heruntergeladenen Archiven.
Mein Screenshot ist ein Screenshot aus Delphi (siehe Timer und Imagelist Komponenten)!
Das ist kein Laufzeitfehler. Dein Formular IST so gebaut.
Die Image-Komponenten sind zu groß bzw. zu weit auseinander.

Mit deinem hochgeladenen Code/Formular KANN nicht das herauskommen was du oben auf deinen Screenshots zeigst!
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
982 Beiträge
 
Delphi 6 Professional
 
#4

AW: mal wieder 'ne Uhr

  Alt 21. Mär 2016, 15:30
Hmm..

mit der hochgeladenen Version passt das mit der Breite bei mir, habe hier nur die fixe Breite und Höhe ersetzt:

Delphi-Quellcode:
  frmMain.ClientWidth := Image11.Width;
  frmMain.ClientHeight := Image11.Height + Image11.Top;
Kann das mit der ImageList in Verbindung mit der Skalierung unter Windows zusammenhängen?


Verbesserungsvorschläge:

Ich würde nur die Ziffern austauschen/neuzeichnen, welche sich seit der letzten Aktualisierung 'wirklich' verändert haben, dadurch flackert es nicht so.

Auch würde ich für den Hintergrund nicht mehrere einzelne Images nutzen, sondern eines, welches zu Begin einmal komplett mit den Dots gemalt wird.

Auch würde ich die Zahlen nicht komplett aus einer Image-List holen, sondern diese als Matrix mit einem 'Dot'-Image (eins je Farbe + Hintergrund) zusammen malen

Hier bräuchte man sogar nur die Dots zu malen, welche sich ändern.

Geändert von HolgerX (21. Mär 2016 um 15:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#5

AW: mal wieder 'ne Uhr

  Alt 21. Mär 2016, 15:34
... Ich würde nur die Ziffern austauschen/neuzeichnen, welche sich seit der letzten Aktualisierung 'wirklich' verändert haben, dadurch flackert es nicht so.

Auch würde ich für den Hintergrund nicht mehrere einzelne Images nutzen, sondern eines, welches zu Begin einmal komplett mit den Dots gemalt wird.

Auch würde ich die Zahlen nicht komplett aus einer Image-List holen, sondern diese als Matrix mit einem 'Dot'-Image (eins je Farbe + Hintergrund) zusammen malen

Hier bräuchte man sogar nur die Dots zu malen, welche sich ändern.
siehe Post #5 --> genau das hab' ich noch vor, allerdings will ich erst einen ganzen Zeichensatz generieren (Matrix als Array).
Markus H.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: mal wieder 'ne Uhr

  Alt 21. Mär 2016, 15:35
Hmm..

mit der hochgeladenen Version passt das mit der Breite bei mir, habe hier nur die fixe Breite und Höhe ersetzt:
Delphi-Quellcode:
  frmMain.ClientWidth := Image11.Width;
  frmMain.ClientHeight := Image11.Height + Image11.Top;
Kann das mit der ImageList in Verbindung mit der Skalierung unter Windows zusammenhängen?
Also bei mir sieht es mit deiner Änderung immer noch so aus: (siehe Anhang)
Habe eine 100% Skalierung in Windows eingestellt.

Edit: Auch mit einer 125% Skalierung (laut Windows Standard) sieht es bei mir immer noch aus wie im Anhang abgebildet.
Miniaturansicht angehängter Grafiken
uhrfehler2.png  
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (21. Mär 2016 um 15:40 Uhr)
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
982 Beiträge
 
Delphi 6 Professional
 
#7

AW: mal wieder 'ne Uhr

  Alt 21. Mär 2016, 15:43
Hmm..

@Neutral General
Bei mir mit Delphi6 sieht es aus wie es soll..
Keine Lücken zwischen den Images und die Größen passen..

Somit kann zumindest ich hier nicht weiterhelfen, was zum Verschieben der Images oder Verkleinern der angezeigten itmaps führt..
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#8

AW: mal wieder 'ne Uhr

  Alt 21. Mär 2016, 16:07
Hab' mir eben noch mal die *.dfm angesehen :
die Images sind da, wo sie hin gehören, lässt sich leicht nachrechnen.
Markus H.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: mal wieder 'ne Uhr

  Alt 21. Mär 2016, 16:18
Hab' mir eben noch mal die *.dfm angesehen :
die Images sind da, wo sie hin gehören, lässt sich leicht nachrechnen.
Ok img1 ist die erste Ziffer:
Zitat:
img1.Left = 20
img1.Width = 98
img1.Picture.Bitmap.Width = 80
img1.Stretch = false
img1.Autosize = false
rechts daneben ist "Image1", eine Trennspalte zwischen der ersten und 2. Ziffer.
Zitat:
Image1.Left = 118
und rein rechnerisch (!) ist da eine 18 Pixel große Lücke zwischen der ersten Ziffer und der Trennspalte zwischen erster und zweiter Ziffer.
Und diese Lücke ist auch sowohl im Form-Designer als auch zur Laufzeit deutlich zu sehen wie du auf den Screenshots hier sehen kannst.

Es KANN so also gar nicht stimmen.
Benutze zum Testen Windows 7 und Delphi 7. Windows-Skalierung: 100%


EDIT: Okay ich muss das ein oder andere zurücknehmen.
Wenn ich deinen Code runterlade hat img1 eine Breite von 80 Pixeln (statt 98) und img1.Left ist 18 und nicht 20.
Sobald ich das Projekt aber in Delphi 7 öffne steht Left = 20 und Width = 98 drin.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (21. Mär 2016 um 16:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#10

AW: mal wieder 'ne Uhr

  Alt 21. Mär 2016, 16:31
. . .
Wenn ich deinen Code runterlade hat img1 eine Breite von 80 Pixeln (statt 98) und img1.Left ist 18 und nicht 20.
Sobald ich das Projekt aber in Delphi 7 öffne steht Left = 20 und Width = 98 drin.
img1.Left muss aber 16 sein, alle Größen und Positionen sind durch 16 teilbar, da die Ursprungsgrafik eine LED
in den Abmessungen 16*16 Pixel war.
Markus H.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:34 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-2025 by Thomas Breitkreuz