[ Pobierz całość w formacie PDF ]
.Strona: [ > ] z 1 AutorTemat: odczyt z pliku.anonimTyp:Nie zarejestrowanyodczyt z pliku.Ja tu z takim malym problemikiem.otoz mam przykladowy plik txt w ktorym jest np.taka oto linijka:12 45 122 32I jak zrobic odczyt z tego pliku zeby kazda z tych wartosci podstawic jako inna zmienna?Wiem ze moze taki troche glupi problemik.ale sie VB zajmuje od 2 tygodni.takze.plz help.06-07-2003 19:30 Chudy[TLHW]WiktorTyp:moderatorPostów: 574Zarejestrowany: Aug 2002Ja napisa³em kiedy¶ funkcje która odczytuje od k±¶ do wybranego znaku np.w tym wypadku spacji.Niewiem czy jest ona potrzebna ale korzystam z niej.A poni¿ej (przyk³adowe) rozwi±zanie twojego problemu:Dim OstatniZnak As IntegerPublic Function DoZnaku(Ci±g As String, Znak As String, Optional OdK±d As Integer = 1) As StringFor I = OdK±d To Len(Ci±g)If Mid(Ci±g, I, 1) = Znak Then Exit ForDoZnaku = DoZnaku & Mid(Ci±g, I, 1)Next IOstatniZnak = I + 1End FunctionPrivate Sub Form_Load()Dim Linia As StringDim Zmienna1, Zmienna2, Zmienna3, Zmienna4Open App.Path & "\Plik.txt" For Input As #1Line Input #1, LiniaClose #1Zmienna1 = DoZnaku(Linia, " "Zmienna2 = DoZnaku(Linia, " ", OstatniZnak)Zmienna3 = DoZnaku(Linia, " ", OstatniZnak)Zmienna4 = DoZnaku(Linia, " ", OstatniZnak)End SubNie jestem pewien ale mog± byæ jakie¶ b³êdy w tym kodzie bo go nie testowa³em.Jest jeszcze jedno znacznie prostrze rozwi±zanie.Mianowicie zamieñ odstêpy na przecinki:12,45,122,32potem wystarczy napisaæ co¶ takiego:Dim L1,L2,L3,L4 As StringOpen (Plik) For Input As #1Input #1, L1, L2, L3, L4Close #1Przy odczycie z pliku zmienne musz± byæ typu string._____________________________________________Projekt "Thunder Cannons" nadchodzi.06-07-2003 20:11 1220895anonimTyp:Nie zarejestrowanya moze takTylko w References dodaj Microsoft Scripting RuntimePublic FSO As New FileSystemObjectDim plik As TextStreamDim Napis As String Set plik = FSO.OpenTextFile TuNazwaPlikuZPelnaSciezka, ForReading) Do Until plik.AtEndOfStream Napis = plik.ReadLineLoop plik.ClosePozdrawiam Rav.08-07-2003 13:50 TigrisekTyp:neutralPostów: 91Zarejestrowany: Jul 2002Private Sub Command1_Click()On Error Resume NextDim zmienna() As ByteDim a As Integer, b As IntegerDim d³ugo¶æ As String, warto¶æ As String, bufor As Stringplik = NazwaPlikuZPe³n±¦cie¿k±Open plik For Input As #1'przeszukuje ca³y plik - to jakbys mia³ wiêcej linijek'przyczym ka¿da cyfra to osobna warto¶æ je¶li chcesz by pod uwage braæ liczby oddzielone spacjami' to trzeba wprowadziæ pewne modyfikacjeDo Until EOF(1) Line Input #1, bufor d³ugo¶æ = Len(bufor) For a = 1 To d³ugo¶æ warto¶æ = Mid(bufor, a, 1) If warto¶æ <> " " Then 'tworzy tablice dynamiczn± bo zapewne niewiadomo ile bedzie tych danych ReDim Preserve zmienna(b) zmienna(b) = CByte(warto¶æ) b = b + 1 End If NextLoopClose #1'b to liczba zebranych zmiennych'zmienna(b) to warto¶ciEnd Sub08-07-2003 19:43 107040anonimTyp:Nie zarejestrowanyhmm ale namieszaliscie chlopaka.Ja bym to zrobil tak:1.w pliku tekstowym zrobil cos takiego" 12 45 122 32 " => te spacje musza byc2.otworzyl plik i zapisal wartosci do zmiennej np.temp (line input)2.do programu dodal bym tablice dynamiczna np.dane()3.dane = slide(temp," "i gotowe podzieli ci wartosci oddzielone spacjami na rozne wartosci zapisane w tablicy16-07-2003 01:50 Wszystkich odpowiedzi: 4 :: Maxymalnie na stronê: 20Strona: [ > ] z 1
[ Pobierz całość w formacie PDF ]