German Unterschiedliche Propertie-Werte bei Source auf Desktop und PPC

wbauer

Member
Licensed User
Longtime User
Habe ein komisches Verhalten. Im Source-Code auf der Desktop Umgebung habe ich ein Label definiert mit Width=70. Wenn ich den Sourcecode auf meinen PPC überspiele und dort die Properties des Labels öffne, dann steht Width=73!

:signOops:3 Pixel größer als auf dem Desktop Source.

Habe das Verhalten bei ALLEN Objekten. Überall ist bei Width ein Unterschied zwischen Desktop und PPC, aber nicht immer der gleiche Wert. Schwankt zwischen 1 und 3 Pixel. Die Werte von TOP, LEFT und HEIGHT sind aber immer alle korrekt!

Auch wenn ich auf dem Desktop eine EXE Version für den PPC kompiliere - sobald ich das EXE auf dem PPC ausführe, werden die Objekte mit unterschiedlicher Breite dargestellt.

Passiert das nur bei mir oder hat irgendwer auch das Problem?:sign0085:

Desktop: Windows XP Professional (Englisch) SP 3
PPC: HTC Touch Pro mit Windows Mobile 6.1 Professional (VGA)

Lg
Wolfgang
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Wolfgang,

Passiert das nur bei mir oder hat irgendwer auch das Problem?:sign0085:
Mit diesem Effekt hat sich leider jeder "herumzuschlagen". :sign0013:

Warum Microsoft die Darstellung der Objekte auf dem Desktop und dem Device (also im .Net und .Net CF) teilweise so unterschiedlich gemacht hat weiß ich auch nicht. Jedenfalls kommt es immer wieder zu kleinen Verschiebungen in den beiden Varianten.
I.d.R. lohnt es sich, das Layout eher auf die Device-Variante abzustimmen, es sei denn, Dein Programm soll ausschließlich Desktop laufen.


specci48
 

wbauer

Member
Licensed User
Longtime User
Ist der Fehler bei allen Devices immer gleich? Soll heissen, treten bei allen Devices immer die gleichen Abweichungen auf - oder sind die dann pro Device auch noch unterschiedlich?

Wäre für mich schlecht, weil ich Labels sehr eng aneinander setzen muss, die sich dann auf dem Device überlagern. Wenn ich nun auf dem Desktop die einzelnen Labels so ausrichten, dass sie auf MEINEM Device OK sind, passt das auch für allen anderen?
 

specci48

Well-Known Member
Licensed User
Longtime User
Ist der Fehler bei allen Devices immer gleich?
Nach meinem Kenntnisstand ist diese Abweichung (ein bewußter "Fehler" ist es sicherlich nicht) tatsächlich bei allen Devices identisch.
Falls Du dennoch ein wenig unsicher sein solltest, kannst Du ja mal ein Auszug aus Deinem Programm hier im Forum zum Download bereitstellen. Die eigentliche Funktionalität muss ja nicht dabei sein, aber so können wir gerne einmal einen Blick auf die Optik werfen, wenn wir das Layout auf unseren eigenen PPC's testen.
Ich bin sicher, die anderen User testen gerne mit... :)

Gruß
specci48
 

wbauer

Member
Licensed User
Longtime User
Mach ich gerne. Bin bald fertig für die 2. Version meines Portfolio-managers. Habe jetzt aber wirklich auf Datenbank statt XML Datenspeicherung umgestellt, weil's Projekt doch wieder größer geworden ist als ich mir gedacht habe.

Werde demnächst den Source hier reinstellen.

LG
Wolfgang
 

wbauer

Member
Licensed User
Longtime User
So - Version 2 meines Portfoliomanagers ist fertig. Da specci48 und klaus sich angeboten haben, das Layout meines Programms zwecks Kompatibilität auf den unterschiedlichen Devices zu testen, findet ihr hier den gesamten Code mit allen Sourcen.

Frage 1: Wie sieht das Layout bei euch aus - überlagern sich die Labels, sodass Texte abgeschnitten aussehen? Sind die Graphiken (beim Refresh und die + Symbole zur Definition neuer Aktien) sauber dargestellt oder haben sie einen weissen Rand?

Habe euch einen Screenshot des Programms von meinem HTC Touch Pro (VGA Display) eingefügt. Bei mir schaut es nicht schlecht aus.

Frage 2: Wie gefällt euch das Programm insgesamt? Sind die Funktionen des Programms verständlich und einfach zu bedienen? Jeglicher Verbesserungsvorschlag ist willkommen.

Ziel des Programms: Verwaltung von Aktien mit Aktualisierung der Daten über das Internet.

Menü "Portfolio Manager" - "Stocks" - "Refresh all": Aktualisiert die bis zu 5 Aktien eines Portfolios über das Internet

Menü "Portfolio Manager" - "Add new": Anlage eines neuen Portfolios, mit dem wieder 5 Aktien verwaltet werden können. Über das Feld "Position" kann definiert werden, an welcher Stelle das aktuelle Portfolio in der Reihenfolge eingefügt wird (Position kann derzeit noch nicht nachträglich verändert werden - das kommt in der nächsten Version)

Menü "Portfolio Manager" - "Delete current": Löscht das aktuelle Portfolio und alle darin angeführten Aktien

Menü "Portfolio Manager" - "Preferences": Einstellmöglichkeit des HTTP Timeouts in Sekunden. Wenn nach X Sekunden keine Antwort des Webservice kommt, dann wird die Aktualisierung des Aktie abgebrochen

Hauptfenster: Mittels < und > kann man zwischen den angelegten Portfolios wechseln. Dazwischen steht der Name des Portfolios.

Dann folgen 5 Zeilen für die Aktien. Jede Aktie besteht wieder aus 3 Zeilen

1. Zeile :
Symbolname (z.B. MSFT ... für Microsoft oder RIBH.VI für Raiffeisen International - gehandelt an der Wiener Börse (VI)) Über diesen Symbolnamen werden die restlichen Daten der Aktien aus einem Webservice ermittelt. Unter finance.yahoo.com kann man die entsprechenden Symbole für andere Aktien ermitteln.

Dann folgen die Felder:
Schlusskurs vom Vortag
Letzter aktueller Wert
Differenz zwischen Schlusskurs und letztem Wert
Differenz in %

Habe die Daten auf Anraten von Klaus größer gemacht - sind jetzt besser lesbar.

2. Zeile:
Name der Aktie und Datum des letzten Wertes

3. Zeile:
Wenn man die Aktie auch gekauft hat, dann werden hier die Werte berechnet.
Anzahl der gekauften Aktien, danach der Gesamtwert des Kaufs und der aktuelle Gesamtwert. Danach wieder die Abweichung zwischen den beiden Werten (Gewinn/Verlust) und die prozentuelle Abweichung

Am Ende des Hauptfensters werden die Gesamtwerte zusammengezählt.

Bei einer leeren Aktienzeile wird in der Mitte eine + Graphik angezeigt, mit der eine neue Aktie festgelegt werden kann. Dort kann auch die Anzahl der gekauften Aktien und der Kaufpreis eingegeben werden.

Jede der 5 Aktienzeile hat ein Contextmenü, mit dem man den aktuellen Wert dieser einen Aktie nachladen kann ("Refresh stock"), die bestehende Aktie wieder editieren kann ("Edit stock") aber auch löschen kann ("Delete stock").

Das ganze wird in einer SQLLite Datenbank abgespeichert. Das DB-Schema wird beim ersten Start des Programms automatisch erzeugt.

-----

In der nächsten Version kommt dann noch eine Alarmfunktion pro Aktie, wenn der aktuelle Wert gewisse Schwellwerte unter- oder überschreitet. Dann evt. noch ein zeitgesteuertes automatisches Refresh der Daten. Und dann möchte ich noch die Aktiengraphiken (Interday, Monat, ...) einbauen - da muss ich aber noch überlegen, wie ich das am besten mache (schließlich habe ich keinen Platz mehr in dem Portfoliofenster ;-)

Ausserdem baue ich die Contextmenus der 5 Aktienzeilen so um, wie Klaus in einem seiner letzten Threads gezeigt hat. (Danke Klaus für die Hilfestellungen)

Irgendwann baue ich noch einen Parser ein, mit dem aus beliebigen Finanzseiten die Werte gelesen werden können (z.B. für Fonds, Aktienindizes,...)

Bin gespannt auf eure Rückmeldungen.

LG Wolfgang
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Wolfgang,

auf die schnelle eine erste aber leider nicht 100% positive Rückmeldung.... :sign0013:
Im Anhang befinden sich zwei Snapshots von meinem Device. Auf der Hauptseite sind leider schwarze Trennstriche zwischen den einzelnen Textfeldern sichtbar. Auf Deinem Referenzbild waren diese Linien nicht zu sehen.
Ich verwende übrigens ein HP Device mit WM5 und .Net CF2.

Ansonsten stimmt die Optik. Ich würde allerdings die Namen der Menuepunkte kürzen, hier wird der Text doch deutlich abgeschnitten (siehe die angezeigten Punkte "...").
Weiterhin fände ich es persönlich besser, sämtliche Screens (z.B. den Spnap2.jpg) auch im Design der Hauptseite zu gestalten. Dann wirkt das Programm einheitlicher.

Das Handling habe ich nur kurz ausprobiert. Die Kurse konnten erfolgreich ermittelt werden, aber ich bin kein Aktienbesitzter (und auch kein Aktieninteressierter... ;)), daher kann ich sicherlich wenig zur inhaltlichen Verbesserung beitragen.


Gruß
specci48
 

Attachments

  • Snap1.JPG
    Snap1.JPG
    24.1 KB · Views: 322
  • Snap2.JPG
    Snap2.JPG
    17.1 KB · Views: 349

wbauer

Member
Licensed User
Longtime User
Hi specci48

danke für die rasche Antwort. Der Screenshot von dir sieht genauso aus wie bei mir am Desktop, wo ich die felder so verkürzt habe, dass sie dann auf meinem device korrekt aussehen.

was für eine bildschirmauflösung hat dein device? Evt. besteht ein Unterschied zwischen VGA Devices und "normalen" Devices?

Was für eine Lösung gibt es sonnst noch? Mir fällt jetzt nur noch ein, die labels durchsichtig zu machen und im Hintergrund ein durchgängiges farbiges Objekts zu legen. Kann man die Labels durchsichtig machen? Habe dazu keine Einstellung in den Properties gefunden.

Das mit den zu langen Menüs ist mir jetzt erst aufgefallen, auf dem Desktop wurden diese korrekt angezeigt. Da werde ich nochmals Hand anlegen müssen.

Die restlichen Forms werde ich später mal farblich anpassen, die sind jetzt nur minimalisitsch gestaltet, sodass sie nur ihre Funktionen erfüllen. Mir gings bei der Entwicklung vorerst um die Hauptseite, da am schwierigsten.

Danke für deine Anregungen und tests.

Wolfgang
 

specci48

Well-Known Member
Licensed User
Longtime User
was für eine bildschirmauflösung hat dein device?
QVGA, also 240x320.

Evt. besteht ein Unterschied zwischen VGA Devices und "normalen" Devices?
Zumindest in der Auflösung... ;)
Aber im Ernst: Ich meine mich daran zu erinnern, das QVGA-Programme auf VGA-Devices schon mehrfach mit "seltsamen" Darstellungseffekten zu kämpfen hatten. Häufig wird bei Programmen daher eine eigenständige VGA-Version angeboten, auch wenn sich Funktion und empfundenes Layout zur QVGA-Variante nicht unterscheiden.
Vielleicht hat ja jemand hier im Forum mit VGA-Device noch weitere Kenntnisse (oder Lösungsansätze) für dieses Verhalten. Einleuchtend ist es sicherlich nicht, warum das VGA-Device nicht einfach jeden Pixelwert mal zwei nimmt.


Gruß
specci48
 

klaus

Expert
Licensed User
Longtime User
Hallo Wolfgang,

Habe auch ein bisschen rumgespielt.

In den Screenshots siehst Du dass bei mir auf dem Desktop und dem Device auch die schwarzen Streifen drin sind.
- Habe die Breite Position der Labels für die 2 Ersten Aktien ein bisschen geändert und die FontSize der Labels der ersten Zeile von 9 auf 8 reduziert da die Angabe der Prozentänderung, rechts, nicht richtig angezeigt wurde, Screenshots DesktopN und DeviceN.
- Habe die 2 GIF Dateien direkt im IDE in die ImageList eingefügt, das hat den Vorteil dass die Bilder in der EXE Datei direkt mit eingebunden werden, und Du brauchst sie nicht extra auf das Device mit hinzu laden.

Die Menüeinträge sind auf meinem Gerät, Qtek 9090 WM 2003 240/320, nicht abgekürzt.

Ich bin auch kein Aktienspezialist und kann daher auch nichts zum Thema sagen.

Ein Vorschlag:
Für eine neue Aktie, wenn keine Angaben eingegeben sind und man auf 'Save and close' klickt wird eine leere Aktie erstellt, eine MessageBox wäre hier angebracht.

Durchsichtige Labels gibt es nicht.
Eine Möglichkeit gibt es, mit der ImageLibEx, direkt auf den Bisdschirm zu schreiben. Das hatte Ich im PocketWeather Programm, von digitaldon37, eingefügt. http://www.b4x.com/forum/open-source-projects/3323-pocket-weather.html Das Programm hat ein Hintergrundbild. Der erste Versuch war auf den Forelayer zu schreiben, leider ist da die Schrift auf VGA Bildschirmen nicht sauber, hat weisse Umrandungen. Dann haben wir direkt auf den Bildschirm geschrieben, da sieht es besser aus. Der Nachteil ist aber dass man das Hintergrundbild, für jede Änderung, neu laden muss. Auf dem Forelayer brauchte man bloss diesen zu löschen.

Filippo hat eine Library geschrieben die Labels transparent erscheinen lässt, mit dem gleichen Prinzip. http://www.b4x.com/forum/german-forum/3402-label-transparenz.html

Ansonsten finde Ich die Handhabung des Programms einfach und übersichtlich.

VGA Problem: Vielleicht hat das auch mit dem http://www.b4x.com/forum/bug-reports/3457-image-width-vga-device.html zu tun, Ich weis nicht ob dieses Problem auch für Labels existiert.
Ich nehme an dass Du ein VGA Gerät hast und mit Device(Force VGA) compilierst.
Eine Möglichkeit das zu umgehen ist Filippos ChangeToVGA Routine, die Du auch im PocketWeather Programm findest.
Wenn Du willst kann Ich sie mal in Dein Programm einbinden. Ist sicher einen Versuch wert.

Best Grüsse.
 
Last edited:
D

Deleted member 103

Guest
Hallo Wolfgang,

habe auch dein Programm ein bisschen getestet.

1) Die Schrift finde ich zu klein, vielleicht liegt es nur an meine Augen?
2) Die Label's zeigen nicht komplett die Info (siehe Screenshot).
3) Ich würde, mit der Hilfe einer Scrollbar oder eine Tabelle, alle Aktien in eine Seite anzeigen.

Ist aber nur meine Meinung. ;)

Ciao,
Filippo
 

wbauer

Member
Licensed User
Longtime User
Danke für eure Test und den Input - da habe ich wieder was zum nachdenken.

@Filippo: habe den Fehler bei dem label in der dritten Zeile leider erst nach dem Upload entdeckt, aber bereits korrigiert. (By the way: In deinem Screenshot versuchts du eine WKN Nummer abzufragen. Das von mir verwendete Webservice kann aber mit WKN Nummern nichts anfragen, daher auch die N/A Werte. Man muss die Stockbezeichnungen verwenden, mit denen man unter finance.yahoo.com nach Wertpapieren sucht)

@Klaus - danke für die ausführlichen Infos. Ich habe mich bei dem Layoutproblem entschieden, im Hintergrund einfach Polygone in der entsprechenden Farbe zu zeichnen und die Label darüber zu positionieren. Dadurch fällen "leere" Stellen zwischen den Labels nicht auf, weil von hinten das Polygon mit der gleichen Farbe durchscheint. Denke, dass das gut funktionieren wird.

Den Bug, dass bei einem neuen Stock bei Save eine neue AKtie gespeichert wird, obwohl keine Bezeichnung eingegeben wurde, habe ich gleich ausgebessert.

Die restlichen Empfehlungen muss ich mir mal in Ruhe ansehen, damit ich das auch wirklich "behirnene".

LG
Wolfgang
 
Top