AGB  ·  Datenschutz  ·  Impressum  







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

Möchten sie 1 oder 2 Gb RAM?

Ein Thema von Corelgott · begonnen am 30. Aug 2003 · letzter Beitrag vom 31. Aug 2003
Antwort Antwort
Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#1

Möchten sie 1 oder 2 Gb RAM?

  Alt 30. Aug 2003, 19:14
Hi @ all,

ic habe ein probelm. Und zwar:

Ich habe eine ziemlich große Datei, in der ich immer Kooerdinatenpaare habe. (X & Y)

nun möchte ich das in eine Andere Datei schreiben und zwar erst alle X werte und dann alle Y werte.

Das Problem ist blos, dass bei der menge der Daten (ca. 750.000!) ich das ganze nicht "on the fly" machen kann. Normalerweise würde ich das ganze in ein Dynamischens Array packen und dann wieder weg schreiben. Aber das proggi soll auch noch auf nem Rechner laufen der nicht nen Gig Ram hat.

Also wohin lagere ich die Daten zwischen?
In ner einzelden Datei gibt das ein paar probleme, das ich das ganze nicht ohne weiteres so wegschreiben und dann wieder lesen kann.

Klingt vielleicht ein bischen krank, aber gibt es ne möglichkeit delphi dazu zu überlisten, das er eine Variable nicht in den Ram packt sondern vielleicht auf die Platte?

Hat wer ne idee? Ich würde auch "kranke" sachen versuchen und das ganze zu lösen...

thx Corelgott
  Mit Zitat antworten Zitat
gunter

Registriert seit: 29. Aug 2003
7 Beiträge
 
#2

Re: Möchten sie 1 oder 2 Gb RAM?

  Alt 30. Aug 2003, 19:28
das geht ganz einfach, und zwar liest du nicht alle Daten auf einmal aus, sondern gehst nach diesem Schema durch die Datei

Öffne Datei1
Öffne Datei2

Lese erste Zeile aus Datei 1
Separiere X-Wert aus der Zeile
Hänge an Datei 2 eine Zeile an und schreibe den X-Wert in Zeile

Lese zweite Zeile aus Datei 1
Separiere X-Wert aus der Zeile
Hänge an Datei 2 eine Zeile an und schreibe den X-Wert in Zeile

...

gehe zum Anfang der beiden Dateien

Lese erste Zeile aus Datei 1
Separiere Y-Wert aus der Zeile
Hänge an die erste Zeile aus Datei 2 den Y-Wert an

Lese zweite Zeile aus Datei 1
Separiere Y-Wert aus der Zeile
Hänge an die zweite Zeile aus Datei 2 den Y-Wert an

...

Schliesse beide Dateien

ich hoffe das hilft
Gunter
  Mit Zitat antworten Zitat
Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Möchten sie 1 oder 2 Gb RAM?

  Alt 31. Aug 2003, 15:49
An sich keine schlechte idee, aber:

Wie lange glaubst du brauch man um eine 24MB Datei Byte weise durchzugehen? Und dass dann 2 mal! Einmal dauert schon lange.... verdamt lange... Würde zwar gehen, aber ich würde ungeren mit nem P133 eine 2x 15min brauchen....

thx Corelgott
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#4

Re: Möchten sie 1 oder 2 Gb RAM?

  Alt 31. Aug 2003, 16:16
Hi,

ich meine du hast schon recht, das daurt lange, aber gunters Vorschlag ist denk ich gut, denn wie schon gesagt, über dynamische Datenstrukturen zu gehen, also Arrays Listen usw. , bedeutet alles in den Ram zu werfen. Über auf der Festplatte vorhandene Dateien zu gehen, is meines Wissens der einzige Weg. Auch wenn esl lange dauert, das Problem wird gelöst, oder.
Viel Erfolg,

Czapie.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
Nimoee

Registriert seit: 20. Aug 2003
Ort: Darmstadt
131 Beiträge
 
Delphi 5 Professional
 
#5

Re: Möchten sie 1 oder 2 Gb RAM?

  Alt 31. Aug 2003, 17:10
hallo,

ich versteh nicht so ganz dein Problem. Was hast du 750000 mal real oder 750000 mal word oder long integer;
Ich behandele bei meinem Feldberechnungsprogramm Matrizen von einer Grösse 10000*10000 das sind 500 MB, also vergleichweise viel mehr als bei dir.
Ich halt die Dinger im RAM, wozu gibts ne Auslagerungsdatei.
Rechne mal genau nach, du kommst höchstens auf 10MB. Wer hat die nicht?
Also ich glaub nicht dass das Problem real besteht!

nimoee
  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:35 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