Hi,
ich habe gerade mal ein altes Skript rausgesucht und ein wenig aufbereitet (noch nicht ganz, da fehlt noch was), mit dem ich unter anderem die Zitate in meiner Signatur formatiert habe.^^
[Blockierte Grafik: http://sninfando.magix.net/public/quotesmaker.png/]
Das ist, denke ich, soweit selbsterklärend. Trotzdem hier nochmal:
In die Felder Zitat, Autor, Datum und Zeit tragt ihr die jeweiligen Werte eures Zitates ein.
Bei User muss die Benutzergruppe (User, PU, Mod, Admin, System, Pink) ausgewählt werden (Für die Farbe).
Dann kann man sich mit BB oder HTML das formatierte Zitat entweder in BBCode oder in HTML + CSS ausgeben lassen.^^
Update: Jetzt kann man sich das Zitat auch als RTF-Datei bzw. RTF-Code ausgeben lassen. Ich möchte hier mal darauf hinweisen, dass das ganze ohne RTF oder RichEdit-UDF funktioniert, sondern auf meinen eigenen Kenntnissen über das Rich Text Format aufbaut... Deswegen wäre es nett, wenn ihr mal kurz sagen würdet, ob die erzeugte Datei von eurem RTF-Programm verarbeitet werden kann.^^ LibreOffice und Wordpad (Win7-Version) lesen es jedenfalls ohne Probleme, aber ich bin mir da nicht ganz so sicher.
Ach ja: Der SB-Button ist dazu da, um ein Zitat direkt aus der Zwischenablage im SB-Format einzufügen. Als Beispiel:
In der Zwischenablage liegt das hier:
Das wird dann zu dem hier (Datum ist falsch, das war eigentlich am *Nachschau* 09.08.2012):
"Wir sind doch im Prinzip alle Schokoriegel."
Marsi (01.04.2013, 22:41)
Ich hoffe, es kann der ein oder andere was damit anfangen, eventuell ja auch für seine Signatur...?
Skript
#include <EditConstants.au3>
$hGUI = GUICreate("Zitat-Formatierung", 350, 350)
$cZitatText = GUICtrlCreateEdit("Zitat", 10, 10, 290, 50, $ES_AUTOVSCROLL + $ES_MULTILINE)
GUICtrlSetLimit(-1, 160)
GUICtrlCreateLabel("Autor:", 10, 70)
$cGetSBSyntax = GUICtrlCreateButton("SB", 300, 10, 40, 50)
$cAuthor = GUICtrlCreateInput("", 50, 70, 290, 20)
GUICtrlCreateLabel("Datum:", 10, 100)
$cDate = GUICtrlCreateInput("", 50, 100, 290, 20)
GUICtrlCreateLabel("Zeit:", 10, 130)
$cTime = GUICtrlCreateInput("", 50, 130, 290, 20)
GUICtrlCreateLabel("User:", 10, 160)
$cUserClass = GUICtrlCreateCombo("", 50, 160, 290, 20, 0x3) ;$CBS_DROPDOWNLIST
GUICtrlSetData(-1, "User|PU|Mod|Admin|System|Pink", "User")
$cGenerateBB = GUICtrlCreateButton("BB", 100 - 37.5, 200, 75, 30)
$cGenerateHTML = GUICtrlCreateButton("HTML", 175 - 37.5, 200, 75, 30)
$cGenerateRTF = GUICtrlCreateButton("RTF", 175 + 37.5, 200, 75, 30)
$cCode = GUICtrlCreateEdit("", 10, 240, 330, 100, 0x00200000 + $ES_READONLY) ;WS_VSCROLL
GUISetState()
$sUserColor = "#606060"
$sPUColor = "#880011"
$sModColor = "#00a000"
$sAdminColor = "#3030a0"
$sSystemColor = "#2978B4"
$sPinkColor = "#f000f0"
While 1
$iMsg = GUIGetMsg()
Switch $iMsg
Case -3 ;GUI_EVENT_CLOSE
Exit
Case $cGenerateBB
GUICtrlSetData($cCode, _GenerateBBC())
Case $cGenerateHTML
GUICtrlSetData($cCode, _GenerateHTML())
Case $cGenerateRTF
$sSavePath = FileSaveDialog("Speicherort auswählen", @ScriptDir, "Alle Dateien (*.*)|RTF-Format (*.rtf)")
If @error Then ContinueLoop
$sRTF = _GenerateRTF()
GUICtrlSetData($cCode, $sRTF)
FileDelete($sSavePath)
FileWrite($sSavePath, $sRTF)
Case $cGetSBSyntax
_ParseSBSyntax(ClipGet())
EndSwitch
WEnd
Func _GenerateBBC()
$sZitat = GUICtrlRead($cZitatText)
$sAuthor = GUICtrlRead($cAuthor)
$sDate = GUICtrlRead($cDate)
$sTime = GUICtrlRead($cTime)
$sUserClass = GUICtrlRead($cUserClass)
Switch $sUserClass
Case "User"
$sColor = $sUserColor
Case "PU"
$sColor = $sPUColor
Case "Mod"
$sColor = $sModColor
Case "Admin"
$sColor = $sAdminColor
Case "System"
$sColor = $sSystemColor
Case "Pink"
$sColor = $sPinkColor
EndSwitch
$sCode = "
[/autoit]""" & $sZitat & """
[/autoit]" & @CRLF & "
[/autoit][color=" & $sColor & "]" & $sAuthor & "[/color] (" & $sDate & ", " & $sTime & ")
[/autoit]"
Return $sCode
EndFunc ;==>_GenerateBBC
Func _GenerateHTML()
$sZitat = _Uml(GUICtrlRead($cZitatText))
$sAuthor = _Uml(GUICtrlRead($cAuthor))
$sDate = GUICtrlRead($cDate)
$sTime = GUICtrlRead($cTime)
$sUserClass = GUICtrlRead($cUserClass)
Switch $sUserClass
Case "User"
$sColor = $sUserColor
Case "PU"
$sColor = $sPUColor
Case "Mod"
$sColor = $sModColor
Case "Admin"
$sColor = $sAdminColor
Case "System"
$sColor = $sSystemColor
Case "Pink"
$sColor = $sPinkColor
EndSwitch
$sCode = "<div id=""Zitat"">" & @CRLF & "<div id=""Text"">""" & $sZitat & """</div><span class=""" & $sUserClass & """>" & $sAuthor & "</span> <span class=""Date"">(" & $sDate & ", " & $sTime & ")</span>" & @CRLF & "</div>" & @CRLF & "<br>"
Return $sCode
EndFunc ;==>_GenerateHTML
Func _GenerateRTF()
Local $sCode
$sZitat = GUICtrlRead($cZitatText)
$sAuthor = GUICtrlRead($cAuthor)
$sDate = GUICtrlRead($cDate)
$sTime = GUICtrlRead($cTime)
$sUserClass = GUICtrlRead($cUserClass)
Switch $sUserClass
Case "User"
$sColor = $sUserColor
Case "PU"
$sColor = $sPUColor
Case "Mod"
$sColor = $sModColor
Case "Admin"
$sColor = $sAdminColor
Case "System"
$sColor = $sSystemColor
Case "Pink"
$sColor = $sPinkColor
EndSwitch
$sCode &= "{\rtf1" & @CRLF
$sCode &= "{\colortbl;" & @CRLF
$sCode &= "\red0\green0\blue;" & @CRLF ;Schwarz
$sCode &= _ColorHTML2RTF($sColor) & @CRLF ;Userfarbe
$sCode &= "}" & @CRLF
$sCode &= "{\fonttbl{\f0\fnil\fcharset0 Calibri;}}" & @CRLF ;Font
$sCode &= "{\*\generator Zitat-Formatierer by chesstiger;}" & @CRLF ;Generator-Info
$sCode &= "\qc {\f0\cf1\fs24\i """ & $sZitat & """} \par" & @CRLF ;Zitat
$sCode &= "\qr {\f0\fs16{\b\cf2 " & $sAuthor & "} {\cf1(" & $sDate & ", " & $sTime & ")}} \par" & @CRLF ;Info
$sCode &= "}" & @CRLF
$sCode &= Chr(0) ;Dateiende
Return $sCode
EndFunc ;==>_GenerateRTF
Func _Uml($s_Text)
$s_Return = StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace($s_Text, "Ä", "Ä", 0, 1), "Ü", "Ü", 0, 1), "Ö", "Ö", 0, 1), "ä", "ä", 0, 1), "ü", "ü", 0, 1), "ö", "ö", 0, 1)
Return $s_Return
EndFunc ;==>_Uml
Func _ParseSBSyntax($sText)
$aRegEx = StringRegExp($sText, "\[(Heute|Gestern), (\d{2}:\d{2})\] (.*?): (.*)", 3)
If UBound($aRegEx) <> 4 Then
MsgBox(0, "Error", "Ungültiger Zwischenablageninhalt!")
Return
EndIf
Switch $aRegEx[0] ;Tag
Case "Heute"
$sDate = @MDAY & "." & @MON & "." & @YEAR
Case "Gestern"
$sDate = @MDAY - 1 & "." & @MON & "." & @YEAR
EndSwitch
GUICtrlSetData($cDate, $sDate)
GUICtrlSetData($cTime, $aRegEx[1])
GUICtrlSetData($cAuthor, $aRegEx[2])
GUICtrlSetData($cZitatText, $aRegEx[3])
EndFunc ;==>_ParseSBSyntax
Func _ColorHTML2RTF($sHTMLColor)
;chesstiger
$sRedHex = StringMid($sHTMLColor, 2, 2)
$sGreenHex = StringMid($sHTMLColor, 4, 2)
$sBlueHex = StringMid($sHTMLColor, 6, 2)
Return "\red" & Dec($sRedHex) & "\green" & Dec($sGreenHex) & "\blue" & Dec($sBlueHex) & ";"
EndFunc ;==>_ColorHTML2RTF
lg
Edit: Die CSS-Datei fehlt natürlich noch... Muss ich erst suchen. -> Ist als style.css.txt im Anhang.