AGB  ·  Datenschutz  ·  Impressum  







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

Große Textdateien verarbeiten

Ein Thema von -187- · begonnen am 7. Apr 2011 · letzter Beitrag vom 7. Apr 2011
Antwort Antwort
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#1

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 13:13
Das soll auch keiner lesen jedoch soll es dargestellt werden. -> Kundenwunsch

Das Zusammenfügen soll / kann in nicht visueller Ebene passieren jedoch will ich nicht alles in einer Variable schreiben (Speicher Auslastung).
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#2

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 13:15
Du sollst etwas darstellen, was dann niemand liest?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 13:18
Das soll auch keiner lesen jedoch soll es dargestellt werden. -> Kundenwunsch
Jaja, die Kunden
Wird jede Zeile auch als eigene Zeile dargestellt? Dann wäre z.B. eine ListBox (oder ähnliches) im virtuellen Modus eine Lösung ...
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#4

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 13:21
Wird jede Zeile auch als eigene Zeile dargestellt? Dann wäre z.B. eine ListBox (oder ähnliches) im virtuellen Modus eine Lösung ...
Oder gleich der VST.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 14:11
@DeddyH VST?

Wie wäre es denn mit den Methoden aus der guten alten Dos-Zeit?
Du schleppst eine Kombination aus Dateinamen und "Zeilenzeiger" mit und zeigst nur die 1,2,...n Zeilen an, die auf den Bildschirm passen. Das ist auf jeden Fall speicherschonend, aber etwas aufwendig zu programmieren.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#6

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 14:31
Virtual String Tree oder auch Virtual Treeview
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#7

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 14:37
Ja tatsächlich Kundenwunsch ... Der Kunde möchte dann durch die zusammengefügte Datei in einer Textbox (Memo) scrollen und ggf. Nacharbeitungen vornehmen.

Jedoch besteht der erste Schritt nur aus dem zusammenfügen der Dateien + Darstellung im Memo.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 14:44
Die Datei direkt in einen string laden > natürlich die Ansi-Unicode-Umwandlung nicht vergessen, da die Datei bestimmt mit ANSI gefüllt ist und dein Delphi Unicode nutzt.
(oder in einen AnsiString laden und dann Delphi es umwandeln lassen)

Und dann diesen string direkt an Memo1.Text übergeben.


Dateien zusammenfügen, indem alles Dateien hintereinander in den String geladen werden.


Delphi-Quellcode:
if FileExists(Path) then
begin
  AssignFile(F,Path);
  Reset(F);
  while not eof(F) do
  begin
    Readln(F,tmp);
    Form1.Memo1.Lines.Add(tmp);
  end;
  CloseFile(F);
end;
im Vergleich zu Diesem ... was von dem Folgenden dauert denn wie lange?
Delphi-Quellcode:
if FileExists(Path) then
begin
  AssignFile(F,Path);
  // hier noch den Buffer vergrößen
  Reset(F);
  while not eof(F) do
  begin
    Readln(F,tmp);
    //Form1.Memo1.Lines.Add(tmp);
  end;
  CloseFile(F);
end;
Delphi-Quellcode:
if FileExists(Path) then
begin
  AssignFile(F,Path);
  // hier noch den Buffer vergrößen
  Reset(F);
  tmp := 'hier irgendwas mit der durchschnittlichen Länge einer Zeile reinmachen';
  for i := 1 to Anzahl_der_Zeilen do
  //while not eof(F) do
  //begin
  // Readln(F,tmp);
    Form1.Memo1.Lines.Add(tmp);
  //end;
  CloseFile(F);
end;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#9

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 15:09
Der Kunde möchte [...] ggf. Nacharbeitungen vornehmen.
Das klappt dann mit virtuellen Systemen nicht mehr ... oder? *deddyh anschiel*

Wie wäre es also doch in etwa so, wie es p80286 vorgeschlagen hat: Nicht alles auf einmal anzeigen. Diese Forum z.B. zeigt ja auch nicht alle Threads einer Kategorie auf einmal an, sondern stückweise verpackt in übersichtliche Seiten
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Große Textdateien verarbeiten

  Alt 7. Apr 2011, 15:22
Ja tatsächlich Kundenwunsch ... Der Kunde möchte dann durch die zusammengefügte Datei in einer Textbox (Memo) scrollen und ggf. Nacharbeitungen vornehmen.

Jedoch besteht der erste Schritt nur aus dem zusammenfügen der Dateien + Darstellung im Memo.
Das hört sich aber verdammt nach einem aufgebohrten Notepad an.
Abgesehen vom zusammenfügen der Dateien (copy dateia+dateib+dateic Datei_alle), wie soll den diese Nachbearbeitung aussehen?

Gruß
K-H

Edith:
Ich könnte doch die Datenbank in einem DBMemo wiedergeben, dann werden doch immer nur die Zeile angezeigt die im sichtbaren Bereich liegen ?
und was ist mit dem Speicherbedarf?
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 01:07 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