Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Pliki
gibcio




Typ: neutral
Postów: 39
Zarejestrowany: Oct 2004
Pliki

Jak sprawdzić czy w pliku jest odpowiedni łańcuch np. Dom albo Ala ma kota.

01-11-2004 12:34
Pokaż profil gibcio  Wyślij email do gibcio        1654622
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Funkcja --> Instr

Jeżeli znajdzie zwróci pozycję znalezionego łańcucha w przeciwnym wypadku zwróci 0

Oczywiste jest, że musisz najpierw odczytać zawartość pliku i dopiero szukać.

Zależy jaki to plik

Pozdrawiam


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

01-11-2004 12:58
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

A co jeśli plik ma np. 900MB? Raczej go nie wczyta do pamięci . Ja bym radził zrobić to tak: wczytywać w pętli do bufora fragment pliku i sprawdzać funkcją InStr, czy jest w nim zadany ciąg znaków. następnie pobrać kolejny itd. Z tym, że trzeba pamiętać, że początek następnego pobieranego fragmentu musi być o len(szukany_ciag) wcześniej niż skończył się poprzedni - inaczej nie wykryje się np. ciągu rozbitego pomiędzy dwa fragmenty.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

01-11-2004 20:30
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Dlatego napisałem że zależy co to za plik


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

02-11-2004 11:17
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Dlatego napisałem że zależy co to za plik

Poza tym wątpię żeby szukał wyrazu Ala w pliku 900MB

Pozdrawiam


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

02-11-2004 11:17
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
kicaj




Typ: neutral
Postów: 271
Zarejestrowany: Aug 2003

Weź pod uwagę to że jeśli będziesz czytał plik fragmentami to możesz swój szukany łańcuch podzielicprzez przypadek, i zamiast "Ala ma kota" będzie np. "Ala ma ko"

02-11-2004 15:46
Pokaż profil kicaj  Wyślij email do kicaj        3914568
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Przeczytaj dokładnie ostatnie zdanie mojej wypowiedzi .


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

02-11-2004 16:08
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
gibcio




Typ: neutral
Postów: 39
Zarejestrowany: Oct 2004

Już sobie z tym poradziłem, ale zamiast pliku jest to tablica 365 stringów.

[Post edytowany dnia 02-11-2004 17:40 przez gibcio]

02-11-2004 17:39
Pokaż profil gibcio  Wyślij email do gibcio        1654622
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003


Dim I As Integer
Dim Ala(32000) As String
Sub Kot()
For I=0 To Ubound(Ala)
If InStr(1,Ala(I),"Ala"<>0 Then Call Costam
Next
End Sub



_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

02-11-2004 19:26
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
Wszystkich odpowiedzi: 8 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1