Bojanje texta u C#

poruka: 18
|
čitano: 2.661
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
protjeran
offline
Bojanje texta u C#

Ovako, pošto nikako da dobijem odgovor u prošloj temi,otvaram ovu novu temu.

Zapeo sam u C#. Naime, trebao bih da kad netko piše tekst da mu se promijeni boja određene riječi.

 

Znači kao kad programirate nešto pa onda napišete

npr. "new" i ono se pretvori u plavu boju, "return" također, pa još recimo "for", "public", "private".

Nadam se da sad shvaćate što želim reći.

 

Text se piše u Rich Text Boxu, a ne u običnom Textboxu (neznam ako ima neke razlike).

 

 

 
0 0 hvala 0
17 godina
neaktivan
offline
Bojanje texta u C#

Evo ovdje nekih rjesenja (da ih ne prepisujem :) )

 

http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/651faf9b-ae32-4c99-b619-d3afd89477e1/

 

Jel to to? :)

http://irale.deviantart.com
 
0 0 hvala 0
16 godina
protjeran
offline
Bojanje texta u C#

Nažalost, nije.

Dobivam isti rezultat kao i prije.

 

Pišem,pišem i onda napišem "my first string" recimo i Rich Text Box označi my first string, oboja ga i ostavi ga označenog, ja pokušam odznačiti (deselektirati)

i onda pokušam pisati, ali uopće se ništa ne pojavljuje.

 
0 0 hvala 0
17 godina
neaktivan
offline
Bojanje texta u C#

Hmm nisam siguran da sam dobro shvatio.

 

Ti upisujes nesto u taj box. Jel to sve onda jedan veliki string? Jel zelis da se to dinamicki mijenja, znaci kao u Visual Studiju - napises "new", on oboja, pa obrises "w", a on makne boju sa "ne"?

 

Ili napises neki redak recimo, koji ti je jedan string, lupis enter, pa onda pronades u njemu postoji li neka od tih kljucnih rijeci pa ako postoji obojas ju?

 

Iznenađen Smijeh

http://irale.deviantart.com
Poruka je uređivana zadnji put sub 10.10.2009 18:13 (RaLe).
 
0 0 hvala 0
16 godina
protjeran
offline
RE: Bojanje texta u C#
RaLe kaže...

Hmm nisam siguran da sam dobro shvatio.

 

Ti upisujes nesto u taj box. Jel to sve onda jedan veliki string? Jel zelis da se to dinamicki mijenja, znaci kao u Visual Studiju - napises "new", on oboja, pa obrises "w", a on makne boju sa "ne"?

 

Ili napises neki redak recimo, koji ti je jedan string, lupis enter, pa onda pronades u njemu postoji li neka od tih kljucnih rijeci pa ako postoji obojas ju?

 

Iznenađen Smijeh

Ovo boldano.

16 godina
neaktivan
offline
RE: Bojanje texta u C#

Dakle, ti to pokusavas napraviti u win formsima.

 

Ja cu ti predloziti da probas se prebacit na wpf, pogotovo ako si tek poceo sa win formsima.

 

Wpf ti je novi (hehe novi) alat za dizajn. Ako imas studio 2008. Kada stvaras novi solution ides kreirati wpf projekt a ne win forms projekt.

 

Zasto bi ti to preporucio? Zato jer je to tehnologija koja ce zazivjeti sve vise i vise, i nema smisla da ucis win forms. Uostalom, wpf je neizmjerno bolji, tj. moćniji.

 

Dat cu ti jedan link koji bi trebao prelistati da shvatis o cemu se radi: A Guided Tour of WPF

 

Ili ovaj koji ti opisuje tehnologiju: wiki - wpf

 

 

Mislim da ce ti se svidjeti ovo iz ovog prvog linka, i da ces shvatit zasto nema smisla bilo sta drugo uciti.

 

E a zasto to govorim.. Jer mislim da znam rjesenje tvog problema :) Ali ono je napravljeno u - wpfu :)

 

Kuzis nemoj ovo ni otvarat dok nisi procitao tour jer ne bus nikaj shvatio :D Hehe.. Ja cu sad malo to citati :)

 

Lijep pozdrav.

17 godina
neaktivan
offline
Bojanje texta u C#

OK, nisam nikad to radio xD, medutim evo ideje koju sam dobio ovak nabrzinu:

 

za svaki stisnuti razmak, izvrsi se dogadaj x. taj dogadaj obuhvaca:

 

pamcenje trenutne pozicije u tekstu, nalazenje prvog prijasnjeg razmaka, znaci pocetne pozicije (iz te dvije imas substring rijec), te ak je ta rijec jednaka nekoj, tipa "for", "return", onda tom substringu das odredenu boju.

 

Ova moja ideja mi se cini najprimitivnija (u programerskom smislu xD), vjerojatno postoje i neke inteligentnije.

 

Od ovoga ti ne mogu vise pomoci, ali probaj malo pogledati i slijedeci link, ima korisnih stvari: http://www.c-sharpcorner.com/UploadFile/mgold/SimpleColorSyntaxCodeEditorPartI11212005052757AM/SimpleColorSyntaxCodeEditorPartI.aspx

 

Lijep pozdrav :)

 

 

http://irale.deviantart.com
 
0 0 hvala 0
16 godina
protjeran
offline
Bojanje texta u C#

hvala na ideji Smijeh

samo bi je trebalo realizirat xD

 
0 0 hvala 0
17 godina
neaktivan
offline
Bojanje texta u C#

Najjednostavniji način otprilike na koji to možeš napraviti je, pratiti keystrokes, (win api poruka za pritisnutu tipku) i svaki puta parsati unatrag sve do prvog razmaka i regexpom ili direktnim matchanjem "hvatati" što ti treba, a u slučaju da imaš nešto što ti sigurno treba tj. paše za tvoj match i boju, obojaš taj string.

Sve što napišem ili sam napisao isključivo je moje osobno mišljenje, koje se ne može niti smije uzimati kao činjenica niti tvrdnja. Sve što napišem može biti neistina i pogrešna tvrdnja.
Moj PC  
0 0 hvala 0
16 godina
protjeran
offline
RE: Bojanje texta u C#
naxeem kaže...

Najjednostavniji način otprilike na koji to možeš napraviti je, pratiti keystrokes, (win api poruka za pritisnutu tipku) i svaki puta parsati unatrag sve do prvog razmaka i regexpom ili direktnim matchanjem "hvatati" što ti treba, a u slučaju da imaš nešto što ti sigurno treba tj. paše za tvoj match i boju, obojaš taj string.

hvala na informaciji, a evo jedna od mene, ja sam jučer počeo učiti C# Smijeh

16 godina
neaktivan
offline
RE: Bojanje texta u C#

Zato se i nisam miješao jer vidim da si tek počeo a odmah si skočio na manipulaciju strigovima ....trebaš prvo proučiti malo funkcije za obradu teksta pa malo petlje i zatim događaje za pojedine kontrole i što su to uopće događaji i kako oni sami funkcioniraju.Zatim možeš sam napisati događaj koji upotrebljava funkcije koje označavjau pojedine riječi bojom ,ovisi koja se riječ unese .Ako se hoće ozbiljan kod ima malo više pisanja za tu kontrolu.Možemo ti mi napisati cijeli kod ali bolje bi bilo da kreneš s obradom teksta u C#-u i zatim to lijepo primjeniš u tvom problemu.

Zato sam ti i rekao da kreneš s ConsoleApp jer i tamo imaš KeyChar i sve vezano za to kad se stisne ili ne itd...slično ima i u WinApp kako je naxeem rekao i samo se to može pratiti i registrirati..ali bolje da kreneš od početka .

 

Private
16 godina
protjeran
offline
RE: Bojanje texta u C#
Private kaže...

Zato se i nisam miješao jer vidim da si tek počeo a odmah si skočio na manipulaciju strigovima ....trebaš prvo proučiti malo funkcije za obradu teksta pa malo petlje i zatim događaje za pojedine kontrole i što su to uopće događaji i kako oni sami funkcioniraju.Zatim možeš sam napisati događaj koji upotrebljava funkcije koje označavjau pojedine riječi bojom ,ovisi koja se riječ unese .Ako se hoće ozbiljan kod ima malo više pisanja za tu kontrolu.Možemo ti mi napisati cijeli kod ali bolje bi bilo da kreneš s obradom teksta u C#-u i zatim to lijepo primjeniš u tvom problemu.

Zato sam ti i rekao da kreneš s ConsoleApp jer i tamo imaš KeyChar i sve vezano za to kad se stisne ili ne itd...slično ima i u WinApp kako je naxeem rekao i samo se to može pratiti i registrirati..ali bolje da kreneš od početka .

 

Ovo boldano: E super, aj napiši! Cool

 

A znam da sam trebo s jednostavnijim,ali sve sam na programu riješio osim tog s bojom a to je bitno.

16 godina
neaktivan
offline
RE: Bojanje texta u C#

Napišem ali kad se malo uhvatim toga i vremena.

 

Private
16 godina
neaktivan
offline
RE: Bojanje texta u C#

da.. hmm.. evo tu pise kako to napraviti u wpf-u: msdn

 

a ako ces ucit radit wpf ovo je isto obavezno stivo: m-v-vm - tu imas i koda za downloadat pa se mozes zabavljati - good stuff :|

 

pozdrav

16 godina
protjeran
offline
Bojanje texta u C#

Hvala,udem to sutra sve pročitao.

 

A sada da pitam samo kako pozvat drugu formu iz prve..

Pokusao sam sad Form2.ActiveForm.Show(); ali se nista ne pojavljuje..

 

EDIT: sredeno

 

form2 mojaForma = new form2();

mojaForma.Show();

Poruka je uređivana zadnji put ned 11.10.2009 0:56 (ScorpioN60).
 
0 0 hvala 0
15 godina
neaktivan
offline
RE: Bojanje texta u C#
ScorpioN60 kaže...

Hvala,udem to sutra sve pročitao.

 

A sada da pitam samo kako pozvat drugu formu iz prve..

Pokusao sam sad Form2.ActiveForm.Show(); ali se nista ne pojavljuje..

 

EDIT: sredeno

 

form2 mojaForma = new form2();

mojaForma.Show();

Form2.show();

S budalama se ne isplati svadjati jer te spuste na svoj nivo pa zatim te dotuku znanjem
16 godina
protjeran
offline
RE: Bojanje texta u C#
Pošteni kaže...
ScorpioN60 kaže...

Hvala,udem to sutra sve pročitao.

 

A sada da pitam samo kako pozvat drugu formu iz prve..

Pokusao sam sad Form2.ActiveForm.Show(); ali se nista ne pojavljuje..

 

EDIT: sredeno

 

form2 mojaForma = new form2();

mojaForma.Show();

Form2.show();

Već sam našao riješenje.

Nemožeš odmah pozvati show iz Form2

16 godina
neaktivan
offline
Bojanje texta u C#

Aha.. ti si vec slozio cijelu aplikaciju? Cool :) Daj stavi negdje dowlnoad i kod pa da gledamo :) Mozda mozemo nesto i savjetovati.

 

Inace, ako budes radio wpf i nesto ti ne bude jasno, pitaj.

 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice