amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Hollywood ReadString unter MOS [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2005-01-24, 22:06 h

[ujb]
Posts: 423
User
Hi,

ich habe ein Problem mit Hollywood unter MOS. Der folgende einfache
Code läuft nicht.

%Code
OpenFile (1,"C:assign")
data$=ReadString (1,100)
CloseFile(1)
WaitLeftMouse


Das programm bricht ab, da ReadString fehl schlägt. Der Requester
sagt, es hätten nicht alle zeichen eingelesen werden können und ob das
File evtl. Lesegeschützt sei (nota bene: ist es nicht).
Unter UAE funktioniert gleicher Codeschnipsel, ReadLine() und
ReadChr() funktioniert bei gleichem Restcode unter MOS.
Das mitgelieferte WinCopy beispiel funktioniert auch und nutzt
ebenfalls ReadString.
Hat jemand eine Idee was falsch ist?

[ - Answer - Quote - Direct link - ]

2005-01-24, 22:14 h

Holger
Posts: 8116
User
Zitat:
Original von [ujb]:
OpenFile (1,"C:assign")
data$=ReadString (1,100)

Ich kenn mich mit Hollywood ja nicht aus, aber das sieht so aus, als ob Du einen Befehl wie einen Text einlesen willst. Ist das korrekt?
In dem Fall gäbe es ja dann mehrere Möglichkeiten. Erst einmal ist der Inhalt der Datei höchstwahrscheinlich anders, zum anderen könnte es auch sein, daß die Datei assign.elf heißt, ich weiß nicht, wie das mit den ppc binaries bei MOS ist...

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Answer - Quote - Direct link - ]

2005-01-24, 22:34 h

[ujb]
Posts: 423
User
Ich will irgendein binary in ein Arrray einlesen, readstring ist der
Befhel unter Hollywood um binaries einzulesen.
Das öffnen der Datei klappt, nur das Einlesen selbst nicht. ReadLine
hingegen funktioniert...

[ - Answer - Quote - Direct link - ]

2005-01-24, 22:47 h

Holger
Posts: 8116
User
Zitat:
Original von [ujb]:
Ich will irgendein binary in ein Arrray einlesen, readstring ist der
Befhel unter Hollywood um binaries einzulesen.
Das öffnen der Datei klappt, nur das Einlesen selbst nicht. ReadLine
hingegen funktioniert...

Öffnen heißt ja nicht, daß es tatsächlich eine Datei ist, könnte ja ja auch ein Link sein, oder weniger als die 100 bytes haben, die Du einlesen willst. (Falls das die Bedeutung dieses Parameters ist)

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Answer - Quote - Direct link - ]

2005-01-24, 23:19 h

[ujb]
Posts: 423
User
Jepp, der zweite Parameter spezifiziert die einzulesenden Bytes.
100 ist natürlich ein willkürlicher Wert (schlägt ach mit 1 oder
jedem anderen Wert fehl), allerdings hat C:assign deutlich mehr Bytes.
Die Datei ist vorhanden und mit ReadLine (Befehl um eine
Zeile einzulesen) kann ich auch von dieser Datei lesen...



[ - Answer - Quote - Direct link - ]

2005-01-25, 20:49 h

[ujb]
Posts: 423
User
Saudummer Fehler im Beispiel von mir!!! Ich habe mossys:c mit C:
verwechselt. In c: bei MOS liegt dieser Befehl nicht, daran habe ich
nicht gedacht.
Manchmal liegt der Fehler aber auch im Detail. Der Befehl openfile
legt ggf. die Datei an, so dass in C: nach meinem ersten Versuch das
Programm zu starten eine leere Datei namens assign vorhanden war.
nach der Fehlermeldung checkte ich zwar die Schutzbits, aber nicht die
Größe.

[ - Answer - Quote - Direct link - ]

2005-01-26, 08:29 h

p-OS
Posts: 131
User
Zitat:
Original von [ujb]:
Saudummer Fehler im Beispiel von mir!!! Ich habe mossys:c mit C:
verwechselt. In c: bei MOS liegt dieser Befehl nicht, daran habe ich
nicht gedacht.

Verweißt der Assign C: nicht standardmäßig auf SYS:C und(!) MOSSYS:C ?
Hätte Open() die Datei denn dann nicht trotzdem finden müssen ?



[ - Answer - Quote - Direct link - ]

2005-01-26, 08:49 h

thomas
Posts: 7721
User
Zitat:
Original von p-OS:
Verweißt der Assign C: nicht standardmäßig auf SYS:C und(!) MOSSYS:C ?
Hätte Open() die Datei denn dann nicht trotzdem finden müssen ?


Wenn die Datei zum Lesen geöffnet wird, ja. Aber offenbar wird sie ja angelegt, d.h. sie wird mindestens mit MODE_READWRITE geöffnet. Und da wird immer nur auf den ersten Teil eines Multi-Assigns zugegriffen.

Gruß Thomas
--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > Hollywood ReadString unter MOS [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2025 by amiga-news.de - all rights reserved.
.