Alternative zu Tailbite?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
mpz
Beiträge: 505
Registriert: 14.06.2005 15:53
Computerausstattung: Win 11 Pro, 48 GB Ram, Intel I7 CPU und RX4070 Grafikkarte, PB (4/5) 6.12LT
Wohnort: Berlin, Tempelhof

Re: Alternative zu Tailbite?

Beitrag von mpz »

Hi CSHW89,

ich muss gestehen das ich die Funktion protected nicht/kaum benutze da ich in Prozeduren entweder mit globalen Listen arbeite, oder einfach mit pointern. Ich benutze nie in Prozeduren die gleichen Variablennamen die ich in der Hauptpartitur "global" gesetzt habe (wozu auch?!?). Trotz 20 k Programmzeilen hat sich da auch noch kein Fehler eingeschlichen. Ob mich das zu einem schlechten Programmierer macht weiß ich allerdings nicht :( Ich glaube auch nicht das man mit protected Speicherplatz spart.

Gruß Michael

beispiel

Code: Alles auswählen


ProcedureDLL MP_3DCollision (Mesh1,Mesh2)

  ForEach Mesh()
    If Mesh() = Mesh1
        *Mesh1.MeshStruct = Mesh1
        Break
    endif
  next

  ForEach Mesh()
    If Mesh() = Mesh2
        *Mesh2.MeshStruct = Mesh2
        Break
    endif
  next

 ; stehen jetzt schön zur Verfügung
 ; *Mesh1.MeshStruct
 ; *Mesh2.MeshStruct

EndProcedure


Working on :lol: - LibSGD - MP3D Engine - 8)
Benutzeravatar
CSHW89
Beiträge: 489
Registriert: 14.12.2008 12:22

Re: Alternative zu Tailbite?

Beitrag von CSHW89 »

tja wenn man 'EnableExplicit' verwendet, muss man variablen zuvor deklarieren. und lokale variablen in proceduren deklariert man mit 'Protected', kann sein dass man auch 'Define' verwenden kann, weiß ich nicht, mach ich nie, ich benutz immer 'Protected'. und ich glaube auch viele andere, zumindest in den codes, die hier veröffentlicht wurden, seh ich das immer.
ich schreibs mal gleich im englischen tailbite forum
lg kevin
Bild Bild Bild
http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Re: Alternative zu Tailbite?

Beitrag von PMV »

Es macht dich nicht schlechter, wenn du es nicht verwendest ... es
wird dich aber besser machen, wenn du es verwendest. Und vorallem
aber ist es wichtig, wenn andere Leute deinen Code lesen sollen. So
lang du für dich selber programmierst, ist dein Stiel allerdings unerheblich.
EnableExplicit erspart einem zudem sehr viel Zeit, vorallem bei größeren
Projekten. :wink:

Code: Alles auswählen

ProcedureDLL.i MP_3DCollision (*Mesh1.MeshStruc, *Mesh2.MeshStruc)
  Protected Found = #False

  ForEach Mesh()
    If *Mesh1 = @Mesh()
        Found = #True
        Break
    endif
  next
  If Not Found : ProcedureReturn -1 : EndIf

  Found = #False
  ForEach Mesh()
    If *Mesh2 = @Mesh()
        Found = #True
        Break
    endif
  next
  If Not Found : ProcedureReturn -1 : EndIf

; stehen jetzt schön zur Verfügung
; *Mesh1.MeshStruct
; *Mesh2.MeshStruct

EndProcedure
:D

@CSHW89
Define ist für die Deklaration außerhalb von Prozeduren.
Protected innerhalb von Prozeduren.

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Antworten