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

Probelm sa TFileStream-om....

[es] :: Pascal / Delphi / Kylix :: Probelm sa TFileStream-om....

[ Pregleda: 1759 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ivanho
slobodni umetnik
Beograd

Član broj: 28465
Poruke: 73
*.maksnet.net.



Profil

icon Probelm sa TFileStream-om....05.03.2006. u 16:21 - pre 220 meseci
Problem:

Code:

ReadStream := TFileStream.Create(AstrFile, fmOpenRead or fmShareDenyWrite);
with ReadStream do
  begin
    while (Position < pred(Size)) and (not Terminated) and (not blnSkip) do
      begin
        intRange := Read(FBuf^, FContext.BufferSizeKb*1024);
        for intBrojac := 0 to Pred(intRange) do
          begin
  
              {ovde je problem}

          end;
      end;
  end;


Potreban mi je da dobijem karaker koji se nalati na procitanoj poziciji
što u opštem slučaju nije teško:

Code:
(Char(Pointer(Longint(FBuf)+intBrojac)^))


medjutim problem nastaje prilikom čitanja fajlova koji u sebi sadrže unicode
karaktere.


Ideja? Rešenje?
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
213.137.96.*

ICQ: 246436949


+10 Profil

icon Re: Probelm sa TFileStream-om....05.03.2006. u 17:17 - pre 220 meseci
Unicode karakter ima 2 bajta. Ne znam kako ces da dodjes do toga koji deo fajla sadrzi Unicode karaktere, a koji ne.
 
Odgovor na temu

ivanho
slobodni umetnik
Beograd

Član broj: 28465
Poruke: 73
*.maksnet.net.



Profil

icon Re: Probelm sa TFileStream-om....05.03.2006. u 17:44 - pre 220 meseci

znam da ima 2 bajta... to i jeste polovina problema:
Kako da ta dva bajta objedinim u WideChar?
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Probelm sa TFileStream-om....06.03.2006. u 12:39 - pre 220 meseci
Mozes ovako:
Code:
WChar := WideChar(Word(LoByte) + 256 * Word(HiByte));


Pisem iz glave pa mozda nece raditi, ali shvatas poentu... mada ako ti je FBuf neki pointer mozes lepo da napises:
Code:
WChar := (PWideChar(FBuf) + (ZeljeniKarakter - 1))^;

 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Probelm sa TFileStream-om....

[ Pregleda: 1759 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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