AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TACredits, scrolling Unicode & Smart-Tag capable Credits
Thema durchsuchen
Ansicht
Themen-Optionen

TACredits, scrolling Unicode & Smart-Tag capable Credits

Ein Thema von Prototypjack · begonnen am 13. Jul 2007 · letzter Beitrag vom 12. Jul 2011
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Prototypjack
Registriert seit: 2. Feb 2003
Moin DP,

Wow, ein denkwürdiger Moment! Denn dies ist nicht nur meine erste Veröffentlichung sondern auch meine erste visuelle Komponente überhaupt!


http://www.aviant.net/projects/tacredits/logo.jpg
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:
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
Miniaturansicht angehängter Grafiken
screen_638.jpg  
Angehängte Dateien
Dateityp: exe demo_149.exe (513,0 KB, 252x aufgerufen)
Dateityp: zip acredits_778.zip (92,2 KB, 154x aufgerufen)
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
 
Prototypjack

 
Delphi 2009 Professional
 
#31
  Alt 30. Mär 2008, 09:12
Moin,

Oha. Das ist mir in der Tat sehr peinlich. Ich lade schnell ACredits 1.1 RC2 hoch, dort ist der Fehler nicht mehr vorhanden.

Ich arbeite übrigens nebenher an einer ganzen Komponenten Sammlung die BBCode unterstützen soll. Das meiste ist schon fertig aber bis zum Release wird es wohl noch etwas dauern.

Grüße,
Max
Max
  Mit Zitat antworten Zitat
MrKnogge

 
Delphi 2007 Professional
 
#32
  Alt 30. Mär 2008, 12:58
Wow, die Credits-Komponente sieht sehr viel versprechend aus, ich werde sie auf jedenfall ausgiebig testen und wohl auch verwenden.
Bin auf deine BBCode-Komponentensammlung sehr gespannt, könnte nämlich ein Label gebrauchen, welches BBCode unterstützt.
Christian Bootz
  Mit Zitat antworten Zitat
Prototypjack

 
Delphi 2009 Professional
 
#33
  Alt 30. Mär 2008, 13:37
Zitat von MrKnogge:
Wow, die Credits-Komponente sieht sehr viel versprechend aus, ich werde sie auf jedenfall ausgiebig testen und wohl auch verwenden.
Bin auf deine BBCode-Komponentensammlung sehr gespannt, könnte nämlich ein Label gebrauchen, welches BBCode unterstützt.
Freut mich

Ich freue mich auch immer über PMs in denen ich sehen kann, wo meine Komponenten ein neues zu Hause gefunden haben, also wenn du willst kannst du mir gerne mal einen Screenshot schicken.

Das Lable ist bereits eine der Komponenten die auf jeden Fall in der Komponentensammlung vorhanden sein wird (in der Tat ist das Lable bereits fertig und getestet). Ich hoffe ich kommen bald dazu noch ein paar andere Sachen hinzuzufügen, alles ausgiebig zu testen und das Pack zu releasen.

Grüße,
Max
Max
  Mit Zitat antworten Zitat
Benutzerbild von calculon
calculon

 
Delphi 7 Personal
 
#34
  Alt 16. Apr 2008, 14:36
Hallo,

ich finde deine Komponente sehr schön und will sie in ein Projekt einbauen. Nur klappt etwas nicht so ganz. Wenn ich auf einen Link klicke dann öffnet sich die URL im Browser, aber die Form reagiert erst wieder, wenn auf die Komponente geklickt wird, d.h. sie reagiert schon (ist nicht eingefroren, oder so), aber die Ereignisse der restlichen Controls werden nicht mehr sofort ausgelöst. Sie sind in einer Warteschleife (?) bis auf die ACredit-Komponente geklickt wird. Dann werden sie erst ausgeführt.

Wenn ich beispielsweise in deiner Unit folgendes einfüge,
Delphi-Quellcode:
     if FAnchorLinkList[I].SmartTag = stUrl then
      begin
        {$IFDEF NO_UNICODE}
        Shellexecute(0, 'open',
          PChar(FAnchorLinkList[I].Parameter), nil, nil, SW_SHOW);
        ShowMessage('Zeig mich!');
        // BTW: Benutze Delphi 7
        {$ELSE}
        ShellexecuteW(0, 'open',
          PWideChar(FAnchorLinkList[I].Parameter), nil, nil, SW_SHOW);
        {$ENDIF}
      end;
dann hängt das am ShellExecute bis -wie gesagt- auf die Komponente geklickt wird. Dann erscheint auch die ShowMessage-Meldung. Weißt du woran das liegen könnte?

Gruß

Calculon
--
  Mit Zitat antworten Zitat
Prototypjack

 
Delphi 2009 Professional
 
#35
  Alt 21. Apr 2008, 18:50
Zitat von calculon:
Hallo,

ich finde deine Komponente sehr schön und will sie in ein Projekt einbauen. Nur klappt etwas nicht so ganz. Wenn ich auf einen Link klicke dann öffnet sich die URL im Browser, aber die Form reagiert erst wieder, wenn auf die Komponente geklickt wird, d.h. sie reagiert schon (ist nicht eingefroren, oder so), aber die Ereignisse der restlichen Controls werden nicht mehr sofort ausgelöst. Sie sind in einer Warteschleife (?) bis auf die ACredit-Komponente geklickt wird. Dann werden sie erst ausgeführt.

Wenn ich beispielsweise in deiner Unit folgendes einfüge,
Delphi-Quellcode:
     if FAnchorLinkList[I].SmartTag = stUrl then
      begin
        {$IFDEF NO_UNICODE}
        Shellexecute(0, 'open',
          PChar(FAnchorLinkList[I].Parameter), nil, nil, SW_SHOW);
        ShowMessage('Zeig mich!');
        // BTW: Benutze Delphi 7
        {$ELSE}
        ShellexecuteW(0, 'open',
          PWideChar(FAnchorLinkList[I].Parameter), nil, nil, SW_SHOW);
        {$ENDIF}
      end;
dann hängt das am ShellExecute bis -wie gesagt- auf die Komponente geklickt wird. Dann erscheint auch die ShowMessage-Meldung. Weißt du woran das liegen könnte?

Gruß

Calculon
--
Moin,

Mir war dieser Fehler bisher nicht bekannt (leider bin ich momentan auch nicht in der Lage zu testen, ob er bei mir überhaupt auftritt). Nächsten Wochenende (~26.04.08 ) wird es aber sowieso einen neue Version geben, die auch ein Vordergrundbild laden kann und PNG-Unterstützung für Background und Foreground mitbringt (Danke an dieser Stelle an Sko der dies implementiert hat). Ich werde dann sehen ob ich für deinen Fehler etwas tun kann .

Grüße,
Max
Max
  Mit Zitat antworten Zitat
Prototypjack

 
Delphi 2009 Professional
 
#36
  Alt 27. Apr 2008, 15:10
Moin,

So, die versprochene Version mit dem aktivierbarem PNG-Support und den Vordergrund-Bildern ist nun verfügbar!

Ich kann leider den Fehler mit der "Warteschleife" bei Links nicht bestätigen. Tritt dieser Fehler bei noch jemanden auf? Welche Delphi-Version benutzt du?

Grüße,
Max
Max
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

 
Delphi 10.2 Tokyo Starter
 
#37
  Alt 27. Sep 2008, 15:04
Hey,

wird es eine D2009 Version geben?

Edit: Habs einfach mal compiliert und scheint (bisher) ohne Änderungen zu funktionieren.

Viele Grüße
Zacherl
  Mit Zitat antworten Zitat
Prototypjack

 
Delphi 2009 Professional
 
#38
  Alt 27. Sep 2008, 16:50
Moin,

Die gibt es bereits hier bei mir. Ich könnte jetzt sagen, dass, wenn man die Komponente ohne Unicode-Unterstützung (und ohne PNG-Delphi usw.) kompiliert, das Dingen Delphi 2009 fähig ist (inkl. Unicode). Aber garantieren kann ich nichts, also: Eigene Gefahr!

Es wird demnächst eine (stetig wachsende) Komponentensammlung geben, in der der Parser komplett ausgelagert ist und von mehreren Komponenten (Labels, Panels, u.A. auch die Credits-Komponente) benutzt wird.

Die Version, wie sie hier angeboten wird, wird von mir nicht mehr weiterentwickelt.

Bis dahin kannst du, wie gesagt, auf eigene Gefahr die Komponente verwenden (zumahl die Migration auf das neue System nur das Installieren und DeInstallieren erfordert, also keine Änderungen im Quelltext!).

Grüße,
Max
Max
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

 
Delphi 10.2 Tokyo Starter
 
#39
  Alt 27. Sep 2008, 18:02
Hey,

die Komponentensammlung klingt gut Denke dann warte ich einfach, bis diese released wird.

Viele Grüße
Zacherl
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#40
  Alt 5. Jan 2009, 20:01
Hallo Max!

Ich habe ein Problem mit deiner Komponente und zwar wahrscheinlich mit den BBCodes! Ich würde gerne folgenden Text geparst haben:
Code:
[size="6"](licensed under a [url="http://creativecommons.org/licenses/by/2.5/"]Creative Commons Attribution 2.5 License[/url])[/size]
Nun macht er das leider nur halb/halb: Er parst zwar alles, aber der Link ist nicht kleiner geschrieben.

Btw:
Zitat von Prototypjack:
Ich könnte jetzt sagen, dass, wenn man die Komponente ohne Unicode-Unterstützung (und ohne PNG-Delphi usw.) kompiliert, das Dingen Delphi 2009 fähig ist (inkl. Unicode). Aber garantieren kann ich nichts, also: Eigene Gefahr![...]
Also die Version aus dem 1. Post läuft damit super (dynamisch erstellt).

Ansonsten ist sind die Credits sehr gut gelungen und setze sie auch ein.

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 01:41 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