MemoRead() <-> LowLevel Funktionen [ERLEDIGT]
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hi,
nur soweit ganz kurz: Die Sache mit der DELDBE klappt. Ich kann also die semikolonseparierten Daten übernehmen. Frage hier und heute bloß keiner, woran es lag. Darüber möchte ich jetzt lieber nicht sprechen.
OOps, habe gerade festgestellt, dass ich das Problem gar nicht erwähnt hatte hier. Noch peinlicher.
nur soweit ganz kurz: Die Sache mit der DELDBE klappt. Ich kann also die semikolonseparierten Daten übernehmen. Frage hier und heute bloß keiner, woran es lag. Darüber möchte ich jetzt lieber nicht sprechen.
OOps, habe gerade festgestellt, dass ich das Problem gar nicht erwähnt hatte hier. Noch peinlicher.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: MemoRead() <-> LowLevel Funktionen [ERLEDIGT]
Hi,
nächste Erfahrung gemacht. In der Anleitung steht folgendes:
das ist irgendwie nicht wahr. Meine Textdatei ist 1,4 GB groß und mein RAM liegt bei knapp unter 3 GB. Das Programm meckert, "BASE/1005 nicht genügend Speicher". Auslagerungsdatei hat eine feste Größe von 3,5 GB.
nächste Erfahrung gemacht. In der Anleitung steht folgendes:
Code: Alles auswählen
Rückgabe
MemoRead() liest eine Datei komplett ein und gibt deren Inhalt als Zeichenkette zurück. Die Größe einer Datei ist nicht begrenzt. Wenn <cFilename> einen ungültigen Dateinamen enthält oder nicht gefunden wurde, gibt MemoRead() ein Null-Zeichen ("") zurück.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: MemoRead() <-> LowLevel Funktionen [ERLEDIGT]
Hallo Manfred,
ein Win32bit Programm ist auf max. 2 GB Hauptspeicher beschränkt.
DLL und Arbeitspeicher etc. brauchen auch noch was ... ich meine schon 1 GB eingelesen zu haben,
aber irgendwann ist halt immer Schluss
ein Win32bit Programm ist auf max. 2 GB Hauptspeicher beschränkt.
DLL und Arbeitspeicher etc. brauchen auch noch was ... ich meine schon 1 GB eingelesen zu haben,
aber irgendwann ist halt immer Schluss
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: MemoRead() <-> LowLevel Funktionen [ERLEDIGT]
Hi Hubert,
es gibt da so Worte wie : unbegrenzt, kein Limit usw. Wozu gibt es die, wenn sie keine Gültigkeit haben, aber trotzdem benutzt werden?
Also heißt das, 3 GB RAM nutzen nur dem OS etwas? Aber selbst wenn, dann wäre ja immer noch was Platz.
es gibt da so Worte wie : unbegrenzt, kein Limit usw. Wozu gibt es die, wenn sie keine Gültigkeit haben, aber trotzdem benutzt werden?
Also heißt das, 3 GB RAM nutzen nur dem OS etwas? Aber selbst wenn, dann wäre ja immer noch was Platz.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: MemoRead() <-> LowLevel Funktionen [ERLEDIGT]
Hallo Manfred,
nein, 3 GB Hauptspeicher nützen auch deiner Anwendung, die kann nämlich 2 GB RAM nutzen, ohne
dass ausgelagert werden muss, wenn das weitere 1 GB für den Rest reicht
nein, 3 GB Hauptspeicher nützen auch deiner Anwendung, die kann nämlich 2 GB RAM nutzen, ohne
dass ausgelagert werden muss, wenn das weitere 1 GB für den Rest reicht
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: MemoRead() <-> LowLevel Funktionen [ERLEDIGT]
Hi,
nur mal so ganz kurz, wie die Anleitung zu verstehen ist:
Andreas Herdt vom 05.10.2009
gut zu wissen....
Also muß ich mir doch was eigenes zusammenfröddeln...
nur mal so ganz kurz, wie die Anleitung zu verstehen ist:
Andreas Herdt vom 05.10.2009
Code: Alles auswählen
.....
Die Aussage in der Doku muss man auch so lesen, dass viele ehemalige Clipper
Programmierer mit Beschränkungen lebten die vom 16 Bit Umstande herrühren.
Diese Beschränkungen waren in der Größenordnung 32 KByte zu sehen. Die
Doku reflektiert also den Umstand, dass man sich über Speicher keine Sorgen
machen muss - in der Regel steht zur Verfügung, was in der Kiste auch drin
steckt.
MlCount und MemoLine arbeiten genau wie MemoRead. Eine Datei wird
als String eingelesen und die Anzahl der Zeilen bzw. eine Zeile wird zurückgegeben.
Grosse Dateien mit MlCount und MemoLine zu bearbeiten ist deshalbe sehr
inperformant. Bei jedem Function call wird die gesamte Datei von der Festplatte
geladen. Hier lohnt es sich absolut eigene Hilsffunktionen zu schaffen, um
das immer wieder Neuladen zu vermeiden.
Also muß ich mir doch was eigenes zusammenfröddeln...
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2936
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: MemoRead() <-> LowLevel Funktionen [ERLEDIGT]
Hallo Manfred,
schau die mal die Funktionen von eXPress++ an:
schau die mal die Funktionen von eXPress++ an:
Code: Alles auswählen
nHandle := DC_TXTOPEN( 'dclip.sys' )
do while !dc_txteof( nHandle )
? dc_txtline( nHandle )
dc_txtskip( nHandle, 1 )
enddo
dc_txtclose( nHandle )
Viele Grüße
Wolfgang
Wolfgang