| |
|
|
- Seite 1 - |
|
Jörg Sellmeyer | DeleteObject sollte mehrere Parameter verarbeiten können. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 15.03.2012 ▲ |
|
|
|
|
| |
|
- Seite 2 - |
|
| Mir bekannt - meine aber:
var int meinArray[] var hashes deinArray[] meinArray=array(10,20,30,40) deinArray=array(50,meinArray,60) |
|
|
| |
|
|
|
RGH | Ok, das geht so nicht. Im Übrigen habe ich gerade fest gestellt, dass Hash-Arrays von VAR noch nicht unterstützt werden. Habe ich für die nächste Lieferung nachgerüstet. Dann geht zumindest Folgendes:
Über die Sache mit der Arrayfunktion muss ich noch mal nachdenken.
Gruß Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 02.11.2014 ▲ |
|
|
|
|
RGH | Eine Arrayfunktion müsste natürlich noch ein Kennzeichen für den Typ des Arrays enthalten, etwa array("W", Widstring1, widestring2, ....) oder array("I", 23, 56, 57).
Sonderlich sinnvolle Einsatzmöglichkeiten fallen mir für solche temporären Arrays allerdings nicht ein, außer dass man eine Zeile Programmcode spart.
Eher sinnvoll erscheint es mir bei Zuweisungen zu dynamischen Arrays auch die Schreibweise von VAR zuzulassen:
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 04.11.2014 ▲ |
|
|
|
|
RGH | Also die Schreibweise von VAR funktioniert jetzt auch für dynamische Arrays: Das Array wird geleeert und mit den Werten neu gefüllt.
Die bisherige Syntax
die jedem Element des Arrays den Ausdruck wert zuweist (und &index auswertet) ist weiterhin möglich. (Siehe Hilfe zum Thema Arrays.) Sobald jedoch mehrere durch Komma getrennte Werte da stehen und das Array dynamisch ist, wird das Array mit den Werten neu befüllt.
In der nächsten Lieferung ist es dabei!
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 04.11.2014 ▲ |
|
|
|
|
| Michael W. (02.11.14)
Ja, temp. Arrays sind mir aus PHP bekannt. Und das gebastelte FormatStr nutzte ja auch Arrays für die Parameter. DAFÜR...
Vermutlich nicht nur, siehe z.B. auch
jSON
als (zwar abweichende) Schreibweise für Daten- bzw. Elementereihen.
RGH (04.11.14)
...
Sonderlich sinnvolle Einsatzmöglichkeiten fallen mir für solche temporären Arrays allerdings nicht ein, außer dass man eine Zeile Programmcode spart.
...
Geht mir mit Set- und GetPixel so,
als eine Art "Grundsatzbadesalz" sollten sie dennoch nicht fehlen.
Vielleicht übersiehst Du aber auch etwas oder schenkst dem (zu?) wenig Beachtung:
Array als möglichen Datentyp für ein Array-Element eines assoziativen Arrays.
var hashes myElements=array("gut"=>"ding",array(10,array("puste"=>"kuchen"),30),"braucht"=>"zeit")
Das sind so unendlich hilfreiche Dinge, dass ich mir garnicht ausdenken mag, wo ich überhaupt anfangen möchte zu beschreiben, welche Einsatzmöglichkeiten sich böten. In JS, PHP und JAVA sind diese Möglichkeiten jedenfalls nicht wegzudenken und es lässt sich damit für unendlich viele Anwendungsfälle effizienterer und kürzerer Code schreiben. Wenn es XProfan nicht könnte, kann man damit leben, aber eine Diskussion über die Sinnhaftigkeit würde ich fast schon prinzipiell nicht führen. |
|
|
| |
|
|
|
RGH | Um es mal nach möglicher XProfan-Syntax zu übertragen:
Du würdest so etwas schreiben wollen:
Das kann man etwas abkürzen, da bei VAR ja die Werte auch so hinzugefügt werden können:
Die Werte 10 und 30 machen für ein Hash-Array wenig Sinn, da hier nur Keys aber keine dazugehörigen Werte angelegt werden, sind aber möglich. Ein Hash-Array mit nur einem Eintrag ("puste=>kuchen") ist natürlich nur zusätzliche Tipperei. Die Funktion array() mit genannter Syntax wäre rasch geschrieben, aber dass ein Parameter wahlweise String oder Hash-Array sein kann, ist schon aufwändiger ...
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 04.11.2014 ▲ |
|
|
|
|
RGH | Sodele: temporäre Arrays gehen schon mal:
Ok, das Beispiel zeigt nur die Syntax für die Arrayfunktion. Ansonsten würde man es natürlich so schreiben:
Gruß Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 05.11.2014 ▲ |
|
|
|
|
Jörg Sellmeyer | [OFFTOPIC]bitte mal den Offtopic in einen aussagekräftigen Thread verschieben. Bei mir spinnt gerade die Forumssoftware. Ich kann unter [...] kein neues Unterthema erzeugen. Außerdem frage ich mich, wieso immer ein doppelter Slash am Ende einer Url steht.[/OFFTOPIC]
[OFFTOPIC]jetzt sind die Themen doch erzeugt aber ich kann die Doppelten nicht mehr löschen...[/OFFTOPIC]
bitte hierher verschieben [...] |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 05.11.2014 ▲ |
|
|
|
| |
|
- Seite 3 - |
|
|
| RGH (04.11.14)
Die Werte 10 und 30 machen für ein Hash-Array wenig Sinn, da hier nur Keys aber keine dazugehörigen Werte angelegt werden, sind aber möglich.
Selbstverständlich ergeben Keys ohne Werte Sinn, Keys sind Werte!
Erinnere an ForEach, um die Keys als Werte betrachten zu können.
Sammle 10 Zufallszahlen per assoziativem Array und gib sie aus :
Worte eines Textes einfach als Keys ablegen erspart viel Arbeit für Wortliste. Natürlich könnte man auch die Häufigkeit zählen per myarr[wort$]++
Aber wenn man nicht zählen muss reicht ein "werteloser" Eintrag.
@Jörg: Ich schaue mir das an, habe im Moment aber einfach zu viel um die Ohren. Du kannst an die URL ja so viele Slashes anhängen wie DU magst - z.B.: [...] Womit das zusätzliche Slash bei Dir erzeugt wurde muss ich erst nachschauen. |
|
|
| |
|
|
|
RGH | Es erschließt sich mir zwar nicht, wieso ich für die Zufallszahlen ein Hash-Array anstelle eines performanteren numerischen Arrays nehmen sollte, aber es würde so funktionieren:
Wobei natürlich nicht garantiert ist, dass es wirklich 10 Einträge gibt, da rnd(19) ja durchaus mehrmals den gleichen Wert erzeugen kann. |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 05.11.2014 ▲ |
|
|
|
|
| RGH (05.11.14)
Es erschließt sich mir zwar nicht, wieso ich für die Zufallszahlen ein Hash-Array anstelle eines performanteren numerischen Arrays nehmen sollte, aber es würde so funktionieren:
Ich will ja jetzt nicht schreiben "Frage selbst beantwortet", aber...
RGH (05.11.14)
Wobei natürlich nicht garantiert ist, dass es wirklich 10 Einträge gibt, da rnd(19) ja durchaus mehrmals den gleichen Wert erzeugen kann.
genau das kann erwünscht sein.
Was ich schade fände wäre, wenn denn der Typ schon hash ist, dass dann ein str$ notwendig wäre bei myarr[str$(zahl)]. Das sollte dem XProfan beispielsweise egal sein. Theoretisch müsste auch myarr[array(10,20,30)]=array(40,50,60) möglich sein. Der Key sollte also beliebigem Typs sein können. Das bekommt man doch mit Ketten gut geregelt. |
|
|
| |
|
|
|
RGH | Zum Einen: str$ ist nicht mehr notwendig. Ich habe die automatische Typkonvertierung (hoffentlich) endlich da, wo ich sie immer haben wollte.
Zum anderen: Alle Wünsche aus den Anfangspostings sind erfüllt:
DestroyWindow, EnableWindow und ShowWindow können statt eines Handles nun auch ein entsprechendes Array (eindimensional, dynamisch oder temporär mit array()) enthalten:
(Die weiter oben genannte Syntax für DestroyWindow gilt daher nicht mehr.) Im 32-Bit-XProfan können die Arrays auch die Typen Integer, Longint oder Quadint sein, aber damit der Quellcode auch z.B. in FreeProfan64 funktioniert, sollte der Typ Handle genommen werden.
DeleteObject darf nun mehrere Objekt-Handles haben, wie z.B. auch Clear. Hier ist ein Array nicht gestattet.
Und damit wäre ab der nächsten Lieferung auch dieser Thread erledigt!
Gruß Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 06.11.2014 ▲ |
|
|
|