[ Srdjan Prpa @ 03.07.2007. 12:00 ] @
Kako da iz TextBox ubacim u ListBox, napravio sam da ucitam neki txt fajl u TextBox e kako odma kad ucitam taj fajl da mi se iz TextBox prebaci u ListBox? |
[ Srdjan Prpa @ 03.07.2007. 12:00 ] @
[ fpedja @ 03.07.2007. 13:45 ] @
Ako sam razumeo problem:
dim a as String = TextBox1.Text ListBox1.Items.Add(a) Ili zelis da deo teksta iz textBox-a prebacis? [Ovu poruku je menjao fpedja dana 03.07.2007. u 17:11 GMT+1] [ rgdrajko @ 12.07.2007. 20:50 ] @
Re fPedja
Ne moze tako. U listboxu se dobija tekst ispisan u jednom jedu sa kvadraticima izmedju teksta(umesto da je tekst u novom redu jer listbox ne prepoznaje znake za novi red kao tekst box.. Mora ovako. Code: Private Sub Form_Load() putanjaprograma = App.Path If Right(putanjaprograma, 1) <> "\" Then putanjaprograma = putanjaprograma & "\" End If Open putanjaprograma & "Proba.txt" For Input As #1 tekstzaupis = "" Do While Not EOF(1) Line Input #1, ocitanoizfajla List1.AddItem ocitanoizfajla tekstzaupis = tekstzaupis & ocitanoizfajla & vbCrLf Loop Text1.Text = tekstzaupis End Sub [ fpedja @ 13.07.2007. 13:28 ] @
Ok. Nisam ga razumeo da li zeli sve iz text boxa ili deo. To sam ga pitao ali nije odgovorio. U svakom slucaju, hvala na primedbi
![]() [ Aleksandar Ružičić @ 13.07.2007. 14:44 ] @
sto se tice citavanja text fajla direktno u list box (sto je highagain pitao u jednoj od predhodnih tema) to je vec odgovoreno u ovoj temi: http://www.elitesecurity.org/t267914-Import-txt-fajla-ListBox-VB, znaci nema potrebe za textbox-om
a ako nekome treba nacin kako da iz textboxa ucita text u listbox, onda to ide ovako: Code: Dim lines() As String Dim i As Long lines = Split(Text1.Text, vbNewLine) List1.Clear For i = 0 To Ubound(lines) List1.AddItem lines(i) Next [ rgdrajko @ 14.07.2007. 00:10 ] @
Ucitavanje iz tekstualnog fajla u tekst box i u list box istovremeno. Svaka izmena u text boxu(pisanje, brisanje...) u toku rada se automatski upisuje i u list boxu.
Program je uradjen bez funkcije Split radi lakseg razumevanja. Code: 'Ucitavanje iz Text box-a u List box Private Sub Form_Load() putanjaprograma = App.Path If Right(putanjaprograma, 1) <> "\" Then putanjaprograma = putanjaprograma & "\" End If Open putanjaprograma & "Proba.txt" For Input As #1 tekstzaupis = "" Do While Not EOF(1) Line Input #1, ocitanoizfajla List1.AddItem ocitanoizfajla tekstzaupis = tekstzaupis & ocitanoizfajla & vbCrLf Loop Text1.Text = tekstzaupis Call IzTextBoxauListBox End Sub Private Sub Text1_Change() 'Svaka promena u Text boxu(brisanje, pisanje se automatski menja i u List box-u) If Right(Text1.Text, 1) <> vbLf Then Text1.Text = Text1.Text & vbCrLf End If Call IzTextBoxauListBox End Sub Public Sub IzTextBoxauListBox() List1.Clear nekitekst = Text1.Text pocetak = 1 Do While kraj < Len(nekitekst) 'Posto je iza svake reci znak vbNewLine tj. vbCr+vbLf trazimo vbLf If InStr(pocetak, nekitekst, vbLf) Then kraj = InStr(pocetak, nekitekst, vbLf) nekarec = Mid(nekitekst, pocetak, kraj - pocetak - 1) List1.AddItem nekarec pocetak = kraj + 1 End If DoEvents Loop End Sub [ goranvuc @ 14.07.2007. 07:02 ] @
Citat: rgdrajko: Program je uradjen bez funkcije Split radi lakseg razumevanja. Pa nije bas svima funkcija Split teska za razumevanje ![]() Evo opis funkcije iz MSDN-a: Citat: Description Returns a zero-based, one-dimensionalarray containing a specified number of substrings. Syntax Split(expression[, delimiter[, count[, compare]]]) The Split function syntax has these parts: Part Description expression Required.String expression containing substrings and delimiters. If expression is a zero-length string(""), Split returns an empty array, that is, an array with no elements and no data. delimiter Optional. String character used to identify substring limits. If omitted, the space character (" ") is assumed to be the delimiter. If delimiter is a zero-length string, a single-element array containing the entire expression string is returned. count Optional. Number of substrings to be returned; –1 indicates that all substrings are returned. compare Optional. Numeric value indicating the kind of comparison to use when evaluating substrings. See Settings section for values. Settings The compare argument can have the following values: Constant Value Description vbUseCompareOption –1 Performs a comparison using the setting of the Option Compare statement. vbBinaryCompare 0 Performs a binary comparison. vbTextCompare 1 Performs a textual comparison. vbDatabaseCompare 2 Microsoft Access only. Performs a comparison based on information in your database. Svaki normalan programski jezik ima funkciju za "splitovanje" teksta u niz, pa necemo valjda umesto 1 reda koda stalno pisati 10 ili 15? Code: varNiz = Split("1,2,3,4,5,6,7", ",") ili prostim recnikom: Iz teksta "1,2,3,4,5,6,7" napravi niz tako sto ces uzeti sve delove teksta odvojene zarezom. Moze li ovako jednostavno i ipak puno jasnije nego ona "kobasica". Da li je moguce da vise ne raspravljamo ovde o nekim osnovnim stvarima? P.S. Uz osnovno testiranje mogao si da vidis da funkcija "IzTextBoxauListBox", ako je izolovano posmatras, ne vraca poslednji red teksta, a da ne spominjem sto vecno stoji u petlji i nikad se ne ispuni uslov izlaska iz nje ![]() A evo i izvorni tekst tvoje funkcije, za svaki slucaj, kako ti rece "Ako koza laze ...": Code: Public Sub IzTextBoxauListBox() List1.Clear nekitekst = Text1.Text pocetak = 1 Do While kraj < Len(nekitekst) 'Posto je iza svake reci znak vbNewLine tj. vbCr+vbLf trazimo vbLf If InStr(pocetak, nekitekst, vbLf) Then kraj = InStr(pocetak, nekitekst, vbLf) nekarec = Mid(nekitekst, pocetak, kraj - pocetak - 1) List1.AddItem nekarec pocetak = kraj + 1 End If DoEvents Loop End Sub Ako si bas hteo "cist i jednostavan pristup" onda si trebao u ovoj funkciji da pre obrade dodajes na kraj teksta vbCrLf na ovaj nacin: Code: Public Sub IzTextBoxauListBox() List1.Clear nekitekst = Text1.Text & vbCrLf pocetak = 1 ... End Sub a ne da "poturas" korisniku ovaj karakter u Text1_Change() dogadjaju: Code: Private Sub Text1_Change() 'Svaka promena u Text boxu(brisanje, pisanje se automatski menja i u List box-u) If Right(Text1.Text, 1) <> vbLf Then Text1.Text = Text1.Text & vbCrLf End If Call IzTextBoxauListBox End Sub [Ovu poruku je menjao goranvuc dana 14.07.2007. u 08:54 GMT+1] [ rgdrajko @ 14.07.2007. 11:28 ] @
Citat: rgdrajko: Program je uradjen bez funkcije Split radi lakseg razumevanja. Hvala, ali sve sam to znao daleko pre tebe. Kao sto gore pise ovo je cisto demostracija istog programa bez funkcije Split. Program je radjen na brzinu bez detaljnog testiranja. [ goranvuc @ 14.07.2007. 11:29 ] @
Izvini, zaboravio sam da radis u VB-u .... koliko, 255 ili 300 godina, posto je svaki put sve vise i vise?
[ rgdrajko @ 14.07.2007. 11:33 ] @
Pa mozda 255-300 godina. Salim se. Krenuo sam od 20 godine na spectrumu. Obrisi ova tri moja odgovora posto se ljutis.
[ goranvuc @ 14.07.2007. 11:38 ] @
Ma ne ljutim se, samo ne mora uvek da bude tvoja zadnja, narocito ako uopste ne doprinosi temi vec unosi zabunu. Nemoj ni ti da se ljutis, ali
Citat: rgdrajko: Hvala, ali sve sam to znao daleko pre tebe. ![]() [ rgdrajko @ 14.07.2007. 11:49 ] @
Ne ljutim se, bas je ovo sve simpaticno, to sto svi hocete mene da naucite i da mi mnogo toga objasnite. Dobar si ti programer, u stvari svi ste vi dobri programeri i bolji od mene, mnogo toga sam naucio od vas za veoma kratko vreme.
[ goranvuc @ 14.07.2007. 11:58 ] @
Ovaj cinizam najvise govori o tebi kao licnosti, a to koliko je ko dobar programer se moze videti iz koda koji svako od nas postavlja ovde, npr. iz tvog koda se moze dosta toga zakljuciti
![]() [ rgdrajko @ 14.07.2007. 12:13 ] @
Uopste nisam bio cinican, bas naprotiv. Rekao sam onako kako mislim.
[ Aleksandar Ružičić @ 14.07.2007. 14:35 ] @
ljudi, odoste previse offtopic, lock!
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|