AGB  ·  Datenschutz  ·  Impressum  







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

Text-Datei schnell laden

Ein Thema von fips0705 · begonnen am 13. Apr 2007 · letzter Beitrag vom 13. Apr 2007
Antwort Antwort
fips0705

Registriert seit: 13. Sep 2006
45 Beiträge
 
#1

Text-Datei schnell laden

  Alt 13. Apr 2007, 12:41
Hy,
ich habe eine Text-Datei reines ASCI (80.000 Zeilen) nun versuche ich diese mit

Memo1.lines.LoadFromFile(opendialog1.filename) ; zu laden, dies funktioniert auch, nur dauert das Laden sehr lange ca 2 Minuten.
Es liegt nicht am Rechner.
Kennt Ihr eine Funktion wie das Laden schneller funktioniert?
Mit UltraEdit dauert das Lesen nur ca. 4 Sekunden.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Text-Datei schnell laden

  Alt 13. Apr 2007, 12:43
Willst du die Datei nur in den Speicher laden oder auch anzeigen?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Text-Datei schnell laden

  Alt 13. Apr 2007, 12:46
Hierdurch sollte es etwas schneller gehen:
Delphi-Quellcode:
 
Memo1.Lines.BeginUpdate;
Memo1.lines.LoadFromFile(opendialog1.filename) ;
Memo1.Lines.EndUpdate;
Grüße
Klas
Klaus
  Mit Zitat antworten Zitat
fips0705

Registriert seit: 13. Sep 2006
45 Beiträge
 
#4

Re: Text-Datei schnell laden

  Alt 13. Apr 2007, 12:48
Danke Klaus 01 werde es gleich mal testen

nur in den Speicher laden, ich muss die Datei anschliessend umwandeln.
z.B. Zeilen raus und verschieben usw.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Text-Datei schnell laden

  Alt 13. Apr 2007, 12:50
Wenns nur in den Speicher laden ist, dann brauchst du doch kein Resourcefressendes Memo. Nimm doch einfach eine TStringList:

Delphi-Quellcode:
var
  SL : TStringList ;
begin
    SL := TStringList.create ;
    SL.LoadFromFile(opendialog1.filename) ;
end ;
  Mit Zitat antworten Zitat
fips0705

Registriert seit: 13. Sep 2006
45 Beiträge
 
#6

Re: Text-Datei schnell laden

  Alt 13. Apr 2007, 12:53
Jelly, Danke
werde ich geich mal ändern
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#7

Re: Text-Datei schnell laden

  Alt 13. Apr 2007, 12:54
Dann nimm doch gleich TStringList.

Die Edits müssen sich ja zusätzlich noch um das Anzeigen und Verwalten(Übergabe an die entsprechenden Komponente/WinAPIs) der Daten kümmern.

@Klaus01: ich glaub BeginUpdate+EndUpdate werden intern von LoadFormFile auch schon aufgerufen


PS: Hier im Forum suchenTPartialTextfile (wobei die 80.000 mit wohl nur rund 3 MB auch locker komplett in den Speicher passen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von jmit
jmit

Registriert seit: 24. Feb 2005
Ort: Langelsheim
383 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Text-Datei schnell laden

  Alt 13. Apr 2007, 17:38
Hallo,

Zitat von himitsu:
ich glaub BeginUpdate+EndUpdate werden intern von LoadFormFile auch schon aufgerufen
Woher hast Du die Information? Kann ich mir aber schon gut vorstellen.

Ich habe das Problem einmal in einem kurzen Programm versucht nachzustellen. Das Laden der Datei geht mit Loadfromfile sehr schnell.
Ohne "BeginUpdate;" und "EndUpDate".

Delphi-Quellcode:
Memo1.Lines.BeginUpdate;
Memo1.lines.LoadFromFile(opendialog1.filename) ;
Memo1.Lines.EndUpdate;
Gruß Jörg
Windows 7, Firefox Version 3.6, Turbo Delphi für Win32
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Text-Datei schnell laden

  Alt 13. Apr 2007, 17:46
Zitat von jmit:
Woher hast Du die Information? Kann ich mir aber schon gut vorstellen.
"Deklaration von LoadFromFile" suchen und den Code lesen.
  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 10:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz