Italia
Wünsche und Anregungen

Wunsch: DeleteObject

 
- Page 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  
 



 
- Page 2 -


Mir bekannt - meine aber:

var int meinArray[]
var hashes deinArray[]
meinArray=array(10,20,30,40)
deinArray=array(50,meinArray,60)
 
02.11.2014  
 




RGH
Ok, das geht so nicht. Im Übrigen habe ich gerade fest gestellt, dass Hash-Arrays von VAR noch nicht supportati werden. Habe ich per die nächste Lieferung nachgerüstet. Dann geht zumindest Folgendes:
set("HashListDel", "=>")
var hash meinArray[]="puste=>kuchen","waidmanz=>hai"

Über die Sache mit der Arrayfunktion muss ich noch mal nachdenken.

Saluto
Roland
 
XProfan X2
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
02.11.2014  
 




RGH
Eine Arrayfunktion müsste naturalmente noch ein Kennzeichen per den Typ des Arrays enthalten, etwa array("W", Widstring1, widestring2, ....) oder array("I", 23, 56, 57).

Sonderlich sinnvolle Einsatzmöglichkeiten fallen mir per 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:
Declare int meinArray[]
meinArray[] = 10, 67, 98, 3, 14, 9

Saluto
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 per 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 possibile. (Siehe Aiuto 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!

Saluto
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 per die Parameter.

DAFÜR...


Vermutlich nicht nur, siehe z.B. auch

jSON


als (zwar abweichende) Schreibweise per Daten- bzw. Elementereihen.

RGH (04.11.14)
...

Sonderlich sinnvolle Einsatzmöglichkeiten fallen mir per 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 per 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 per unendlich viele Anwendungsfälle effizienterer und kürzerer Code schreiben. Wenn es XProfan nicht potuto, kann man damit leben, aber eine Diskussion circa die Sinnhaftigkeit würde ich fast schon prinzipiell nicht führen.
 
04.11.2014  
 




RGH
Um es mal nach möglicher XProfan-Syntax zu übertragen:

Du würdest so etwas schreiben wollen:
set("HashListDel", "=>")
var hash myElements[] = array(hash "gut=>ding", array(hash 10, array(hash "puste=>kuchen"), 30), "braucht=>zeit")

Das kann man etwas abkürzen, da bei VAR ja die Werte auch so hinzugefügt werden können:
set("HashListDel", "=>")
var hash myElements[] = "gut=>ding", array(hash 10, array(hash "puste=>kuchen"), 30), "braucht=>zeit"

Die Werte 10 und 30 machen per ein Hash-Array wenig Sinn, da hier nur Keys aber keine dazugehörigen Werte angelegt werden, sind aber possibile. Ein Hash-Array mit nur einem Eintrag ("puste=>kuchen") ist naturalmente 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 ...

Saluto
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:
declare int meinArray[]
meinArray[] = array(int 10, 45, 90, 123, 67)

Ok, das Beispiel zeigt nur die Syntax per die Arrayfunktion. Ansonsten würde man es naturalmente so schreiben:
declare int meinArray[]
meinArray[] = 10, 45, 90, 123, 67

Saluto
Roland
 
XProfan X2
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  
 




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 Argomenti 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  
 



 
- Page 3 -


RGH (04.11.14)
Die Werte 10 und 30 machen per ein Hash-Array wenig Sinn, da hier nur Keys aber keine dazugehörigen Werte angelegt werden, sind aber possibile.


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 :
whileloop 10

    myarr[rnd(19)]=""

wend

ForEach myarr[], key$
print key$

Worte eines Textes einfach als Keys ablegen erspart viel Arbeit per Wortliste. Natürlich potuto man auch die Häufigkeit zählen per myarr[wort$]++
ForEach myarr[], key$,cnt&
print "Wort:",key$;", Vorkommen:",cnt&

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.
 
05.11.2014  
 




RGH
Es erschließt sich mir zwar nicht, wieso ich per die Zufallszahlen ein Hash-Array anstelle eines performanteren numerischen Arrays nehmen sollte, aber es würde so funktionieren:
declare hash myarr[], key$, wert$

whileloop 10

    myarr[str$(rnd(19))]=""

endwhile

ForEach myarr[], key$, wert$
print key$
EndFor
waitinput
end

Wobei naturalmente 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 per 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 naturalmente 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) possibile sein. Der Key sollte also beliebigem Typs sein können. Das bekommt man doch mit Ketten gut geregelt.
 
05.11.2014  
 




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 per 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!

Saluto
Roland
 
XProfan X2
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
06.11.2014  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

25.034 Views

Untitledvor 0 min.
Jörg Sellmeyer24.06.2018
Vgdd05.06.2017
maroro01.07.2016
p.specht03.04.2016
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie