 |
| |
|
|
 |
Autor |
Nachricht |
 |
| |
| Prototypjack |
#1| Verfasst am: 13.07.2007, 17:30 Titel: TACredits, scrolling Unicode & Smart-Tag capable Credits |
 |
 |
 |
|
aktives Mitglied Alter: 20 Status: offline Beiträge: 573 angemeldet: 02.02.2003 Wohnort: Graz Delphi 2009 Professional

|
Moin DP,
Wow, ein denkwürdiger Moment! Denn dies ist nicht nur meine erste Veröffentlichung sondern auch meine erste visuelle Komponente überhaupt!
TACredits
Copyright (c) 2007-2008 by Maximilian Sachs
Ok, los geht's mit der Beschreibung:
Was ist das?
Diese Komponente kann einen (Unicode) Text anzeigen und diese gegebenenfalls von Oben nach Unten oder umgekehrt fließen lassen. Dabei gibt es einige Schmankerl, wie zum Beispiel die BB-Tags, SmoothLines und das Dragging. Einzelnes dazu folgt weiter unten.
Die Komponente ist eigentlich aus der Laune entstanden so etwas wie die Credits in Filmen (am Ende) auch im eigenen Programm zu haben. Auf diese Idee ist doch bestimmt schon wer gekommen? Ja, in der Tat, doch ich wollte mehr, freie Formatierungen, schöne Enden (Smoothlines) und einige andere Funktionen.
Features
- Animation möglich (Freie Wahl der Richtung möglich (Direction).
- Unicode-Fähig
- Unterstützung von "Smart-Tags", näheres dazu im folgenden Abschnitt ("Smart-Tags?")
- Hintergrundfarbe wählbar
- Hintergrundbild einstellbar (Hintergrundfarbe wird hierbei ignoriert)
- Rahmen anzeigbar und Farbe anpassbar
- Animation kann, wenn sich die Maus über dem Credits-Feld befindet, angehalten werden (StopAnimationOnMouseOver)
- "Dragging", aktivierbar. Text kann manuell verschoben werden (EnableDragging)
- TextOffset setzbar, wie weit soll der Text vom Rand entfernt sein? (TextOffset)
- TextAligment setzbar. Zentriert, Rechts oder Links. (TextAlign)
- Aktivierbare "SmoothLines", näheres weiter unter im Abschnitt "Smooth-Lines?"
Smart-Tags?
Beschreibung
Smart-Tags sind in etwa mit den verbreiteten BB-Code Tags vergleichbar. Diese finden vor allem ihren Weg in diverse Foren, wie auch in dieses hier. Die Tags sind allgemein Case-Insensitive. Es macht also keinen Unterschied, ob man "[anchor]", oder "[AnChor]" schreibt!
Welche Tags werden unterstützt?
Code: | zusammenfalten | markieren | 1 · · · 5 · · · · 10 · · · · 15 · · · · 20 · · · · 25 · · · · 30 · · · · 35 · · · · 40 · · · · 45 · · · · 50 · · · · 55 · · · · 60 61
| Bold-Tags
Bold-Tag Syntax:
[b]TEXT[/b]
Funktion: Text wird fett dargestellt.
StrikeOut-Tags
StrikeOut-Tag Syntax:
[s]TEXT[/s]
Funktion: Text wird durchgestrichen dargestellt.
Italic-Tags
Italic-Tag Syntax:
[i]TEXT[/i]
Funktion: Text wird kursiv dargestellt.
Underline-Tags
Underline-Tag Syntax:
[u]TEXT[/u]
Funktion: Text wird unterstrichen dargestellt.
Color-Tags
Color-Tag Syntax:
[color="clRed"]TEXT[/color]
[color="$000000FF"]TEXT[/color]
[color="#FF0000"]TEXT[/color]
Funktion: Text wird in der angegebenen Farbe dargestellt.
Font-Tags
Font-Tag Syntax:
[font="Verdana"]TEXT[/font]
Funktion: Text wird in der angegebenen Schriftart dargestellt.
Size-Tags
Size-Tag Syntax:
[size="8"]TEXT[/size]
Funktion: Text wird in der angegebenen Größe dargestellt.
Url-Tags
Url-Tag Syntax:
[url="http://www.google.com"]TEXT[/url]
Funktion: Text wird anklickbar als Link dargestellt. Die Genaue Erscheinung kann im Parameter "LinkFont" verändert werden.
Anchor-Tags
Anchor-Tag Syntax:
[anchor="test"]TEXT[/anchor]
Funktion: Wenn ein Anchor angeklickt wird, wird ein Event (OnAnchorClicked) aufgrufen, zusammen mit dem, in einem WideString/String verstautem, Argument. Wie bei dem Url Tag kann auch hier die genaue Erscheinung mit dem Parameter "AnchorFont" angepasst werden.
Row-Tags
Row-Tag Syntax
[row="50"]
Funktion: Ein horizontaler Strich mit der angegebenen Länge (in Pixeln) wird erzeugt.
Image-Tags
Image-Tag Syntax
[img="0"]
Funktion: Ein Bild aus der angegebenen Imagelist (mit dem angegebenen Index) wird dargestellt.
Offset-Tags
Offset-Tag Syntax
[Offset="12"]
Funktion: Der nachfolgende Text wird, ungeachtet der Textausrichtung, N-Pixel entfernt vom rechten Rand dargestellt. |
|
Smooth-Lines?
Smooth-Lines sind einfach nur "weiche"-Enden. Sie können entweder Oben oder Unten oder auf beiden Siten angezeigt werden. Natürlich kann auch hier die Länge näher spezifiziert werden (SmoothBottom und SmoothTop). Sie erzeugen ihrer Länge nach einen weichen Abgang des Textes in das Hintergrundbild oder in die Hintergrundfarbe.
Lizenz - oder das "Kleingedruckte"
Die ganze Komponente steht unter der Mozilla Public License, Version 1.1. Näheres dazu erfährt man entweder direkt durch die Lizenz ( hier), oder durch eine unverbindliche Erklärung durch DSDT.info, am Beispiel der JEDIs ( hier).
Ich persönlich finde die Lizenz nicht zu aufdringlich und sehr angenehm für beide Seiten.
Allgemeines, Part 2
Erstellt und getestet wurde die Komponente mit dem BDS 2006 Prof. Ab Version 1.1 RC1 ist sie ebenfalls auf Delphi 7 und BDS 2005 getestet und für lauffähig befunden! Es sind mir momentan keine Fehler bekannt. Solltet Ihr welche finden, so teilt mir diese bitte mit (ich freue mich auch über Lösungsvorschläge oder vielleicht fertige Ansätze!).
Sollte die Komponente den Weg in eure Programme finden, so freue ich mich natürlich immer über eine Mail oder eine PM.
Roadmap
- Version X
- Listen-Tags
- Tabulator Unterstützung
- [Sleep] Tag (Anhalten, entweder wenn Bottom, Center oder Top zu trifft)
Versionen
- Ab heute (25.01.2009) ist auch eine Doppellizenz inkludiert. Es kann entweder die MPL, oder die LGPL genutzt werden.
- Version 1.2 RC1, released on 2008-04-27
[Added]PNG-Support and Foreground Images (by Sko)
- Version 1.1 RC2, released on 2008-03-30
[Fixed]Memory Leaks
- Version 1.1 RC1, released on 2007-08-11
[Fixed]Cursor-Bug (Thx to DGL-Luke!)
[Added]Complete documentation
[Fixed]Values are now "<0"-safe.
[Added]Compatibility to Delphi7 and BDS 2005.
[Fixed][color]-tag ignored Hex-Values.
[Fixed]Several scrolling-issues.
[Added]MinHeight/MinWidth
[Added][Row]-Tag, [Img]-Tag, [Offset]-Tag
[Added]Unicode can be disabled via compiler-switch.
- Version 1.1 Alpha 2, released on 2007-07-20
[Fixed] Smooth-Line Bug
[Added] PopUp-Menu, Anchors, Alignment, ParentShowHint
[Changed] CreditsFont -> Font, BackgroundColor -> Color
- Version 1, released on 2007-07-13
First Release
Vorsicht: Bei älteren Versionen kann es vorkommen, dass Eigenschaften verändert und/oder entfernt wurden. Deshalb sollte der Inhalt der Komponente temporär gespeichert werden (in einer Text-Datei z.B.), dann die alte Version deinstalliert und erst dann die neue installiert werden. So können etwaige Probleme und Datenverlust vermieden werden! (Daran bin nicht ich Schuld, das ist immer so, wenn man Properties verändert)
Abschließen will ich noch mit einem kleinen Screenshot, der aus einem meiner anderen Projekte stammt und bereits diese Komponente verwendet. Dieser Screenshot zeigt recht gut was damit möglich ist und in wie fern man sie verwenden könnte.
Grüße und bitte Feedback (es ist ja schließlich mein erster Versuch )
Max |
| [ An diesen Beitrag wurden eine oder mehrere Dateien angehängt. Zum Herunterladen bitte anmelden. ] |
 „If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
Zuletzt bearbeitet von Prototypjack am 25.01.2009, 10:18, insgesamt 16-mal bearbeitet. |
 |
|
|
|
| |
| halinchen |
#2| Verfasst am: 15.07.2007, 14:49 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
"Rüsselmops" ;-) Alter: 17 Status: offline Beiträge: 491 angemeldet: 13.06.2006 Delphi 2007 Professional

|
Ich kann die nicht kompilieren.
| Code: | markieren | [Fehler] credits.pas(195): E2147 Eigenschaft 'OnMouseEnter' existiert nicht in Basisklasse
[Fehler] credits.pas(196): E2147 Eigenschaft 'OnMouseLeave' existiert nicht in Basisklasse
[Fehler] credits.pas(1349): E2130 Lesen einer Nur-Schreiben-Eigenschaft nicht möglich
[Fehler] credits.pas(1388): E2130 Lesen einer Nur-Schreiben-Eigenschaft nicht möglich
[Fehler] credits.pas(1390): E2130 Lesen einer Nur-Schreiben-Eigenschaft nicht möglich
[Fehler] credits.pas(1409): E2130 Lesen einer Nur-Schreiben-Eigenschaft nicht möglich
[Fehler] credits.pas(1411): E2130 Lesen einer Nur-Schreiben-Eigenschaft nicht möglich
[Fataler Fehler] TACredits.dpk(32): F2063 Verwendete Unit 'credits.pas' kann nicht compiliert werden |
|
Ich nutze Delphi 2005. Der Screenshot sieht aber schonmal gut aus. |
|
 |
|
|
|
| |
| Prototypjack |
#3| Verfasst am: 15.07.2007, 15:06 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
aktives Mitglied Alter: 20 Status: offline Beiträge: 573 angemeldet: 02.02.2003 Wohnort: Graz Delphi 2009 Professional

|
Moin,
Holla, das hatte ich nicht bedacht. Nun sollte es funktionieren!
Grüße,
Max |
 „If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds |
 |
|
|
|
| |
| halinchen |
#4| Verfasst am: 15.07.2007, 15:34 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
"Rüsselmops" ;-) Alter: 17 Status: offline Beiträge: 491 angemeldet: 13.06.2006 Delphi 2007 Professional

|
Jetzt lässt es sich kompilieren, aber:
- Beim Starten eines neuen Projekts kommen nur Laufzeitfehler (bei Zeile 629)
- Wenn ich Credits editiere und auf OK klicke kommt: TWideStringsEditDlg kann nicht zu TWideStringList zugewiesen
werden. |
|
 |
|
|
|
| |
| scrat1979 |
#5| Verfasst am: 15.07.2007, 16:34 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
aktives Mitglied Alter: 30 Status: offline Beiträge: 550 angemeldet: 12.01.2007 Wohnort: Sulzbach a.d. Murr Delphi 2010 Professional

|
Hallo!!
Also bei mir (D2007 Pro) lässt sich die Unit einwandfrei compilieren, der Text editieren und das Scrollen sieht klasse aus!! Hast Du super gemacht!
SCRaT |
|
 |
|
|
|
| |
| Prototypjack |
#6| Verfasst am: 15.07.2007, 21:17 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
aktives Mitglied Alter: 20 Status: offline Beiträge: 573 angemeldet: 02.02.2003 Wohnort: Graz Delphi 2009 Professional

|
Moin!
| halinchen hat folgendes geschrieben: | Jetzt lässt es sich kompilieren, aber:
- Beim Starten eines neuen Projekts kommen nur Laufzeitfehler (bei Zeile 629)
- Wenn ich Credits editiere und auf OK klicke kommt: TWideStringsEditDlg kann nicht zu TWideStringList zugewiesen
werden.
|
Bei dem zweiten Fehler bin ich mir zu 99.9% sicher, dass dieser nicht von mir stammt. Hört sich fast so an, als hättest du mit einem Experten den WideStringsEditor ersetzt und der ist scheinbar Fehlerhaft.
Dem ersten Problem widme ich mich morgen genauer, danke für den Hinweis!
| scrat1979 hat folgendes geschrieben: | Hallo!!
Also bei mir (D2007 Pro) lässt sich die Unit einwandfrei compilieren, der Text editieren und das Scrollen sieht klasse aus!! Hast Du super gemacht!
SCRaT |
Danke für das Lob
Scheinbar funktioniert ab Delphi 10 und aufwärts alles ohne Probleme.
Bitte weitertesten
Gruß,
Max |
 „If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds |
 |
|
|
|
| |
| halinchen |
#7| Verfasst am: 16.07.2007, 10:58 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
"Rüsselmops" ;-) Alter: 17 Status: offline Beiträge: 491 angemeldet: 13.06.2006 Delphi 2007 Professional

|
| Prototypjack hat folgendes geschrieben: | | Bei dem zweiten Fehler bin ich mir zu 99.9% sicher, dass dieser nicht von mir stammt. Hört sich fast so an, als hättest du mit einem Experten den WideStringsEditor ersetzt und der ist scheinbar Fehlerhaft. | Nicht das ich wüsste. Ich hab nur Jedi, Indy, VirtualTreeView (oder wie das hieß) und KAZip drauf.
Ich bekomme sowieso morgen/übermorgen einen neuen Rechner, da werde ich Delphi neudraufmachen und dann mal testen.
Achja: Wenn ich zur Designtime active auf true stelle gehts. Da sieht es schon Klasse aus! |
|
 |
|
|
|
| |
| xZise |
#8| Verfasst am: 16.07.2007, 12:26 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
aktives Mitglied Alter: 20 Status: offline Beiträge: 3.765 angemeldet: 03.03.2006 Wohnort: Waldbronn Delphi 2009 Professional

|
Wäre es möglich eine kleine Demo online zu stellen? |
 Wer grundlegende Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu gewinnen, verdient weder Freiheit noch Sicherheit. - (fälschlicherweise?) Benjamin Franklin |
 |
|
|
|
| |
| Prototypjack |
#9| Verfasst am: 16.07.2007, 19:20 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
aktives Mitglied Alter: 20 Status: offline Beiträge: 573 angemeldet: 02.02.2003 Wohnort: Graz Delphi 2009 Professional

|
Moin,
(Bin dabei. Demo gibt's in kürze!)
Edit: Die Demo ist nun verfügbar.
Grüße,
Max |
 „If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
Zuletzt bearbeitet von Prototypjack am 16.07.2007, 19:43, insgesamt 1-mal bearbeitet. |
 |
|
|
|
| |
| Ghostwalker |
#10| Verfasst am: 16.07.2007, 19:52 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
Mitglied Alter: 38 Status: offline Beiträge: 675 angemeldet: 16.06.2003 Wohnort: Schönwald Turbo Delphi für Win32

|
Hab mir grad eben die Demo angeguggt und muß sagen, gefällt mir sehr gut. Einzig das Scrolling ist bei Werten ab 40 (Intervall) etwas ruckelig.
Zur Demo:
Du solltest die Eingabe von als Wert unterbinden..sonst wirds unschön. |
 Gruß Ghostwalker
---------------------------------------------------------------------
Bill Gates, 1981: "640K sollte genug für jedermann sein". |
 |
|
|
|
| |
| xZise |
#11| Verfasst am: 16.07.2007, 20:18 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
aktives Mitglied Alter: 20 Status: offline Beiträge: 3.765 angemeldet: 03.03.2006 Wohnort: Waldbronn Delphi 2009 Professional

|
Du solltest die Offsets und Smooths auf <= 0 absichtern |
 Wer grundlegende Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu gewinnen, verdient weder Freiheit noch Sicherheit. - (fälschlicherweise?) Benjamin Franklin |
 |
|
|
|
| |
| Gehstock |
#12| Verfasst am: 16.07.2007, 21:58 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
aktives Mitglied Alter: 32 Status: offline Beiträge: 465 angemeldet: 28.01.2006 Wohnort: Görlitz / Sachsen Delphi 2007 Professional

|
Sieht wirklich gut aus Gute Arbeit und Danke |
|
 |
|
|
|
| |
| Prototypjack |
#13| Verfasst am: 16.07.2007, 22:45 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
aktives Mitglied Alter: 20 Status: offline Beiträge: 573 angemeldet: 02.02.2003 Wohnort: Graz Delphi 2009 Professional

|
Moin,
Die Demo habe ich eben angepasst, nun sind nur noch Werte zwischen 1 und 100 gültig. Bei den meisten Werten ist auch noch mehr drin, aber das soll ja nur zu Testzwecken dienen.
Ich freue mich das meine Komponente so gut ankommt
Vielen Danke & Grüße,
Max |
 „If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds |
 |
|
|
|
| |
| Ghostwalker |
#14| Verfasst am: 17.07.2007, 08:16 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
Mitglied Alter: 38 Status: offline Beiträge: 675 angemeldet: 16.06.2003 Wohnort: Schönwald Turbo Delphi für Win32

|
Vielleicht als Erweiterungsidee:
unter www.pbear.com gibts eine Komponenten für die Darstellung von HTML (unabhängig von einem installierten Browser !!!). Vielleicht wär das was so als Erweiterung (mit Bildchen und so einem Schnickschnack ). |
 Gruß Ghostwalker
---------------------------------------------------------------------
Bill Gates, 1981: "640K sollte genug für jedermann sein". |
 |
|
|
|
| |
| Prototypjack |
#15| Verfasst am: 17.07.2007, 10:03 Titel: Re: TACredits, scrolling Unicode & Smart-Tag capable Cre |
 |
 |
 |
|
aktives Mitglied Alter: 20 Status: offline Beiträge: 573 angemeldet: 02.02.2003 Wohnort: Graz Delphi 2009 Professional

|
Moin,
Ja, das hatte ich auch geplant. Der Grund wieso ich überhaupt Smart-Tags und nicht HTML verwende ist, dass ein kompletter HTML-Parser einfach ziemlich übertrieben wäre (Man könnte wahrscheinlich nicht einmal die Hälfte aller Tags verwenden ohne den eigentlich Sinn dieser Komponente (nämlich einfach nur schön formatierte Credits anzuzeigen) auszuhebeln).
Dennoch gibt es ein paar Sachen die ich auf jeden Fall noch in der Komponente sehen möchte. Ich habe leider versäumt die Roadmap gleich von Anfang an in den ersten Post zu setzen, nun ist sie aber verfügbar!
Gruß,
Max |
 „If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds |
 |
|
|
|
 |
|
 |
| |
|
|
| |
 
|
|
| |
|
Du darfst keine Beiträge in dieses Forum schreiben. Du darfst auf Beiträge in diesem Forum nicht antworten. Du darfst Deine Beiträge in diesem Forum nicht bearbeiten. Du darfst Deine Beiträge in diesem Forum nicht löschen. Du darfst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten. Du kannst Dateien in diesem Forum nicht herunterladen.
|
|
 |