Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Line Input, a vbCRLF
Tigrisek



Typ: neutral
Postów: 91
Zarejestrowany: Jul 2002
Line Input, a vbCRLF

mam pytanie
w instrukcji znalazłem że Line Input ładuje linię zakończoną Cr lub CrLf czyli Chr(13) lub (Chr(13)+Chr(10))
a ja mam tekst z liniami zakończonymi Lf czyli Chr(10) i mam problem

jak to zrobićcoby ładował linie do Lf?
zrobiłem Input znak po znaku ale nie o to chyba chodzi no nie?

08-05-2003 16:22
Pokaż profil Tigrisek  Wyślij email do Tigrisek        107040
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

chyba będziesz musiał zastosować odczytywanie znak po znaku :-(

linie łamane kodem #10 są wykorzystywane tylko w Makach, więc programiści VB uznali za niepotrzebne implementację tego znaku końca linii


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

09-05-2003 17:29
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003
Odpowiedź

Odwiedź ten link: [A HREF]http://losmac.republika.pl/uniwersalne/uniwersalne.html
[/A HREF] i obejrzyj przykład 2, który powoduje zastępowanie określonego znaku.
Proponuję byś odczytywał jeden plik przez Line Input, zastępował znak vbLf na vbCrLf i zapisywał w drugim pliku.

UWAGA! Podany przykład zastępuje tylko znaki o tej samej długości!
Len(vbLf) = 1, a Len(vbCrLf) = 2.

...albo...

wykorzystaj przykład 1 z podanego linku.


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

09-05-2003 19:41
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Tigrisek



Typ: neutral
Postów: 91
Zarejestrowany: Jul 2002
dzięki !

Jelcyn,
znak po znaku nawet szybko działa, choć komfort nijaki
a skoro zrobili dwa przypadki to co ich powstrzymało od trzecieko (mowa o prog vb)

losmac,
fajna stronka ... conieco oblookałem


dzięki za odp

09-05-2003 21:14
Pokaż profil Tigrisek  Wyślij email do Tigrisek        107040
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002


Jelcyn,
znak po znaku nawet szybko działa, choć komfort nijaki
a skoro zrobili dwa przypadki to co ich powstrzymało od trzecieko (mowa o prog vb)

losmac,
fajna stronka ... conieco oblookałem


dzięki za odp



Wcale takie szybkie nie jest. Przy 100 bajtowym pliku może jest szybkie, ale przy wielkich plikach jest to wolne. Najlepiej odczytać do zmiennej cały plik (od razu) a potem na zmiennej operować, tak jest szybciej


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

09-05-2003 22:15
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
Tigrisek



Typ: neutral
Postów: 91
Zarejestrowany: Jul 2002
no to popytam dalej

pliki tekstowe na których operować będę są do ok 200 kb
rozumiem że proponujesz by:

line input #plik, bufor    (ładuje wszystko)
close #plik

a potem znak po znaku z bufora ???

czy tak?

10-05-2003 01:15
Pokaż profil Tigrisek  Wyślij email do Tigrisek        107040
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

odczytujesz do zmiennej np.

Dim Z as string

open...
Z=input$(lof(1),1) 'albo 1,lof(1) nie pamietam
close ...

i masz w Z caly plik

teraz odczytujesz po znaku ze zmiennej np. tak:

for a=1 to len(Z)
  msgbox mid$(Z,a,1)
next a


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

10-05-2003 16:29
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

Ja już wogóle zwątpiłem (jak czytałem ten cały post i odpowiedzi) czy ja wogóle rozumiem o co biega w pytaniu. Wydawało mi sie że chcesz poprostu załadować plik tekstowy zapisany w formacie Mac'a np do text boxa? Jeżeli tak to nie wiem po co sie bawić w jakieś odczytywanie znaku po znaku? Nie lepiej podzielić cały text na stringi rozdzielone chr(10)? A mianowicie tak:

temp = Split(bufor, Chr(10))
For i = 0 To UBound(temp) - 1
    Text1.Text = Text1.Text & vbNewLine & temp(i)
Next i

oczywiscie jak juz masz ten cały plik w buforze. A zauważyłem jedną ciekawą rzecz: u mnie użycie funkcji line input (nawet w plikach mac) powoduje wczytanie jednego wiersza a nie całego pliku. Używam VB 6.0 może dlatego to u was nie dziala (oczywiscie jeżeli macie wcześniejsze wersje - jeżeli nie to nie wiem o co chodzi).


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

11-05-2003 05:08
Pokaż profil m-a-x  Wyślij email do m-a-x   
Tigrisek



Typ: neutral
Postów: 91
Zarejestrowany: Jul 2002
ha

zauważyłem że jak wrzuce cały plik (3 Mb) do jednej zmiennej to działa ze 2x wolniej niż Line Input.
Ktoś wie dlaczego? myslalem ze operacje na pamieci są szybsze niz na otwartych plikach.
Jedyny plus to taki że wówczas moge sobie zdeklarować rodzaj końca lini (wspomniany CRLF lub LF)
ale i to udało mi sie obejść

25-06-2003 14:31
Pokaż profil Tigrisek  Wyślij email do Tigrisek        107040
Wszystkich odpowiedzi: 8 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1