Sende Funktion mit For-Schleife geht nicht !!Hilfe!!

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

xXThunderXx

Betreff: Sende Funktion mit For-Schleife geht nicht !!Hilfe!!

BeitragSo, Apr 12, 2009 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo alle zusammen ich möchte mit meiner Funktion Senden jedoch kommt immer der fehler "Expecting-end-of-line" woran liegt das ????? bzw. liegt das an der For-Schleife oder If-Schleife.


Hir ist der Code:

Code: [AUSKLAPPEN]
Function senden()
   WriteByte udp_stream,1
   
   WriteInt udp_stream,scroll_x
   WriteInt udp_stream,scroll_y
   WriteInt udp_stream,char_frame_alg
   For a = 0 To 9
   If bomben_norm(a)\aktiv = 1 Then
   WriteInt udp_stream,bomben_norm(a)\x
   WriteInt udp_stream,bomben_norm(a)\y
   EndIf
   Next
   SendUDPMsg udp_stream,host_ip,server_port
End Function
 

da_poller

BeitragSo, Apr 12, 2009 18:32
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du werte dividieren willst nimm einen schrächstrich (/) und keinen backslash(\)
 

xXThunderXx

BeitragSo, Apr 12, 2009 18:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ohh sry das sind TYPES hab ich vergessen anzugeben. (Ein Typ mit einem Dim-Feld)
 

da_poller

BeitragSo, Apr 12, 2009 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
achso.. ähmm.. also ich glaub nicht das das geht.. types sind ja shcon listen.. einzig ein type field kann man als blitzarray verwenden (field dings[10])

Nicdel

BeitragSo, Apr 12, 2009 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke es geht um Types. Ich bekomme bei folgendem Aufbau keinen Fehler:

Code: [AUSKLAPPEN]

Type b
Field x,y,aktiv
End Type

Dim bomben_norm.b(10)

For a=0 To 9
bomben_norm.b(a) = New b
Next

Global udp_stream = CreateUDPStream()

senden()


Function senden()
   WriteByte udp_stream,1
   
   WriteInt udp_stream,scroll_x
   WriteInt udp_stream,scroll_y
   WriteInt udp_stream,char_frame_alg
   For a = 0 To 9
   If bomben_norm(a)\aktiv = 1 Then
   WriteInt udp_stream,bomben_norm(a)\x
   WriteInt udp_stream,bomben_norm(a)\y
   EndIf
   Next
   SendUDPMsg udp_stream,host_ip,server_port
End Function
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

xXThunderXx

BeitragSo, Apr 12, 2009 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke
Lag irgent wie dan ran das ich die Types nicht extern includen kann. Muss mich wohl damit noch näher befassen. Aber hab jetzt einfach die Types in die Functions Datei Verlegt. Damit funktionierts.
 

matze-t

BeitragSo, Apr 12, 2009 19:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Eigentlich geht das schon. Du musst bloß den Include Befehl vor dem Aufruf von senden() verwenden. Weil sonst ist ja das Dim-Feld noch nicht vorhanden und dann kommts zu diesem Fehler.

@da_poller: Du kannst zwar Dim-Felder leider nicht in einen Type packen, aber du kannst Types in ein Dim-Feld packen. So wies Nicdel gemacht hat.
 

da_poller

BeitragSo, Apr 12, 2009 19:22
Antworten mit Zitat
Benutzer-Profile anzeigen
matze ein dim hab ich ja nie gesagt oder?

ich sprach von nem blitzarray und das geht definitiv..
 

matze-t

BeitragSo, Apr 12, 2009 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Jap. Das geht auf jeden Fall.
Ich wollte nur drauf hinweisen, dass xxThunderxx gar kein Dim/Array in einen Type packen will, sondern dass er die Types in einem Dim speichert. Zumindest hab ich das so verstanden.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group