BlitzMax: For each?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Jan_

Ehemaliger Admin

Betreff: BlitzMax: For each?

BeitragMi, Dez 29, 2004 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
gibt es bei Bmax, for Each, oder muss man sich da selber was einfallen lassen?
between angels and insects

wunderkind

BeitragMi, Dez 29, 2004 15:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Guckst du hier im englischen Support http://www.blitzbasic.com/Comm...opic=41548 und in den Docs unter LinkedLists. For Each gibt's nicht mehr. Dafür EachIn Wink. Die Hilfe erklärt's recht anschaulich.

(Verschoben nach BMAX)

Jan_

Ehemaliger Admin

BeitragMi, Dez 29, 2004 15:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, aber nun muss man noch ne linked list erstellen :-/
Das habe ich schon selber herausbekommen.
naja, macht den Code etwas unübersichtlich, und man kann schneller resourcen verlieren, aber naja, wird schon irgendwie gehen.

@ Wunderkind, ist aber eigentlich ne anfängerfrage, sollen Bmax fragen, jetzt allgemein hier rein?
between angels and insects
 

Dreamora

BeitragMi, Dez 29, 2004 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Machts net wirklich schwerer
sind nur 2-3 Zeilen Code um das alte handling einzubinden

Code: [AUSKLAPPEN]


Type Template
 global list:TList

 method new()
  if list = null
   list = new TList
  endif
  list.addlast( self )
 endmethod

 method delete()
  list.remove( self )
 endmethod
endtype


' noch nen kleiner Test

test:Template = New Template

Print String(template.list.count())

WaitKey



nu kannst du sobald eine Instanz dieses Types existiert mit

temp:Template for eachin Template.list

next

durchiterrieren Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Jan_

Ehemaliger Admin

BeitragMi, Dez 29, 2004 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
WHOOOO, klingt gut, ich muss zwar ncoh die logic dahinter verstehen, aber das raffe ich schon.

Yoa, habs jetzt kappiert, wird ein Hartes Stück, gut Bmax progen zu lernen.
between angels and insects

regaa

BeitragMi, Dez 29, 2004 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau dieses Problem hatte ich auch vor kurzem. Man beachte dabei lediglich das Global in der Typedefinition, das ist mir total entgangen. Aber Global im Type heisst doch das andere Typen davon nichts wissen, es sei denn man verknüpft diese mit Extends, wol?
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net
 

Dreamora

BeitragMi, Dez 29, 2004 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Global in Types heisst einfach, dass es diese Variable für alle Instanzen dieses Types nur 1x gibt ( -> Static aus C++ ). Hinzu kommt, dass sie über type.name genutzt werden und nicht über typeinstance.name wie field / methods.


Anfang eines Kurztutorials für erfahrenere Programmierer ( volles ist in Arbeit und kommt bei gelegenheit ins Tut Forum, ist bisher nur ein relativ simples rohgerüst )


In BlitzMax gibt es innerhalb von Typen 2 grundverschiedene Inhaltstypen.

1. Instanzbezogene Inhalte

Dies sind Field und Method.
Diese Inhalte werden für jede Typeinstanz einzeln gespeichert und auf Instanzebene ausgeführt. Sie haben keinen Einfluss auf den Type von dem sie definiert sind.

Code: [AUSKLAPPEN]

' Beispiel
Type Template
 field x, y

 method set_x_y( a_x, a_y )
  x = a_x
  y = a_y
 endmethod
endtype

test:Template = new Template

test.set_x_y ( 10, 20 )



2. Typebezogene Inhalte

Dies sind global, const und Function.
Diese Inhalte werden nicht von einer Typeinstanz aus aufgerufen, sondern durch den Typebezeichner selbst. Sie beeinflussen keine einzelne Instanz sondern gehören dem Type als ganzes.

Code: [AUSKLAPPEN]

' Beispiel
Type Template2
 global Anzahl_Instanzen
 global Instanzen_Faktor
 const Faktor# = 0.5

 function create:Template2()
  Anzahl_Instanzen :+ 1
  Instanzen_Faktor :* Faktor
  return new Template2
 endfunction
endtype


test:Template2 = Template2.create()

Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

regaa

BeitragMi, Dez 29, 2004 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Schön das das Jemand offenbart Smile. Die Englische Hilfe scheint bezüglich OOP nicht besonders viel zu bringen, oder ich bin zu dumm dafür, aber ich fordere eine Deutsche mit "Beispielen". Mal schauen wann walski das HilfeSystem zum laufen bekommt.

Danke dir Dreamora.
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net
 

Dreamora

BeitragMi, Dez 29, 2004 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Über den OO Teil der BM Hilfe braucht man sich net auszulassen, der existiert einfach net ... Aber Win ist ja erst Beta und mark hat geschrieben das einige Dinge auch nachgetragen werden.

Ich meinerseits bin froh Protean zu haben, sonst müsste ich unentwegt die base module sources offen haben um die methods zu suchen.

Ich bin aktuell auch dabei für mich nach und nach eine Hilfe aufzubauen, allerdings nicht auf HTML Basis sondern mit Treepad ... wenn ich sie weit genug habe kann ich sie ja theoretisch ins netz stellen und wer die hilfe nutzen will kann das über den Treepad Viewer dann machen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Jolinah

BeitragMi, Dez 29, 2004 20:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, habe zum OOP Bereich auch schon was geschrieben:

http://www.blitzcoding.de/foru...c.php?t=33


Vielleicht stimmt nicht alles zu 100%, aber den Anfängern könnte es eventuell helfen Wink

wunderkind

BeitragMi, Dez 29, 2004 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Unter den Tuts um engl. findet sich auch was: http://www.blitzbasic.com/Comm...?forum=112

BlitzMax-Fragen bitte in dieses Forum. Stimmt schon.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group