Seite 1 von 1

Peek & Poke - ERLEDIGT

Verfasst: 08.02.2006 13:35
von uweb
Hi,

ich will Packet$ an Antwort$ anhängen, aber Antwort$ soll dabei nicht
größer als 64KB werden.

Ich weiß, daß PB 4.0 mehr kann.
Aber, zum Einen würde ich trotzdem gerne wissen wie es geht weil die
Situation zum Anderen jederzeit auch aus anderen Grunden auftreten
kann.

Danke im voraus !

Code: Alles auswählen

Antwort$="Antwort$"
Packet$="Packet$"
AntwortVoll=0
Repeat 
  If Len(Antwort$)+Len(Packet$) < 65536
    Antwort$ = Antwort$ + Packet$
  Else
    aLaenge=Len(Antwort$)
    *aEnde=@Antwort$+aLaenge
    *pAnfang=@Packet$
    For i = 1 To 65536-aLaenge
      b.b=PeekB(*pAnfang+i)
      PokeB(*aEnde+i,b.b)
    Next
    AntwortVoll=1
  EndIf
Until AntwortVoll
Debug Antwort$
edit :
Habe das Codefragment zu einem ganzen Programm vervollständigt.
Und, siehe da : Es läuft. >>> ERLEDIGT
Dann muß der Fehler (Invalid Memory Access) wo anderst liegen.

Verfasst: 08.02.2006 14:24
von HeX0R
Hmm... wieso denn so umständlich ?

Code: Alles auswählen

Antwort$="Antwort$" 
Packet$="Packet$"
Antwort$ + left(Packet$, 65535 - len(Antwort$))

Verfasst: 08.02.2006 15:37
von Batze
Hmm... wieso denn so umständlich ?

Code: Alles auswählen

Antwort$="Antwort$" 
Packet$="Packet$"
Antwort$ = left( Antwort$ + Packet$ , 65535 )

Verfasst: 08.02.2006 15:37
von Kiffi
Batze hat geschrieben:

Code: Alles auswählen

Packet$ + left(Antwort$, 65535) 
Weil die Länge von Packet$ und Antwort$ zusammen nicht 65535
übersteigen darf.

Grüße ... Kiffi

Verfasst: 08.02.2006 15:38
von Batze
Hatte ich auch gemerkt und deshalb den Beitrag schon wieder geändert. Du musst die 3 sek erwischt haben, wo das da stand. :freak:

Verfasst: 08.02.2006 15:44
von HeX0R
Ausserdem hab ich bewusst nicht beide addiert und dann 65535 von Links genommen, weil ich mir nicht sicher bin, ob PB3.94 nicht abschmiert, wenn deine Stringsumme in Left() über 65535 Zeichen kommt.

Verfasst: 08.02.2006 16:30
von Batze
Ok, also in 3.94 dein Code; PB 4 meiner.

Verfasst: 08.02.2006 16:40
von uweb
Ich Danke euch allen.
Hmm... wieso denn so umständlich ?
Weil mich der Ehrgeiz gepackt hat.
Gestern hatte ich ich schon mal das "Peek & Poke - lange ist es her"-Problem.
Freud würde sagen : Mein Unterbewustsein hat gar keine andere Lösung zugelassen.