Seite 2 von 3

ok

Verfasst: 31.05.2006 15:19
von Brügge
hi danke!!
könntet ihr mir ein gutes tut empfeheln und wenn ja wo bekomme ich es??


ich programmiere seid 3 jahren Quick basic jedoch bin ich ein pure basic anfänger denn dazwischen liegen welten...

ich bräuchte also ein anfangstut ^^


thx brügge

Verfasst: 31.05.2006 15:21
von winduff
www.purearea.net << schau dich da mal um! Die beste Resource

und

Robsite.de

und *schleichwerbung*

für nen paar Sourcecodes und 2 Tutorials ;-)

www.eimex.de

Verfasst: 31.05.2006 15:24
von Jilocasin
Ich verstehe nich, wiese ihr mit Speicherbuffern ("AllocateMemory(...)") arbeitet???

Mit Strings geht's doch viiiel einfacher! :allright:

Verfasst: 31.05.2006 15:28
von winduff
es hat riesen vorteile, schau die die PB hilfe an dann siehste warum ;-)

Und zudem: Einfache Strings können nicht übers NEtzwerk empfangen werden - nur gesendet via

SendNetworkString()

Welche dann mit

ReceiveNetworkData()

empfangen werden

Verfasst: 31.05.2006 15:30
von HeX0R
2 Longs würde kein Mensch als String versenden, und um mehr geht es hier ja (bis jetzt) nicht.

Beispiel Senden:

Code: Alles auswählen

Var1 = 12
Var2 = 200
*Buffer = AllocateMemory(8)
PokeL(*Buffer, Var1)
PokeL(*Buffer + 4, Var2)
SendNetworkData(NetID, *Buffer, 8)
Beispiel Empfangen:

Code: Alles auswählen

*Buffer = AllocateMemory(8)
L = ReceiveNetworkData(NetID, *Buffer, 8)
Var1 = PeekL(*Buffer)
Var2 = PeekL(*Buffer + 4)
Das ist natürlich nur als Ansatz zu verstehen, da sind keinerlei Fehlerbehandlungen bei...

Verfasst: 31.05.2006 15:32
von Jilocasin
Nee...
Was ich meine is:

Code: Alles auswählen

ReceiveNetworkData(ID,@string.s,Länge)
Da muss man das Empfangene nicht extra auslesen.

PS:
Kann sein, dass es bei 4.0 ganz anders iss, wenn ja, dann Sorry!

Verfasst: 31.05.2006 15:33
von winduff
HeX0R hat geschrieben:2 Longs würde kein Mensch als String versenden, und um mehr geht es hier ja (bis jetzt) nicht.
Ja aber es hat für Brügge riesen vorteile, wenn er sich gleich das ganze Thema anschaut (also zum Thema Netzwerk)

Es ist nicht schwer - einmal begriffen - kann mans... wie Fahrrad fahren ;-)

Bin auch noch nicht lange mit Netzwerk dabei, bzw habe bisher noch kein Netzwerkprogramm geschrieben... allerdings kann man unter PB ganz gut damit arbeiten :allright:

//edit:

@Jilocasin so gehts auch glaub ich, und in dem Fall wäre es viel einfacher..... stimmt

Verfasst: 31.05.2006 15:38
von HeX0R
Es geht übrigens auch ohne Buffer:

Senden:

Code: Alles auswählen

SendNetworkData(NetID, @Var1, 4)
SendNetworkData(NetID, @Var2, 4)
Empfangen:

Code: Alles auswählen

ReceiveNetworkData(NetID, @Var1, 4)
ReceiveNetworkData(NetID, @Var2, 4)
Aber das ist gefährlich, weil bei grösseren Datenmengen auch mal nur die Hälfte der Variable ankommen könnte.

Verfasst: 31.05.2006 15:41
von Jilocasin
HeX0R hat geschrieben:Aber das ist gefährlich, weil bei grösseren Datenmengen auch mal nur die Hälfte der Variable ankommen könnte.
Wie meinst du das?
Du benutzt doch im Beispiel nummerische Variablen...
Da kommt doch bei LONG auf jeden Fall 4 Byte an, oder?
:?: :?:

Verfasst: 31.05.2006 15:44
von HeX0R
Jilocasin hat geschrieben:
HeX0R hat geschrieben:Aber das ist gefährlich, weil bei grösseren Datenmengen auch mal nur die Hälfte der Variable ankommen könnte.
Wie meinst du das?
Du benutzt doch im Beispiel nummerische Variablen...
Da kommt doch bei LONG auf jeden Fall 4 Byte an, oder?
:?: :?:
Das Problem hier ist, dass der Rückgabewert von ReceiveNetworkData() nicht ausgewertet wird. Werden nun sehr viele Variablen , Texte, Sonstiges übertragen kannst du nicht sichergehen, ob die 4 Bytes deines Longs bereits vollständig übertragen wurden oder ob das ein oder andere Byte mit dem folgenden Paket nachgereicht wird.