| |
|
|
Rainer Trusch | Ich möchte eine Textdatei auslesen, die nur aus einem String besteht, der allerdings sehr lang ist. @mid$ und @len$ bearbeiten den String offensichtlich nur bis zur Position 32767. Wie komme ich an die Zeichen, die danach kommen?
|
|
|
| |
|
|
|
Jörg Sellmeyer | Welche Versin hast Du denn? Die komfortabelste Möglichkeit wäre wohl das Upgrade auf XProfan10. Weiter kannst Du den Inhalt in einer Bereichsvariablen bearbeiten. Mit KompilierenMarkierenSeparierenChar(B#,StartAdresse&,AnzahlBytes&)
kannst Du deinen ganzen Speicherinhalt auslesen. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.08.2008 ▲ |
|
|
|
|
| XProfanversion ab in die Signatur - wurdest vor dem Posten auch darauf hingewiesen. |
|
|
| |
|
|
|
Rainer Trusch | Ich habe XProfan 10. Der komplette String wird ja auch aus der Datei eingelesen und ich kann ihn z.B. mit dem simplen "print" über den Bildschirm wuseln lassen. |
|
|
| |
|
|
|
Jörg Sellmeyer | |
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.08.2008 ▲ |
|
|
|
|
| Bestimmt hat die Textdatei s oder as. |
|
|
| |
|
|
|
Rainer Trusch | Zunächst einmal vielen Dank. Ich hänge mal eine Beispieldatei an. Es handelt sich im eine Plotdatei. Die soll ausgelesen und grafisch angezeigt werden. Bis zur o.g. magischen Grenze funzt das auch. |
|
|
| |
|
|
|
Jörg Sellmeyer | Poste doch einfach mal den Code, mit dem Du die Datei einliest und dann den String ausliest. Und zwar als lauffähiges Minmalbeispiel. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.08.2008 ▲ |
|
|
|
|
Rainer Trusch |
|
|
| |
|
|
|
Jörg Sellmeyer | Das ist zuviel! Mach einen neuen Code in dem Du nur die Datei einliest und den String wieder ausgibst. Vielleicht erledigt sich Dein Problem dann schon. Bei mir funktioniert es nämlich |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.08.2008 ▲ |
|
|
|
|
Sebastian Sprenger | Jörg Sellmeyer
Bei mir funktioniert es nämlich Wird die Schrift "Was soll denn das werden" (siehe Rainers Anhang 12345.txt) bei dir denn zu Ende geschrieben? Bei mir nicht.
Wie ich gerade feststelle, kann XProfan tatsächlich Strings bearbeiten, die länger als 32767 Zeichen sind - der Befehl Input kann es aber offensichtlich nicht! Rainer, ersetze mal diese drei Zeilen: KompilierenMarkierenSeparierendurch diese: KompilierenMarkierenSeparierenGruß, Sebastian |
|
|
| Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32 Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM Windows Me, 1.8 Ghz, 256 MB RAM | 24.08.2008 ▲ |
|
|
|
|
Jörg Sellmeyer | Ich meinte nicht, daß Rainers Programm bei mir funktioniert, sondern daß Profan bei mir Strings > 32767 auslesen kann. Ich weiß ja nicht genau, was Du mit den Daten anstellen willst, aber Du kannst wahrscheinlich effektiver mit SubStr$ die Werte ermitteln: KompilierenMarkierenSeparierenCls
ChDir "D:Downloads"
Declare B#,bytes&,s1$
Var size& = FileSize("12345.txt")
Dim B#, Size& + 1
Var hdl& = Assign("12345.txt")
OpenRW hdl&
bytes& = @BlockRead(hdl&, B#, 0, size&)
Close hdl&
Assign hdl&,""
Var s$ = Char$(B#,0,bytes&)
Print bytes&,Len(s$)
Print Mid$(s$,32767,100)
Print Len(s$,"PD"),"-mal PD im Text enthalten"
Print Len(s$,"PU"),"-mal PD im Text enthalten"
WaitInput
hdl& = Assign("12345.txt")
Reset hdl&
Clear bytes&
WhileLoop Len(s$,"PU")
s1$ = SubStr$(s$,&Loop,"PU"),&Loop
Print "Gruppe: " + Str$(&Loop)
WhileLoop Len(s1$,";PD")
Print SubStr$(s1$,&Loop,";PD"),&Loop
sleep 100
Case %mousepressed=2:waitinput
Wend
Print "#####################################"
sleep 10
Case %mousepressed=2:waitinput
Wend
WaitInput
P.S.: ist übrigens sehr cool mit der Schrift! |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.08.2008 ▲ |
|
|
|