Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 2.365 pregleda

Najnovija ↓

Probelm sa TFileStream-om.... 05.03.2006. u 17:21 · pre 251 mesec #1
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?
Re: Probelm sa TFileStream-om.... 05.03.2006. u 18:17 · pre 251 mesec #2
Unicode karakter ima 2 bajta. Ne znam kako ces da dodjes do toga koji deo fajla sadrzi Unicode karaktere, a koji ne.
Potpis
Play Store
Re: Probelm sa TFileStream-om.... 05.03.2006. u 18:44 · pre 251 mesec #3

znam da ima 2 bajta... to i jeste polovina problema:
Kako da ta dva bajta objedinim u WideChar?
Re: Probelm sa TFileStream-om.... 06.03.2006. u 13:39 · pre 251 mesec #4
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))^;
Potpis
Play Store
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme