For/Next vs. Strukturierte Variablen ?!
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Sowas: Im ganzen Code kommt nur 1. globale Variable vor.
//Edit: Hier ein Beispiel wo ich das verwende:
http://www.purebasic.fr/german/viewtopi ... c&start=10
Code: Alles auswählen
Structure Globals
Count.l
Filename.s
Katze.l
Hund.i
PI.d
wasweisich.COORD
EndStructure
Global glob.Globals ; es gibt nur diese eine globale Variable
http://www.purebasic.fr/german/viewtopi ... c&start=10
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster
PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
OMG
... das ist mal überhaupt nicht das, wozu Strukturen da sind.
wie schon Josef sagte, Strukturen sind dafür da um gruppen gleichartiger Objekte erzeugen zu können.
aber ok, manche Leute machen wohl Sachen so:
http://www.youtube.com/watch?v=Tlf5m-57g34
von hinten durch die Brust ins Auge...

... das ist mal überhaupt nicht das, wozu Strukturen da sind.
wie schon Josef sagte, Strukturen sind dafür da um gruppen gleichartiger Objekte erzeugen zu können.
aber ok, manche Leute machen wohl Sachen so:
http://www.youtube.com/watch?v=Tlf5m-57g34
von hinten durch die Brust ins Auge...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
^^Kaeru Gaman hat geschrieben:OMG![]()
... das ist mal überhaupt nicht das, wozu Strukturen da sind.
aber ok, manche Leute machen wohl Sachen so:
http://www.youtube.com/watch?v=Tlf5m-57g34
Das Video kannt ich schon. Aber das bringt auch vorteile. So kann ich z.B. sämtliche globalen Einstellungen mit einem schlag sichern und laden, z.B.
CopyMemory(@glob, .....) und zurück.
Damit kann ich hunderte globale einstellungen z.B. mit einem Befehl in eine Datei speichern und wieder laden.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster
PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Naja es hat schon einen Vorteil, man kann die Variablen alle auf einmal abspeichern. Nur temporäres sollte man draußen lassen, wenn es sich eh jedes mal neu berechnet. So löse ich nun das Speichern/Laden in Spielen. Ist irgendwie einfacher. Den einzigen Nachteil den ich sehe ist, dass man Probleme mit verschiedenen Versionen bekommt.
[EDIT]
Kleiwängele zu spoat.
[EDIT]
Kleiwängele zu spoat.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
nunja...
ich würde aber weder alle Einstellungen die ich speichern will global machen, noch alles was global ist abspeichern wollen.
das sind zwei völlig verschiedene paar schuhe.
ich würde mal über den Daumen peilen, dass bei beidem maximal die Hälfte beide Eigenschaften besitzt.
also, für Grundeinstellungen die gespeichert/geladen werden sollen auf eine bestimmte Art und Weise einen zusammenhängenden Speicherbereich anlegen - grundsätzlich eine gute Idee.
aber deswegen alle Einstellungen global machen, und alle dynamischen Globals stur mit abspeichern - kontraduktiv.
ich würde aber weder alle Einstellungen die ich speichern will global machen, noch alles was global ist abspeichern wollen.
das sind zwei völlig verschiedene paar schuhe.
ich würde mal über den Daumen peilen, dass bei beidem maximal die Hälfte beide Eigenschaften besitzt.
also, für Grundeinstellungen die gespeichert/geladen werden sollen auf eine bestimmte Art und Weise einen zusammenhängenden Speicherbereich anlegen - grundsätzlich eine gute Idee.
aber deswegen alle Einstellungen global machen, und alle dynamischen Globals stur mit abspeichern - kontraduktiv.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- Josef Sniatecki
- Beiträge: 657
- Registriert: 02.06.2008 21:29
- Kontaktdaten:
Strukturen können natürlich auch für eine Komunikation zwischen DLL und
Client nützlich sein:
Client:
DLL:
Für sowas sind dann natürlich Strukturen nützlich.
Client nützlich sein:
Client:
Code: Alles auswählen
Structure Main
*Integer1.Integer
*Integer2.Integer
EndStructure
Global Integer1.i
Global Integer2.i
Global Main.Main
Main\Integer1=@Integer1
Main\Integer2=@Integer2
OpenLibrary(0,"DLL.dll")
Integer1=321
CallFunction("Example",@Main)
Debug Integer2 ;wird 123 ausgeben
CloseLibrary(0)
Code: Alles auswählen
Structure Main
*Integer1.Integer
*Integer2.Integer
EndStructure
ProcedureDLL.i Example(*Main.Main)
MessageRequester("",Str(*Main\Integer1\I))
;Wird 321 anzeigen.
*Main\Integer2\I=123
EndProcedureDLL
Zuletzt geändert von Josef Sniatecki am 04.01.2009 18:50, insgesamt 1-mal geändert.
PB 4.61 | Windows Vista - 32Bit
Homepage
"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Homepage
"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
>aber deswegen alle Einstellungen global machen, und alle dynamischen Globals stur mit abspeichern - kontraduktiv.
Ich mach ja nicht alle einstellungen global, nur die die global sein müssen, und nur was auch gespeichert wird kommt in die selbe struktur.
Edit: @sep: auch ein Einsatzgebiet, stimmt.
Ich mach ja nicht alle einstellungen global, nur die die global sein müssen, und nur was auch gespeichert wird kommt in die selbe struktur.
Edit: @sep: auch ein Einsatzgebiet, stimmt.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster
PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
da widersprichst du dir aber.cxAlex hat geschrieben:Ich mach ja nicht alle einstellungen global, nur die die global sein müssen, und nur was auch gespeichert wird kommt in die selbe struktur.
also, entweder alle Globals in eine Struktur, oder alle Einstellungen in eine Struktur, oder alle zu speichernden in eine Struktur.
... und das grundthema dieses threads ist
Burstnibbler hat geschrieben:ich will eben alle globalen Variablen strukturiert haben
gnasen hat geschrieben:Wenn man alle globalen Variablen in die Structure Globals\ einfügt...
.....cxAlex hat geschrieben:Ich neige jetzt auch eher dazu Globale Variablen in ne Struktur zu packen.
natürlich, das ist eines der grundlegensten Einsatzgebiete für Strukturen.Josef Sniatecki hat geschrieben:Strukturen können natürlich auch für eine Komunikation zwischen DLL und Client nützlich sein:
die komplette API kommuniziert über Pointer zu Strukturierten Memblocks.
... aber das ist nicht Thema!
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.