Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako razloziti tekst

[es] :: Visual Basic 6 :: kako razloziti tekst

[ Pregleda: 2840 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Aleksandar Vasic
Web Administrator, Uspon d.o.o
Čačak

Član broj: 91692
Poruke: 1226
*.dynamic.sbb.co.yu.

Sajt: www.vasictech.net


+1 Profil

icon kako razloziti tekst05.10.2007. u 20:19 - pre 201 meseci
Pozdrav, jedno pitanje, npr u TextBox se upise rec od nekoliko slova, kako napisati da se ta rec razlozi na slova na primer da svako slovo bude dodeljeno jedno promenljivoj

npr:

rec: tekst

1. promenljiva = t
2. promenljiva = e
3. promenljiva = k
4. promenljiva = s
5. promenljiva = t
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.223.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: kako razloziti tekst05.10.2007. u 21:58 - pre 201 meseci
Za tako nešto je bolje koristiti matricu, jer verovatno nećeš uvek znati tačnu dužinu teksta, pa nećeš znati koliko varijabli trebaš da deklarišeš.
Code:
Dim sText() As String
Dim i As Long
    For i = 1 To Len(Text1.Text)
        ReDim Preserve sText(i)
        sText(i) = Mid(Text1.Text, i, 1)
    Next i

i tako ćeš dobiti matricu sText gde ti je sText(1) prvo slovo, sText(2) drugo slovo i tako dalje. Prvo i zadnje slovo možeš dobiti funkcijama LBound i UBound, recimo ako hoćeš da znaš koje je zadnje slovo
Code:
MsgBox sText(Ubound(sText))

-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Aleksandar Vasic
Web Administrator, Uspon d.o.o
Čačak

Član broj: 91692
Poruke: 1226
*.dynamic.sbb.co.yu.

Sajt: www.vasictech.net


+1 Profil

icon Re: kako razloziti tekst05.10.2007. u 22:13 - pre 201 meseci
hvala
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: kako razloziti tekst06.10.2007. u 23:59 - pre 201 meseci
@Marko: imam par zamerki na tvoj post :)
Citat:
Za tako nešto je bolje koristiti matricu, jer verovatno nećeš uvek znati tačnu dužinu teksta, pa nećeš znati koliko varijabli trebaš da deklarišeš.

mozda gresim, ali koliko ja znam matrica ne moze da ima samo jednu dimenziju, to je niz (a matrica je visedimenzionlni niz)... ali terminologija i nije toliko bitna, ono sto mi "smeta" u tvom kodu je onaj ReDim Preserve... koji je nepotreban i usporava izvrsavanje koda, elem, potreban je samo ReDim (i to ne Preserve) pre for petlje (jer se pre ulaska u petlju zna duzina stringa koji se deli), znaci 'vako:
Code:

Dim sText() As String * 1 ' dodatna optimizacija
Dim i As Long

ReDim sText(Len(Text1.Text))

For i = 1 To Len(Text1.Text)
    sText(i) = Mid(Text1.Text, i, 1)
Next i

 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.223.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: kako razloziti tekst07.10.2007. u 05:42 - pre 201 meseci
Citat:
mozda gresim, ali koliko ja znam matrica ne moze da ima samo jednu dimenziju, to je niz (a matrica je visedimenzionlni niz)... ali terminologija i nije toliko bitna

Ma stvar je u terminologiju i kako navikneš da izgovaraš pojedine stvari. U programerskom rečinku zapravo i ne postoji reč matrica (matrix), već samo array i multidimensional array, što je zapravo niz i multidimanzionalni niz (koji može da se zove matricom). E sad, nekako sam vremenom navikao da bilo koji array nazivam matricom što možda jeste greška, ali se uglavnom sporazumevam sa kolegama :)
Citat:
ono sto mi "smeta" u tvom kodu je onaj ReDim Preserve... koji je nepotreban i usporava izvrsavanje koda, elem, potreban je samo ReDim (i to ne Preserve) pre for petlje (jer se pre ulaska u petlju zna duzina stringa koji se deli), znaci 'vako:

A što ti smeta ? :) Zamisli da je kojim slučajem došao rgdrajko, to bi izgledalo nekako ovako
Code:
If Mid(Text1.Text, 1, 1) = "a" then PrvoSlovoIzvucenoIztextBoxaMalopre = "a"
If Mid(Text1.Text, 1, 1) = "b" then PrvoSlovoIzvucenoIztextBoxaMalopre = "b"
...
If Mid(Text1.Text, 5, 1) = "a" then DrugoSlovoIzvucenoIztextBoxaMalopre = "a"
...
Msgbox PrvoSlovoIzvucenoIztextBoxaMalopre & DrugoSlovoIzvucenoIztextBoxaMalopre & TreceSlovoIzvucenoIztextBoxaMalopre

Šalu na stranu, slažem se sa tobom. Iako se ne dobija neko značajno ubrzanje, uvek je dobro optimizovati kod i izbaciti nepotrebne stvari. Kod sam napisao onako "na prvu loptu" bez razmišljanja.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: kako razloziti tekst07.10.2007. u 13:06 - pre 201 meseci
ma znam ja da si to ti pisao na brzinu, i da znas "da tako ne treba", nego da se ostali ne bi naviknuli da koriste ReDim Preserve unutar For petlje

Citat:

A što ti smeta ? Zamisli da je kojim slučajem došao rgdrajko, to bi izgledalo nekako ovako
Code:

If Mid(Text1.Text, 1, 1) = "a" then PrvoSlovoIzvucenoIztextBoxaMalopre = "a"
If Mid(Text1.Text, 1, 1) = "b" then PrvoSlovoIzvucenoIztextBoxaMalopre = "b"
...
If Mid(Text1.Text, 5, 1) = "a" then DrugoSlovoIzvucenoIztextBoxaMalopre = "a"
...
Msgbox PrvoSlovoIzvucenoIztextBoxaMalopre & DrugoSlovoIzvucenoIztextBoxaMalopre & TreceSlovoIzvucenoIztextBoxaMalopre


LOL
 
Odgovor na temu

BinLaden
Ni na nebu ni na zemlji

Član broj: 147476
Poruke: 102
*.teol.net.

Sajt: www.sove-soft.rs.ba


Profil

icon Re: kako razloziti tekst09.10.2007. u 19:55 - pre 201 meseci
Kad ste vec krenili sa ispravkama moram i ja da se umijesam.

Kao prvo koliko ja znam niz uvijek pocinje od Nule nevazno dali je
posle definisan Sa Redim ili Redim Preserve, uvijek mu je nulti prvi zapis,
a obadvojica u for petlji krecete od 1 i preskacete odnosno
ostavljate prazan prvi odnosno nulti zapis.
I ovo sto je @Marko_l rekao, sa LBound nebi dobi prvo slovo rijci nego
bi dobio 0 zapis koji je prazan.

Slazem se sa @Aleksandrom da je u ovom slucaju bolje koristiti Redim
od Redim Preserve ali ima situacija gdje je on neizbijezan.Imam jednu
aplikaciju u kojoj sam Koristio Redim Preserve koji se vrti u petlji po nekoliko
hiljada puta i nisam primijetio da nesto vidno usporava program.

Jos nesto, komanda Redim ponistava citav niz, odnosno ukoliko je u nizu
bilo nekih podataka oni posle Redim vise nece postojati, dok Redim Preserve samo
definise novu duzinu niza ne brisuci podatke koji se vec nalaze u nizu.
Ero S Onoga Sveta
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.220.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: kako razloziti tekst09.10.2007. u 20:40 - pre 201 meseci
Da, to je tačno, ali lako rešivo.
Umesto
Code:
ReDim sText(Len(Text1.Text))

treba da ide
Code:
ReDim sText(1 To Len(Text1.Text))

i to ako mu uopšte treba da dobije prvo slovo na taj način. Uvek može da ga zatraži sa sText(1).
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
80.93.249.*



+3 Profil

icon Re: kako razloziti tekst11.10.2007. u 22:03 - pre 201 meseci
Citat:
Marko_L: A što ti smeta ? :) Zamisli da je kojim slučajem došao rgdrajko...


Ok, shvaticu ovo kao salu coveka koji nezna kada je vreme za salu i koji ne ume da napravi salu, a drugo gospodine Marko ja i ti nismo prijatelji da bi se ti tako salio samnom. Postuj ti mene i ja cu tebe.

Svi izlozeni primeri, od oba moderatora, koji su se ovde prepucavali sa silnim znanjem, do ove zadnje ispravke na koju je opomenuo Bin laden kada se unesu u program ne rade i tu je Bin Laden apsolutno u pravu. Vi cesto pisete kod bez testiranja i onda se pojavljuju mnoge greske dok vas neko ne ispravi, ne bi bila losa praksa da uz svaki komentar ubuduce prikacite i vas kod u zip fajlu, onda se ovakve greske nece desavati.

Citat:
Marko_L: Da, to je tačno, ali lako rešivo.
Umesto
Code:
ReDim sText(Len(Text1.Text))

treba da ide
Code:
ReDim sText(1 To Len(Text1.Text))

i to ako mu uopšte treba da dobije prvo slovo na taj način. Uvek može da ga zatraži sa sText(1).


Umesto ovog gornjeg koda mogao si da stavis:
Code:
Option Base 1


i sve bi radilo. Option Base 0 je podrazumevana vrednost sa kojom si od prvog posta baratao.



rgdrajko
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: kako razloziti tekst11.10.2007. u 22:40 - pre 201 meseci
U Markovom kodu ne radi jedino taj LBound, ali ne znam zasto ga uopste pominjao, prvi element dobijes index-om 1, drugi 2 i tako do UBound. Nije nikakav problem ako koristis elemente niza od 1 (osim maaalo veceg zauzeca memorije, bar u ovom slucaju) pod uslovom da tako stalno radis.

Sto se shale tice, necu mnogo komentarisati ali mislim da je imala osnova :)
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
80.93.249.*



+3 Profil

icon Re: kako razloziti tekst11.10.2007. u 23:44 - pre 201 meseci
Citat:
Shadowed: U Markovom kodu ne radi jedino taj LBound, ali ne znam zasto ga uopste pominjao, prvi element dobijes index-om 1, drugi 2 i tako do UBound. Nije nikakav problem ako koristis elemente niza od 1 (osim maaalo veceg zauzeca memorije, bar u ovom slucaju) pod uslovom da tako stalno radis.

Sto se shale tice, necu mnogo komentarisati ali mislim da je imala osnova :)


Mislis da je ovo korektno.



[Ovu poruku je menjao rgdrajko dana 12.10.2007. u 01:21 GMT+1]
rgdrajko
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: kako razloziti tekst11.10.2007. u 23:59 - pre 201 meseci


Nemas pojma koliko je smesno kada to ti kazes
 
Odgovor na temu

BinLaden
Ni na nebu ni na zemlji

Član broj: 147476
Poruke: 102
*.teol.net.

Sajt: www.sove-soft.rs.ba


Profil

icon Re: kako razloziti tekst12.10.2007. u 00:39 - pre 201 meseci
+Evo jos jedan polu-offtopic.
Moj prvi post je bio izazvan @aleksanrovim ispravkom @markovog rjesenja, odnosno
vec sam jednom rekao da je ovaj forum postao monoton i u dosta slucajeva se svodi
na prepucavanje izmedju najaktivnijih clanova i modaratora cim neko primjeti
neku "greskicu" odnosno neko drugo rjeseje. Poceli smo najbanalniji
problem da razlazemo na detalje. Jedino sto me raduje je to sto je
ovde izgleda pocela da vlada demokretija, pa su i Moderatori poceli jedan drugog
da ispravljaju.

Citat:
ma znam ja da si to ti pisao na brzinu, i da znas "da tako ne treba",
nego da se ostali ne bi naviknuli da koriste ReDim Preserve unutar For petlje


U 90% slucajeva (Redim Preserve) se koristi BAS u petlji, doduse vecinom u (Do) petlji
odnosno kad neznas tacan broj izvrsenja petlje i ne znam zbog cega ono "da se ostali
ne bi navukli" i "da tako ne treba"?

Citat:
Nije nikakav problem ako koristis elemente niza od 1
(osim maaalo veceg zauzeca memorije, bar u ovom slucaju) pod uslovom da tako stalno radis.


Zauzece memoirje je najmanji problem u ovom slucaju, problem je ako se pokusa iscitati
prazan zapis u nizu, doci ce do greske. Tj. ne u ovom slucaju, nego nastavljam ispravke
koje je @Aleksandar poceo, u globalnom pogledu kada uzmemo da skoro sve komponente,
kontrole i ostalo po defoult-u pocinje od 0 bolje je u svakom smislu popunjavanje niza
poceti od 0.
A sto se tice zauzeca memorije niza, u ovom slucaju vise memorije ce zauzet taj prazan
zapis nego ako mu dodijelimo vrijednost nekog znaka, osim u slucaju kako je
@aleksandar rekao Za dodatnu optimalizaciju. Ali kad dodamo da se tu radi o byte-ovima
o tome je glupost pricati.
Ero S Onoga Sveta
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: kako razloziti tekst12.10.2007. u 01:40 - pre 201 meseci
ReDim koristis onako kako je u odgovarajucoj situaciji najbolje. Ovde je bolje jednom pre petlje. Negde je mozda neophodno da se vrsi svaki put unutar petlje. Sto manje, to bolje. Nisam siguran, ali ako nisam nesto pomesao (slicna je stvar sa stringovima u .net-u), kada uradis ReDim Preserve, kreira se nov niz pa se zatim kopira sadrzaj starog u taj nov a stari odbacuje. Zbog toga (dodatno) preporucljivo vrsiti ovo sto manje puta.

Ostalo se slazem. Samo bih napomenuo da sam rekao "ako tako stalno radis". Znaci, ako uvek citas od 1, onda nije problem. Inace, ja praktikujem od 0 osim kada je nekad logika aplikacije takva da je lakse koristiti od 1 nego stalno neku vrednost smanjivati, povecavati za 1.
 
Odgovor na temu

[es] :: Visual Basic 6 :: kako razloziti tekst

[ Pregleda: 2840 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.