AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Teilbereich einer Datei in Memo anzeigen (große Datei)
Thema durchsuchen
Ansicht
Themen-Optionen

Teilbereich einer Datei in Memo anzeigen (große Datei)

Ein Thema von Alex_ITA01 · begonnen am 21. Aug 2023 · letzter Beitrag vom 22. Aug 2023
Antwort Antwort
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

Teilbereich einer Datei in Memo anzeigen (große Datei)

  Alt 21. Aug 2023, 08:48
Moin zusammen,
ich habe schon einiges im Forum gesucht aber nicht das gefunden, was ich gerne hätte
Angenommen ich habe eine 500 MB große Textdatei (nur Text!) und ich möchte den Inhalt in einem Memo darstellen.
Natürlich will ich nicht den kompletten Inhalt auf einmal darstellen aber evtl. anhand der aktuellen Größe des Fensters (=Memo, da alClient) so viel wie gerade maximal sichtbar ist. Per vertikaler Scrollbar soll dann auch nur so viel "nachgeladen" werden, wie eben sichtbar ist.
Das heißt, ich möchte auch nicht die komplette Datei in das Memo laden sondern eben nur so viel, wie gerade auch sichtbar ist.

Gibt es dafür schon etwas fertiges von Borland/Embarcadero/CodeGear/Idera oder wie sie auch immer heißen?
Gibt es dafür schon etwas fertiges von Fremdanbietern?

Wenn es da nichts gibt, was wären die Stichworte, um sowas zu implementieren bzw wie würdet ihr an diese Aufgabenstellung ran gehen?
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
218 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Teilbereich einer Datei in Memo anzeigen (große Datei)

  Alt 21. Aug 2023, 09:04
würde sagen, das man dafür eine Datenbank macht, und dann ein
SQL-Query anlegt, mit WHERE einen Filter setzt, und mit den Zusatz LIMIT die Anzahl
der Datenreihen/Records limitiert.

Dann kann man mit einen weiteren Query die nächsten Datenreihen filtern, und anzeigen.

Geht etwas schneller, als manuell nachprogrammieren.

Möglichkeit 1: DBMemo
Mäglichkeit 2: DBGrid

Alles in der Pro, und aufwärts enthalten.

Ansonsten Jedi ...
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#3

AW: Teilbereich einer Datei in Memo anzeigen (große Datei)

  Alt 21. Aug 2023, 09:15
Datenbanken möchte ich keine integrieren.
Es soll von der Architektur so bleiben wie es ist.
Im TotalCommander (Nachfolger vom NortonCommander) gibt es da ein nettes Feature, welches ich mir ähnlich vorstelle.
Nennt sich dort "F3" (=Viewer). Der lädt die Datei innerhalb von 1-2 Sekunden (selbst 2GB Text-Dateien). Zeigt aber eben nur den aktuellen Ausschnitt an und beim Scrollen wird "nachgeladen". So stelle ich mir das vor.
Bitte keine Diskussion über Sinnhaftigkeit von 2GB großen Text-Dateien starten. Ich möchte nur ein Lösungsansatz
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.380 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Teilbereich einer Datei in Memo anzeigen (große Datei)

  Alt 21. Aug 2023, 12:54
Nur Laden aber nicht Editieren?
Hier war schon mal was ähnliches
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#5

AW: Teilbereich einer Datei in Memo anzeigen (große Datei)

  Alt 21. Aug 2023, 13:32
Schonmal den SJMmfFileReader getestet?
https://entwickler-ecke.de/topic_SJ+...r_99933,0.html

Bzw die Weiterentwicklung
https://entwickler-ecke.de/viewtopic.php?t=100088
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Teilbereich einer Datei in Memo anzeigen (große Datei)

  Alt 21. Aug 2023, 13:56
Wenn es nicht unbedingt in Memo sein muss und es nur ums Anzeigen geht, habe ich das mal mit einem Virtual String Grid (dzVirtualStringGrid) gemacht:

https://blog.dummzeuch.de/2016/05/29...ge-text-files/

und dann nochmal

https://blog.dummzeuch.de/2013/02/16...rgetextviewer/

Ich glaube nicht, dass das mit einem TMemo überhaupt geht, ohne sich einen abzubrechen. Wenn Memo, würde ich ein SynMemo (aus dem SynEdit Projekt) nehmen.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Teilbereich einer Datei in Memo anzeigen (große Datei)

  Alt 21. Aug 2023, 14:04
Es gab auch hier schon mehrere Threads dazu
Die Suche meint:



https://www.delphipraxis.net/88342-t...n-oeffnen.html
Es gab auch noch eine Klasse von jemand Anderem (wesentlich mehr ausgebaut/optimiert) ... Sie dürfte bestimmt auch in den Threads irgendwo mit erwähnt werden.

https://www.delphipraxis.net/147637-...rtualmemo.html
https://www.delphipraxis.net/139696-...ssignfile.html
https://www.delphipraxis.net/130750-...-zu-laden.html
https://www.delphipraxis.net/130863-filequicksort-dateien-mit-wenig-speicherlast-sortieren.html
https://www.delphipraxis.net/90203-t...ell-laden.html
...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Aug 2023 um 10:05 Uhr)
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#8

AW: Teilbereich einer Datei in Memo anzeigen (große Datei)

  Alt 22. Aug 2023, 06:40
Danke für die vielen Anregungen.
Den SJMmfFileReader kenne ich, werde mir das mal genau angucken (vorallem die Weiterentwicklung).
Es geht mir in erster Linie darum, den Text anzuzeigen und da bietet sich am einfachsten ein Memo an.
Editieren soll man nicht aber würde natürlich gerne die "normalen" Textfunktionen nutzen können wie z.B. von einer Stelle im Text bis zu einer anderen markieren und dann Kopieren in die Zwischenablage.
Danke erstmal für die Ideen
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Teilbereich einer Datei in Memo anzeigen (große Datei)

  Alt 22. Aug 2023, 10:07
Problemchen beim Editieren ist, dass sich auch alle nachfolgenen Blöcke/Speicher verschieben, wenn der geänderte Text länger/kürzer ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#10

AW: Teilbereich einer Datei in Memo anzeigen (große Datei)

  Alt 22. Aug 2023, 10:21
Sorry für das unglückliche ausdrücken...
Ich editiere nichts, ich will nur markieren, kopieren, suchen können.
Das reicht vollkommen.
Let's fetz sprach der Frosch und sprang in den Mixer
  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 11:53 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