Tekstfil læses forkert i TRichEdit!

Tags:    delphi

Hej..

Jeg har lavet et program som importerer <tab>-separerede data fra tekstfiler. Da jeg har haft dårlige erfaringer med TMemo (der er begrænsninger i antallet af linjer under Win95) bruger jeg som regel TRichEdit i stedet for TMemo. Men nu har jeg fundet en tekstfil som bliver læst forkert i en TRichEdit, men rigtigt i en TMemo! - og jeg HAR husket at sætte PlainText:=True!

Prøv at læse denne txt fil : http://www.phage.dk/testrun.zip (Unzip'es) med TRichEdit1.LoadFromFile. Filen indeholder kun bogstaver, tal, kommaer og #9/#13

Linje 1921 og 1922 sættes sammen til een linje! når den indlæses i TRichEdit, men ikke i TMemo. Sletter man bare en enkelt vilkårlig linje i filen er det to helt andre linjer der bliver sat sammen.

Fænomenet sker både i Delphi6 og BDS2006! Er det mig der gør noget galt eller er der reelt en generel fejl i Delphi??

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 18.04.2006 21:47 af Bruger #9857
3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Hey Jesper,
umidelbart kan jeg ikke genskabe problemet (D7 & XP SP2)..

Har du kun prøvet på Win95 maskiner?

Du skal huske Richedit er blevet opdateret en del gange siden. Du kan dog bruge en nyere udgave til Win95 ved at inkludere Riched20.dll (Richedit 2.0 & 3.0).



Hmm.. Jeg kan genskabe problemet med D6+D2006 på XP SP2 på flere forskellige maskiner (både XP Home/Pro).

Det er afsnittet ved "37:20:00", hvor linjenr. 1921:

"490,192 140,477 829,579 552,529"
bliver sat sammen med (linjenr. 1922)
"525,66 600,248 138,895 637,21"
Selvom der er en #13 imellem (jeg har fjernet en masse #9)

Den software jeg har skrevet er blevet brugt på mange forskellige maskiner, hvor fejlindlæsnigen af data ligeledes sker konsekvent. (softwaren er her: http://jspk.phage.dk )

Grunden til at jeg ville bruge TRichEdit i stedet for TMemo var at man så understøtter Win95, idet denne version har en max begrænsning på antallet af linjer i en TMemo. Men hvem bruger også Win95 i vore dage?!? Jeg må vel bare skrive på hjemmesiden at man skal have Win98+ for at køre softwaren.





Indlæg senest redigeret d. 19.04.2006 21:06 af Bruger #9857
Okay... Den simple måde at teste for fejlen er at tælle linjerne i sin RichEdit når man har læst filen ind. I en TMemo er der 5105 linjer og i en TRichEdit er der 5101 linjer (fordi der læses forkert 4 steder i filen!).

Er der nogen flere der gidder at prøve at læse min fil og fortælle mig hvor mange linjer der er i den? ;)

Jeg kan ikke læse filen med ReadLn, da der kun er #13 ved linjeskift og ingen #10.

Fold kodeboks ind/udKode 




t