SetTextAreaColor - Allgemein/Zeilen beschränkt

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Caesium

Betreff: SetTextAreaColor - Allgemein/Zeilen beschränkt

BeitragMo, März 03, 2008 21:19
Antworten mit Zitat
Benutzer-Profile anzeigen
huhuu,

folgendees: ist es irgend möglich die schriftfarbe/größe (whatever) für einzelne zeilen/textabschnitte (sinn: texte werden per addtextareatext mit unterschiedlichen farben hinzugefügt -> chat) in einer textarea zu verändern? mit settextareacolor wird ja automatisch die ganze area verändert.

thx schonmal.
gruß,
caesium
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. Smile

ozzi789

BeitragDi, März 04, 2008 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

form$=Between (name$+" "," / "," ")




location = Instr( name$,"/",1)-1
If location < 1 Then location = 0


If form$ = "red"
Color 255,0,0
EndIf 

If form$ = "blue"
Color 0,255,0
EndIf

If form$ = "green"
Color 0,0,255
EndIf

If form$ = "black"
Color 0,0,0
EndIf



Function Between$(s$,b$,e$,fl=1)
f=Instr( s,b,fl )+Len(b)
l=Instr( s,e,f )
r$=Mid( s,f,l-f)
Return r
End Function



Wen dus ned verstehst erklär ich dir das gerne ^^

mfg ozzii
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Caesium

BeitragDi, März 04, 2008 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
wow - erstmal vielen dank. doch ich fürchte, so wie's jetzt da steht, habe ich nicht wirklich den durchblick. wäre super, wenn du mir das erklären könntest. danke schonmal. Smile

gruß,
caesium

edit: mh, dafür nen neuen thread aufzumachen erschien mir unsinnig, daher füge ich das einfach noch hier hinzu (frage ist der im ersten post ganz ähnlich): wenn ich eine textarea per DisableGadget deaktiviere, damit man nicht in das chatfenster reinschreiben kann, wird natürlich auch die scroll-funktion deaktiviert. mit LockTextArea habe ichs bereits probiert, aber offensichtlich habe ich den befehl missverstanden, denn es hat sich für mich nichts ersichtliches geändert. also, gleich wie oben, viele dank schonmal, wäre super wenn dafür jmd. ne lösung hätte. Wink
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. Smile

ozzi789

BeitragDi, März 04, 2008 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Dies ist eine Funktion die ein Text file liest (kanste ja ändern so das es aus einer Variable gelesn wird) und schaut ob es ein / drine hat.

Wen ja dan liest es was nach / kommt, wens / red is macht es den Schrigt type rot , wens /green is macht es es grün usw

hia der code der iwie ned geht -.-
(kan jemand überprüfn ? Very Happy)

Code: [AUSKLAPPEN]



Graphics 800,600,16,2
.start

ClsColor 200,200,200
Cls
Color 0,0,0


Text 0,0, CurrentDir()
Locate 0,15
datei$=Input$("Location : ")
datei$ = CurrentDir()+datei$
Cls
Print ""
Color 150,150,150
Rect 0,0,800,20

filein = ReadFile(datei$)
If filein = 0
Print "Invalid, press any Key"
WaitKey
Goto start
EndIf

Repeat

name$ = ReadLine (filein)
 
If name = ""
Print""
Goto n
EndIf

form$=Between (name$+" "," / "," ")




location = Instr( name$,"/",1)-1
If location < 1 Then location = 0


If form$ = "red"
Color 255,0,0
EndIf 

If form$ = "blue"
Color 0,255,0
EndIf

If form$ = "green"
Color 0,0,255
EndIf

If form$ = "black"
Color 0,0,0
EndIf

x=x+15

If Not form$ = "green" Or form$ = "black" Or form$ = "red" Or form$ ="blue" Print name
lenght$=Left$(name$,location)
leange = Len (lenght$)-1
If leange>90 Then d=2
Locate 0,x
Print Left$(name$,location)



.n
Color 255,255,255


Until Eof(filein) = 1

While Not KeyHit (1)



Wend

CloseFile(filein)

End

Function Between$(s$,b$,e$,fl=1)
f=Instr( s,b,fl )+Len(b)
l=Instr( s,e,f )
r$=Mid( s,f,l-f)
Return r
End Function


iha macht einfach ne txt datei aufm desktop mit

/red efinfin
/green ew3fwoi

und die öffnet iha dan damit ^^
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Caesium

BeitragDi, März 04, 2008 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm, aus dem was ich da rauslesen kann, bin ich mir nicht ganz sicher, ob du meine frage richtig verstanden hast. :/

color ist ja ein befehl den man nur im grafikmodus verwenden kann. da ich aber in meinem chat nur mit windows/panels/textareas/etc. (soll heißen b+) arbeite und mit keinerlei grafiken (kein canvas-buffer) verstehe ich nicht, wie das funktionieren kann, da die color befehle sich ja nicht auf die textarea auswirken dürften, oder?!

bin atm etwas neben mir, verzeiht mir, falsch ich das falsch rauslese. thx.

gruß,
caesium
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. Smile

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, März 04, 2008 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit einem BlitzPlus Textarea ist das mit den unterschiedlichen Farben so nicht möglich und ob es eine dll gibt kann ich nicht sagen

das Beispiel von ozzi789 kannst du nur in eimen Graphic Fenster benutzten!
den Color 255,0,0 funktioniert auch nicht in einem Textarea

Da bietet sich besser ein Canvas Fenster an in dem du aber alles selbst programmieren mußt.
Es gibt verschieden GUI´s die du vielleicht dafür benutzen kannst, falls diese das unterstützen.

Um ein Textarrea gegen Usereingaben zu schützen kannst du nur den text neu reinschreiben oder halt komplett sperren
Beispiel
Code: [AUSKLAPPEN]
Startwindow = CreateWindow ("BB test",200,200,500,545,0)
Area=CreateTextArea (10,10,450,400,Startwindow)
;Text erstellen
For i = 1 To 40
A$= A$+"Ein Test "+ i +Chr(13)+Chr(10)
Next
SetGadgetText Area,A$
Repeat
    Ergebnis = WaitEvent (50)
    Select Ergebnis
      Case $803 End
      Case $401
        If  EventSource ()=Area
            If A$<>TextAreaText(Area) Then SetGadgetText Area,A$
        End If
      Default
    End Select
Forever
[BB2D | BB3D | BB+]

ozzi789

BeitragDi, März 04, 2008 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
ich has echt falsch verstandn srry xD
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Caesium

BeitragDi, März 04, 2008 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
kein ding. vielen dank euch beiden. Smile
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. Smile
 

klepto2

BeitragMi, März 05, 2008 9:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau dir mal den Befehl FormatTextAreaText an (http://www.blitzbase.de/befehlegui/formattextareatext.htm)

Mit dem Befehl ist es möglich eine Textarea verschiedenfarbig zu formatieren.
Matrix Screensaver
Console Modul für BlitzMax
KLPacker Modul für BlitzMax

HomePage : http://www.brsoftware.de.vu

Caesium

BeitragMi, März 05, 2008 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
uff, das is mir jetzt peinlich Embarassed

und ich dachte mirn, ich hätte jeden befehl dazu angesehn. :/

vielen dank!
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. Smile

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group