Screenmodes
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> worum es Kaeru hierbei ja geht.
richtig
> den Kunden entscheiden lässt
genau
> Also fragen wir ihn mit einem Requester welchen Screenmodus er gerne
> hätte und mit welcher Frequenz
und genau da kommen wir zum Kernpunkt.
sieh dir die Listen an die alle gepostet wurden.
Als Endbenutzer hätten wir doch alle einen Hals,
wenn uns ein billiger Mini-Requester entgegenpoppen würde,
bei dem wir in einem einzigen Dropdown aus 180 Modes wählen müssen.
wie man an den Listen mit hoher Gesamtzahl auch sieht,
diese Modes stehen nicht unbedingt in einer sehr übersichtlichen Ordnung,
die unbearbeitete Liste die ExameScreenModes() zurückgibt ist also nichts,
was man einem Kunden vor die Nase setzen kann.
Hier entsteht dann die Frage, wie teile ich sie sinnvoll auf, was schmeiße ich raus,
damit ich im endeffekt meinem Kunden nur 3-8 Modes im Dropdown anbiete (Übersichtlichkeit!)
und vielleicht noch einen "Erweitert" button, hinter dem er Wide/Normal umschalten kann und die Refreshrate wählen.
das wäre mein momentanes Ziel für Verfahren 1.)
wie gesagt, das hat keine high-priority, also ich setz mich jetzt nicht heute
sechs stunden hin und stricke das fertig (was ich könnte wenn ich bock hätte)
sondern mach das mehr so nebenbei immer mal wenn ich bock habe etwas.
insgesamt denke ich aber, dass die öffentliche Diskussion jedem von uns
der hier mitmacht und der mal was mit Screen macht zusätzliche
Informationen bietet, damit sein nächstes Projekt besser werden kann.
richtig
> den Kunden entscheiden lässt
genau
> Also fragen wir ihn mit einem Requester welchen Screenmodus er gerne
> hätte und mit welcher Frequenz
und genau da kommen wir zum Kernpunkt.
sieh dir die Listen an die alle gepostet wurden.
Als Endbenutzer hätten wir doch alle einen Hals,
wenn uns ein billiger Mini-Requester entgegenpoppen würde,
bei dem wir in einem einzigen Dropdown aus 180 Modes wählen müssen.
wie man an den Listen mit hoher Gesamtzahl auch sieht,
diese Modes stehen nicht unbedingt in einer sehr übersichtlichen Ordnung,
die unbearbeitete Liste die ExameScreenModes() zurückgibt ist also nichts,
was man einem Kunden vor die Nase setzen kann.
Hier entsteht dann die Frage, wie teile ich sie sinnvoll auf, was schmeiße ich raus,
damit ich im endeffekt meinem Kunden nur 3-8 Modes im Dropdown anbiete (Übersichtlichkeit!)
und vielleicht noch einen "Erweitert" button, hinter dem er Wide/Normal umschalten kann und die Refreshrate wählen.
das wäre mein momentanes Ziel für Verfahren 1.)
wie gesagt, das hat keine high-priority, also ich setz mich jetzt nicht heute
sechs stunden hin und stricke das fertig (was ich könnte wenn ich bock hätte)
sondern mach das mehr so nebenbei immer mal wenn ich bock habe etwas.
insgesamt denke ich aber, dass die öffentliche Diskussion jedem von uns
der hier mitmacht und der mal was mit Screen macht zusätzliche
Informationen bietet, damit sein nächstes Projekt besser werden kann.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Die Liste kannst Du sortieren, kein Ding.Kaeru Gaman hat geschrieben:und genau da kommen wir zum Kernpunkt.
sieh dir die Listen an die alle gepostet wurden.
Als Endbenutzer hätten wir doch alle einen Hals,
wenn uns ein billiger Mini-Requester entgegenpoppen würde,
bei dem wir in einem einzigen Dropdown aus 180 Modes wählen müssen.
wie man an den Listen mit hoher Gesamtzahl auch sieht,
diese Modes stehen nicht unbedingt in einer sehr übersichtlichen Ordnung,
die unbearbeitete Liste die ExameScreenModes() zurückgibt ist also nichts,
was man einem Kunden vor die Nase setzen kann.
Und dann stellt natürlich niemand eine Liste mit 180 Einträgen dar.
Erstmal kannst Du alles unterhalb Deiner Minimalanforderung fürs
Spiel weglassen. Ist diese z.B. 800x600, dann sieht die letzte Liste
von C4rizz zum Beispiel so aus:
Code: Alles auswählen
800x600 | 8bit | 60Hz
848x480 | 16bit | 75Hz
960x600 | 32bit | 100Hz
1024x768 |
1152x864 |
1280x720 |
1280x768 |
1280x800 |
1280x960 |
1280x1024|
1360x768 |
1400x900 |
1440x900 |
1600x900 |
1600x1024|
1600x1200|
der Rest durch scrollen.
Die nächsten 2 könnten auch Comboboxen sein, oder eben auch Listboxen.
Als erster Schritt ist nur die Modes-Liste enabled.
Wird ein Modus ausgewählt, wird in der internen Liste aller Modi geschaut
welche Farbtiefen für *diesen* Modus verfügbar sind, ins 2. Gadget eingetragen,
und zur Auswahl freigegeben. Danach wird geschaut welche Hz mit XxYxBPP
verfügbar sind und das 3. Gadget gefüllt und zur Auswahl freigegeben.
Beim 2. und 3. Gadget kannst Du default immer das höchste Verfügbare
anwählen, beim 1. was Dir beliebt (z.B. 1024x768 wenn vorhanden).
Das sollte doch zu bewältigen sein?
Du kannst dazu vielleicht auch mal -als Anregung- ein Spiel anschauen,
bei dem vorm Start so ein Optionen-Dialog kommt.
Kaeru Gaman hat geschrieben:insgesamt denke ich aber, dass die öffentliche Diskussion jedem von uns
der hier mitmacht und der mal was mit Screen macht zusätzliche
Informationen bietet, damit sein nächstes Projekt besser werden kann.

cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Das sollte doch zu bewältigen sein?
ja klar, ich hab nur heut keinen bock ein paar stunden zu coden.
kommt vielleicht noch.
> Die Liste kannst Du sortieren, kein Ding.
Sortieren alleine genügt nicht, Aussondern muss auch stattfinden.
hier sind mehrere Beispiele gefallen, wo insgesamt über hundert Modi zur Verfügung stehen.
deine Anregung geht schon ziemlich in die Richtung die ich wollte,
allerdings schwebt mir durchaus eine Begrenzung der Liste auf ein bestimmtes
Seitenverhältnis vor, das man zusätzlich per OptionButtons auswählen kann.
drei Optionen: Normal, Widescreen und Special,
wobei in Letzterem Hochkant und ähnliches aufgelistet wird.
Außerdem würde ich die Farbtiefen auf 16/32 begrenzen und 8bit komplett weglassen,
weil die mit einer komplett anderen Farbverwaltung arbeiten.
man braucht also entweder nur 8bit, oder man braucht 8bit garnicht.
die Refreshrate nun würde ich nicht von vorne herein anwählbar machen.
wenn man einfach nur einen Screen öffnet und der Befehl SetRefreshRate()
nicht verwendet, erstellt er ja auch einen Screen in einem brauchbaren Modus.
nur wenn dort wirklich Probleme auftauchen (flackern) muss der Benutzer umstellen,
dafür würde dann also ein Submenu genügen, damit der Durchschnittsnutzer
nicht versucht ist, daran rumzuschrauben wenn er noch kein Problem hat.
als Anregung hatte ich mir unter anderem den Beispielcode Screen3DRequester
angeschaut, der zwar ein paar features anbietet, aber im Endeffekt
doch nur rudimentäre Funktion und Listenverwaltung beinhaltet.
viele Beispiele professioneller Spiele die sehr unterschiedlich vorgehen sind mir bekannt und bewußt.

ja klar, ich hab nur heut keinen bock ein paar stunden zu coden.

kommt vielleicht noch.

> Die Liste kannst Du sortieren, kein Ding.
Sortieren alleine genügt nicht, Aussondern muss auch stattfinden.
hier sind mehrere Beispiele gefallen, wo insgesamt über hundert Modi zur Verfügung stehen.
deine Anregung geht schon ziemlich in die Richtung die ich wollte,
allerdings schwebt mir durchaus eine Begrenzung der Liste auf ein bestimmtes
Seitenverhältnis vor, das man zusätzlich per OptionButtons auswählen kann.
drei Optionen: Normal, Widescreen und Special,
wobei in Letzterem Hochkant und ähnliches aufgelistet wird.
Außerdem würde ich die Farbtiefen auf 16/32 begrenzen und 8bit komplett weglassen,
weil die mit einer komplett anderen Farbverwaltung arbeiten.
man braucht also entweder nur 8bit, oder man braucht 8bit garnicht.
die Refreshrate nun würde ich nicht von vorne herein anwählbar machen.
wenn man einfach nur einen Screen öffnet und der Befehl SetRefreshRate()
nicht verwendet, erstellt er ja auch einen Screen in einem brauchbaren Modus.
nur wenn dort wirklich Probleme auftauchen (flackern) muss der Benutzer umstellen,
dafür würde dann also ein Submenu genügen, damit der Durchschnittsnutzer
nicht versucht ist, daran rumzuschrauben wenn er noch kein Problem hat.
als Anregung hatte ich mir unter anderem den Beispielcode Screen3DRequester
angeschaut, der zwar ein paar features anbietet, aber im Endeffekt
doch nur rudimentäre Funktion und Listenverwaltung beinhaltet.
viele Beispiele professioneller Spiele die sehr unterschiedlich vorgehen sind mir bekannt und bewußt.
THNX!![]()

Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Ist kein gutes Beispiel.Kaeru Gaman hat geschrieben:als Anregung hatte ich mir unter anderem den Beispielcode Screen3DRequester
angeschaut, der zwar ein paar features anbietet, aber im Endeffekt
doch nur rudimentäre Funktion und Listenverwaltung beinhaltet.

Das Screen3DRequester sollte man so eh nicht verwenden, da dort Screens
immer mit 16bit geöffnet werden, weshalb die PB3D-Beispiele auch alle
nicht schön aussehen. Hab Fred schon darauf hingewiesen, als ich PB4.20
installierte und die Beispiele ausprobierte.
Hier mal noch ein schneller 15-Minuten-Ansatz:
Code: Alles auswählen
#BITS16 = 1
#BITS24 = 2
#BITS32 = 4
Structure ScreenModes
Width.l
Height.l
Hz.s
Bits.l
EndStructure
Global NewList ScreenModes.ScreenModes()
Procedure AddScreenMode(w,h,bpp,hz)
ForEach ScreenModes()
If ScreenModes()\Width = w And ScreenModes()\Height = h
found = 1
Break
ElseIf ScreenModes()\Width > w Or ScreenModes()\Height > h
InsertElement(ScreenModes())
found = 1
Break
EndIf
Next
;
If Not found
InsertElement(ScreenModes())
EndIf
;
ScreenModes()\Width = w
ScreenModes()\Height = h
Select bpp
Case 16 : ScreenModes()\Bits | #BITS16
Case 24 : ScreenModes()\Bits | #BITS24
Case 32 : ScreenModes()\Bits | #BITS32
EndSelect
ScreenModes()\hz + Str(hz)+"|" ; fuer zerlegen mit Stringfield |
EndProcedure
InitSprite()
n=0
If ExamineScreenModes()
While NextScreenMode()
Width = ScreenModeWidth()
Height = ScreenModeHeight()
Depth = ScreenModeDepth()
Rate = ScreenModeRefreshRate()
If Width >= 800 And Height >= 600 And Depth >= 16 ; 15 Bits?
AddScreenMode(Width,Height,Depth,Rate)
EndIf
Wend
ForEach ScreenModes()
With ScreenModes()
out$ = RSet(Str( \Width ),4," ") + "x" + RSet(Str( \Height ),4," ")
out$ + " BitMask: " + RSet(Bin( \Bits ),3,"0")
out$ + " Hz: " + \Hz
Debug out$
EndWith
Next
Else
Debug "ExamineScreenModes failed!"
EndIf
zusammengehackte Idee zum einlesen. Irgendwie muß man ja mal anfangen...

Meinen Vorschlag mit den 3 Gadgets solltest Du so easy umsetzen
und an Deine Ideen anpassen können. Du hast so eine sortierte Liste
mit allen Modes über 800x600, mit 16/24/32Bits und alle verfügbaren Refreshraten.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Und hier mal noch eine erweiterte und veränderte Version, mit der
man flexibel die Minimal- und eventuelle Maximalanforderungen der
Screenmodi angeben kann, sowie einen String mit allen erlaubten
ScreenModes:
Oder?
man flexibel die Minimal- und eventuelle Maximalanforderungen der
Screenmodi angeben kann, sowie einen String mit allen erlaubten
ScreenModes:
Code: Alles auswählen
;
; by Danilo, 31th July 2008
;
#BITS8 = 1
#BITS16 = 2
#BITS24 = 4
#BITS32 = 8
Structure ScreenModes
Width.l
Height.l
Hz.s
Bits.l
EndStructure
Structure ScreenModePreferences
minWidth.l ; minimum requested screen width, 0 = not checked
maxWidth.l ; maximum requested screen width, 0 = not checked
minHeight.l ; minimum requested screen height, 0 = not checked
maxHeight.l ; maximum requested screen height, 0 = not checked
minHz.l ; minimum requested refresh rate, 0 = not checked
maxHz.l ; maximum requested refresh rate, 0 = not checked
BitDepths.l ; requested bit depth for the screen (this flag is required!),
; can be a combination of the following flags: #BITS8 | #BITS16 | #BITS24 | #BITS32
allowedModes.s ; string with only allowed screen modes after all other checks, "800x600,1024x768"; "" = not checked
EndStructure
Procedure.s bppToString(bits.l)
Define retstring.s
If bits&#BITS8 : retstring+"8/" : EndIf
If bits&#BITS16: retstring+"16/": EndIf
If bits&#BITS24: retstring+"24/": EndIf
If bits&#BITS32: retstring+"32/": EndIf
ProcedureReturn Mid(retstring,1,Len(retstring)-1)
EndProcedure
Procedure addScreenMode(sml.ScreenModes(),w,h,bpp,hz)
Protected found.l
;
ForEach sml()
If sml()\Width = w And sml()\Height = h
found = 1
Break
ElseIf sml()\Width > w Or sml()\Height > h
InsertElement(sml())
found = 1
Break
EndIf
Next
;
If Not found
InsertElement(sml())
EndIf
;
sml()\Width = w
sml()\Height = h
Select bpp
Case 8: sml()\Bits | #BITS8
Case 16 : sml()\Bits | #BITS16
Case 24 : sml()\Bits | #BITS24
Case 32 : sml()\Bits | #BITS32
EndSelect
If Not FindString(sml()\hz,Str(hz),1)
If sml()\hz
sml()\hz + ","
EndIf
sml()\hz + Str(hz)
EndIf
EndProcedure
Procedure getScreenModeList(sml.ScreenModes(), *p.ScreenModePreferences )
Protected Width.l, Height.l, Depth.l, Rate.l, bits.l
ClearList(sml())
If *p And ExamineScreenModes()
While NextScreenMode()
Width = ScreenModeWidth()
Height = ScreenModeHeight()
Depth = ScreenModeDepth()
Rate = ScreenModeRefreshRate()
Select Depth
Case 8 : bits = #BITS8
Case 16: bits = #BITS16
Case 24: bits = #BITS24
Case 32: bits = #BITS32
Default: bits = 0
EndSelect
If (*p\BitDepths & bits)
If *p\minWidth And Width < *p\minWidth : Continue : EndIf
If *p\minHeight And Height < *p\minHeight : Continue : EndIf
If *p\minHz And Rate < *p\minHz : Continue : EndIf
If *p\maxWidth And Width > *p\maxWidth : Continue : EndIf
If *p\maxHeight And Height > *p\maxHeight : Continue : EndIf
If *p\maxHz And Rate > *p\maxHz : Continue : EndIf
If *p\allowedModes And FindString(*p\allowedModes,Str(Width)+"x"+Str(Height),1)=0 : Continue : EndIf
addScreenMode(sml(),Width,Height,Depth,Rate)
EndIf
Wend
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndProcedure
;
;- Main
;
InitSprite()
NewList myScreenModes.ScreenModes()
prefs.ScreenModePreferences
prefs\minWidth = 800
;prefs\maxWidth = 1600
prefs\minHeight = 600
;prefs\maxHeight = 1200
prefs\BitDepths = #BITS16|#BITS24|#BITS32;|#BITS8
;prefs\minHz = 60
;prefs\maxHz = 100
;prefs\allowedModes = "800x600,1024x768,1280x1024,1600x1200"
If getScreenModeList( myScreenModes() , prefs )
If Not CountList( myScreenModes() )
Debug "no matching screen modes found!"
Else
ForEach myScreenModes()
With myScreenModes()
out$ = RSet(Str( \Width ),4," ") + "x" + RSet(Str( \Height ),4," ")
out$ + " Depth: " + RSet( bppToString( \Bits ), 10, " ")
out$ + " Refreshrates: " + \Hz + " Hz"
Debug out$
EndWith
Next
EndIf
Else
Debug "getScreenModeList failed"
EndIf
Zuletzt geändert von Danilo am 31.07.2008 11:36, insgesamt 1-mal geändert.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
hmyoah...
die Ausgabe ist etwas doppelt und undurchsichtig....800x 600 Depth: 16/32 Refreshrates: 60,72,75,56,56 Hz
1024x 768 Depth: 16/32 Refreshrates: 60,70,75,60,70,75 Hz
1280x1024 Depth: 16/32 Refreshrates: 60,60 Hz
800x 600 Depth: 16 Refreshrates: 60,72,75 Hz
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Hmm... das zweimal 800x600 vorkommt, sollte nicht passieren,Kaeru Gaman hat geschrieben:hmyoah...die Ausgabe ist etwas doppelt und undurchsichtig....800x 600 Depth: 16/32 Refreshrates: 60,72,75,56,56 Hz
1024x 768 Depth: 16/32 Refreshrates: 60,70,75,60,70,75 Hz
1280x1024 Depth: 16/32 Refreshrates: 60,60 Hz
800x 600 Depth: 16 Refreshrates: 60,72,75 Hz
und kann ich hier auch nicht nachvollziehen.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
auch dass in jeder zeile einige Hz-werte doppelt stehen ist etwas befremdlich.
ich werd aber heut nicht deinen code auseinanderpulen, vielleicht another day...
wie gesagt, mir ging's primär darum, mehr background-info zu sammeln,
um irgendwann später wenn ich selber nen mode-requester schreibe,
weniger stolpersteine zu haben.
ich werd aber heut nicht deinen code auseinanderpulen, vielleicht another day...

wie gesagt, mir ging's primär darum, mehr background-info zu sammeln,
um irgendwann später wenn ich selber nen mode-requester schreibe,
weniger stolpersteine zu haben.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Ich hab mich mal an einen eigenen ScreenRequester ran gemacht, hänge leider am GUI, aber vil. kannst du diese Prozeduren gebrauchen..
Code: Alles auswählen
Structure ScreenMode
size.Size
factor.d
depth.l
fq.l
EndStructure
Procedure New_SreenModeList(ScreenModes.ScreenMode())
If Not ExamineScreenModes() : ProcedureReturn : EndIf
While NextScreenMode()
AddElement(ScreenModes())
ScreenModes()\size\cx = ScreenModeWidth()
ScreenModes()\size\cy = ScreenModeHeight()
ScreenModes()\factor = ScreenModes()\size\cx / ScreenModes()\size\cy
ScreenModes()\depth = ScreenModeDepth()
ScreenModes()\fq = ScreenModeRefreshRate()
Wend
EndProcedure
Procedure SreenModeList_SortOut(ScreenModes.ScreenMode(), cx, cy, factor.d, depth, fq, Result_ScreenModes.ScreenMode())
Protected high.b, found.b
If cx <> -1 : high + 1 : EndIf
If cy <> -1 : high + 1 : EndIf
If factor <> -1 : high + 1 : EndIf
If depth <> -1 : high + 1 : EndIf
If fq <> -1 : high + 1 : EndIf
ForEach ScreenModes()
If cx <> -1 And ScreenModes()\size\cx = cx
found + 1
EndIf
If cy <> -1 And ScreenModes()\size\cy = cy
found + 1
EndIf
If factor <> -1 And ScreenModes()\factor = factor
found + 1
EndIf
If depth <> -1 And ScreenModes()\depth = depth
found + 1
EndIf
If fq <> -1 And ScreenModes()\fq = fq
found + 1
EndIf
If found = high
AddElement(Result_ScreenModes())
Result_ScreenModes()\size\cx = ScreenModes()\size\cx
Result_ScreenModes()\size\cy = ScreenModes()\size\cy
Result_ScreenModes()\factor = ScreenModes()\factor
Result_ScreenModes()\depth = ScreenModes()\depth
Result_ScreenModes()\fq = ScreenModes()\fq
EndIf
found = 0
Next
EndProcedure
Procedure SreenModeList_Split(ScreenModes.ScreenMode(), Size.s(), BF.s(), Depth.s(), FQ.s())
Protected size.s, bf.s, depth.s, fq.s
Protected nFound.b
ForEach ScreenModes()
size = Str(ScreenModes()\size\cx) + " x " + Str(ScreenModes()\size\cy)
If ScreenModes()\factor = #BF_4_3
bf = "4 : 3"
ElseIf ScreenModes()\factor = #BF_16_9
bf = "16 : 9"
ElseIf ScreenModes()\factor = #BF_16_10
bf = "16 : 10"
EndIf
depth = Str(ScreenModes()\depth)
fq = Str(ScreenModes()\fq) + " Hz"
ForEach Size()
If Size() = size
nFound = 1
Break
EndIf
Next
If nFound = 0
AddElement(Size())
Size() = size
EndIf
nFound = 0
ForEach BF()
If BF() = bf
nFound = 1
Break
EndIf
Next
If nFound = 0
AddElement(BF())
BF() = bf
EndIf
nFound = 0
ForEach Depth()
If Depth() = depth
nFound = 1
Break
EndIf
Next
If nFound = 0
AddElement(Depth())
Depth() = depth
EndIf
nFound = 0
ForEach FQ()
If FQ() = fq
nFound = 1
Break
EndIf
Next
If nFound = 0
AddElement(FQ())
FQ() = fq
EndIf
nFound = 0
Next
EndProcedure
Dafür hatte ich nach Deinem ersten Posting schnell einen QuickFix gemacht.Kaeru Gaman hat geschrieben:auch dass in jeder zeile einige Hz-werte doppelt stehen ist etwas befremdlich.
Der ist nicht gut, nur erstmal ein Workaround:
Code: Alles auswählen
If Not FindString(sml()\hz,Str(hz),1) ; Quickfix -> "60" in "160" = Findstring=1
If sml()\hz
sml()\hz + ","
EndIf
sml()\hz + Str(hz)
EndIf
einfachen LinkedList in der Struktur oder einem Array variabler Größe
in der Struktur. Ohne Strings.
Sind ja nur 2 wirklich kleine Prozeduren, aber up to you.Kaeru Gaman hat geschrieben:ich werd aber heut nicht deinen code auseinanderpulen, vielleicht another day...
Obs für Dich leicht lesbar ist, kann ich nicht sagen - ist halt mein Style.
Ich hab auch manchmal Probleme Styles und Vorgehensweisen anderer
Coder hier zu verstehen - jeder ist halt im Kopf anders geprägt und hat
dadurch andere Denkweisen.
OK, dann bis irgendwann vielleicht mal. Ich wollte halt nur einen kleinenKaeru Gaman hat geschrieben:wie gesagt, mir ging's primär darum, mehr background-info zu sammeln,
um irgendwann später wenn ich selber nen mode-requester schreibe,
weniger stolpersteine zu haben.
Anstoß geben und loslegen. Hab ich mir irgendwie so komisch angewöhnt
über die letzten Jahre...

cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck