AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Anzahl Zeilen in einem Textfile

Ein Thema von TomDooley · begonnen am 18. Mai 2004 · letzter Beitrag vom 20. Mai 2004
Antwort Antwort
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.421 Beiträge
 
Delphi 12 Athens
 
#1

Re: Anzahl Zeilen in einem Textfile

  Alt 19. Mai 2004, 12:46
Hier mal die Anzahl der Zeilen aus einer Datei in einer eigenen Funktion

Delphi-Quellcode:
function CountLines(aFileName: string): Integer;
const
  BUF_SIZE = 4096;
var
  Buffer: array[0..Pred(BUF_SIZE)] of Byte;
  Cnt: Integer;
  FS: TFileStream;
begin
  FS := TFileStream.Create(aFileName, fmOpenRead or fmShareDenyWrite);
  try
    Result := 0;
    repeat
      Cnt := FS.Read(Buffer[0], BUF_SIZE);
      asm
        // load data count
        mov EAX, Cnt
        dec EAX
        js @@NoData // no data

        // load current line count
        mov ECX, Result

        // loop data buffer
        @@LoopBuffer:
        // compare byte in memory
        cmp byte ptr[Buffer + EAX], $0A
        jnz @@CheckDataLeft // not a line break (#10)
        // increment line count
        inc ECX

        // goto next byte
        @@CheckDataLeft:
        dec EAX
        jns @@LoopBuffer

        // return result
        mov Result, ECX
        @@NoData:
      end;
    until Cnt < BUF_SIZE;
  finally
    FS.Free;
  end;
end;
Okay, ich gebe es, ich wollte mal wieder mit Assembler rumspielen

......
Lizbeth W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz