kann Code dynamisch Variablen erstellen?

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: kann Code dynamisch Variablen erstellen?

Re: kann Code dynamisch Variablen erstellen?

von DPunch » Mo, 15.08.2011 13:27

Stephan hat geschrieben:Wie hier alle lesen können war Deine Aussage, im Kontext:

"so, dass es da eben keine Beschränkung gibt - wobei man über "practical" wohl zweimal nachdenken kann, ein Array mit 2^31 Elementen ist ja schon ausserhalb jeder praktischen Anwendung (vor allem in einem Makro)."
1.) Ein Array - kein VB-Array, kein StarBasic-Array, kein Java-Array - ein Array. Die Zahl habe ich nur aufgegriffen, weil sie eh schon im Raum stand. Und das habe ich schon mehr als einmal gesagt.
2.) Vor allem in einem Makro, aber auch im Allgemeinen.

Ich rede in diesem Moment einzig und allein darüber, was der Verfasser des Wiki-Artikels in Zusammenhang mit Programmierung wohl mit "practical limit" meint.
Keinerlei Aussage zu Starbasic, keinerlei Aussage zu VB und schon gar keine Aussage dazu, ob ich der Meinung bin, dass Du das in irgendeiner Art für praxisrelevant halten könntest - das tut nämlich gar nichts zur Sache.

Re: kann Code dynamisch Variablen erstellen?

von Stephan » Mo, 15.08.2011 12:58

Die Andeutung, dass Du "die Maxcimalgröße eines Arrays in VB irgendwie praxisrelevant für StarBasic" hältst, habe ich nie gemacht, genau das unterstellst Du mir aber.
Und das erhalte ich aufrecht.

Wie hier alle lesen können war Deine Aussage, im Kontext:

"so, dass es da eben keine Beschränkung gibt - wobei man über "practical" wohl zweimal nachdenken kann, ein Array mit 2^31 Elementen ist ja schon ausserhalb jeder praktischen Anwendung (vor allem in einem Makro)."

und dazu sage ich:

1. es ist ganz offensichtlich das Du 2^31 nicht selbst als Beispiel konstruiert hast sondern Dich auf meine Aussage beziehst

2. das mit "Makro" hier ja wohl offensichtlich StarBasic gemeint ist


Stephan

Re: kann Code dynamisch Variablen erstellen?

von DPunch » Mo, 15.08.2011 12:47

Stephan hat geschrieben:Das die mögliche Größe eines Arrays immer auch speicherabhängig ist.
Auch speicherabhängig ist natürlich richtig, nicht aber nur speicherabhängig, wie es der Wiki-Artikel suggeriert.
Stephan hat geschrieben:Und das Du glaubst Du könntest hier durch einen Test Spezifikationen ersetzen ist ziemlich ungewöhnlich.
Ich will hier gar nichts ersetzen, in der Position bin ich gar nicht. Die Spezifikationen kenne ich auch nicht, aber ein für Jedermann reproduzierbarer Test mit eindeutigem Ergebnis reicht mir, um meine Aussage zu treffen.
Stephan hat geschrieben:Warum Du es als "Trolling" bezeichnest
Weil ich es als solches empfinde - Du diskutierst hier nur des Diskutierens willens, ohne der Antwortfindung Input zu geben.
Stephan hat geschrieben:Ich habe hier überhaupt nicht Haltloses unterstellt und verbitte mir von Dir solche Unterstellungen.
Ich verbitte mir, dass Du mir unterstellst, ich würde Dir nur unterstellen, dass Du mir Haltloses unterstellst.
Die Andeutung, dass Du "die Maxcimalgröße eines Arrays in VB irgendwie praxisrelevant für StarBasic" hältst, habe ich nie gemacht, genau das unterstellst Du mir aber.

Re: kann Code dynamisch Variablen erstellen?

von Stephan » Mo, 15.08.2011 12:36

Was war klar?
Das die mögliche Größe eines Arrays immer auch speicherabhängig ist.

Und das eben nicht nur mit Verweis auf die von Dir als nichtpratikabel gekennzeichnete Größe von 2^31, sondern generell.
Da Du selbst sagst, dass Du bezweifelst, dass das irgendwo dokumentiert ist, halte ich einen Test mit reproduzierbarem Ergebnis für ausreichend.
Was ich persönlkich dazu sage ist irrelevant, wenn wir ernsthaft über Spezifikationen reden. Und das Du glaubst Du könntest hier durch einen Test Spezifikationen ersetzen ist ziemlich ungewöhnlich.
Warum Du es als "Trolling" bezeichnest wennn ich Dich darauf hinweise das Deine Meinung oder Deine Tests (genausowenig wie die Meinen) eine Spezifikation ersetzen ist wohl eher auch Dein Geheimnis.
Deine haltlosen Unterstellungen
Ich habe hier überhaupt nicht Haltloses unterstellt und verbitte mir von Dir solche Unterstellungen.


Gruß
Stephan

Re: kann Code dynamisch Variablen erstellen?

von DPunch » Mo, 15.08.2011 12:12

Stephan hat geschrieben:Doch das hast Du:
Ich habe eine in den Raum geworfene Zahl aufgegriffen, keines meiner Postings hatte auch nur im Geringsten irgendwas mit VB zu tun. Die Zahl hätte auch 1500000000 oder 2^41 oder 3^15*PI lauten und in Verbindung mit dem BIP Ugandas genannt worden sein können. Habe ich auch schon mehr als deutlich erklärt.
(Und genau genommen rede ich in dem fraglichen Abschnitt nichtmal über OOo Basic / Starbasic, sondern allgemein über die Bedeutung von "practical limit" für einen (Makro-)Programmierer)
Stephan hat geschrieben:Exakt, nur war das ja längst klar wo Du mit Deiner einseitigen Diskussion anfingst.
Was war klar?
Da ich es nicht weiss, habe ich nicht weiter geantwortet.
(...)
Das kann ich leider nicht beantworten.
(...)
Worum es doch aber geht ist wie groß ein Array grundsätzlich dimensioniert werden kann (...) Zahl muß es zwangläufig auch für Arrays in StarBasic geben - keine Ahnung welche Zahl das konkret ist.
Aha, alles klar.
Stephan hat geschrieben:mir war nicht klar das 'ein schneller Testlauf' inzwischen eine Spezifikation oder ähnliche verbindliche Aussage ersetzt.
Da Du selbst sagst, dass Du bezweifelst, dass das irgendwo dokumentiert ist, halte ich einen Test mit reproduzierbarem Ergebnis für ausreichend.
Wenn Du unter OOo Basic ein Array mit einem größeren Index als 2147483647 bzw einem kleineren Startindex als -2147483648 deklariert hast oder eine dem widersprechende Spezifikation auftreiben kannst, können wir über die Verbindlichkeit von Aussagen reden, alles andere ist nichts als Trolling.
Stephan hat geschrieben:Dann würde ich mich an Deiner Stelle einfach nicht an der Diskussion beteiligen.
An einer Diskussion mit Dir hatte ich zu keinem Zeitpunkt ein Interesse, ich wollte schlicht eine konkrete Antwort auf die konkrete Frage in diesem Thread geben.
Alles andere war nur die Richtigstellung des Wiki-Artikels und der Versuch, Deine haltlosen Unterstellungen und groben Missverständnisse aus dem Raum zu schaffen.

Re: kann Code dynamisch Variablen erstellen?

von Stephan » Mo, 15.08.2011 06:45

Ich habe nie Andeutungen über praxisrelevante Rückschlüsse von VB zu Starbasic gemacht
Doch das hast Du:
wobei man über "practical" wohl zweimal nachdenken kann, ein Array mit 2^31 Elementen ist ja schon ausserhalb jeder praktischen Anwendung (vor allem in einem Makro).
Wenn man eine seriöse Antwort darauf geben will, muss man natürlich zuerst klären, welche Antwort die richtige ist (wer Recht hat).
Exakt, nur war das ja längst klar wo Du mit Deiner einseitigen Diskussion anfingst.
Die richtige Antwort ist: OOo Basic erlaubt zur Dimensionierung von Arrays das, was ein signed Long unter Windows / Unix<=32bit hergibt als Kapazität - also von −2.147.483.648 bis 2.147.483.647.
Aha, also ersetzen wir jetzt Spezifikationen gegen eigene Aussagen und erheben Letztere dann in den Status des Beweises. Ich jedenfalls las bisher nur:
Nachtrag:
Schneller Testlauf ergibt:
Maximal 2147483647 + 2147483648 + 1 Elemente (4.294.967.296), entspricht der Kapazität eines signed Long.
und mir war nicht klar das 'ein schneller Testlauf' inzwischen eine Spezifikation oder ähnliche verbindliche Aussage ersetzt.
ist mir das ehrlich gesagt zu anstrengend.
Dann würde ich mich an Deiner Stelle einfach nicht an der Diskussion beteiligen.


Stephan

Re: kann Code dynamisch Variablen erstellen?

von DPunch » So, 14.08.2011 17:33

Stephan hat geschrieben:Da täuscht Dich dann Deine Meinung
Nein, absolut nicht. Ich habe nie Andeutungen über praxisrelevante Rückschlüsse von VB zu Starbasic gemacht oder darüber, dass Du über derartiges reden würdest.
Stephan hat geschrieben:Aber es dann nicht getan
???
Du solltest sorgfältiger lesen und nicht solche Behauptungen aufstellen.
Stephan hat geschrieben:UNd genau das was Du hier tust ist das was ich kritisiere, Du versuchst wieder zu klären wer Recht hat
Wir sind hier in einem Forum, in dem User konkrete Fragen zu OOo und Makros stellen.
Die konkrete Frage war, was die "höchstmögliche Anzahl an Feldern und Dimensionen eines Datenfelds" ist.
Wenn man eine seriöse Antwort darauf geben will, muss man natürlich zuerst klären, welche Antwort die richtige ist (wer Recht hat).
Die falsche Antwort ist die aus dem Wiki.
Die richtige Antwort ist: OOo Basic erlaubt zur Dimensionierung von Arrays das, was ein signed Long unter Windows / Unix<=32bit hergibt als Kapazität - also von −2.147.483.648 bis 2.147.483.647. Ob man tatsächlich so viele Elemente dort unterbringen kann, hängt vom verfügbaren Speicher und dem Datentyp ab, eine verbindliche Angabe kann man dazu also nicht machen.
Stephan hat geschrieben:Dir mag ja eine solche Diskussion überflüssig vorkommen
Nicht generell überflüssig, da ich aber das Gefühl habe, dass wir irgendwie unterschiedliche Sprachen zu sprechen scheinen, ist mir das ehrlich gesagt zu anstrengend.

Re: kann Code dynamisch Variablen erstellen?

von Stephan » So, 14.08.2011 11:10

schon gar nicht, wenn das in Grossbuchstaben ausgedrückte meiner Meinung nach nicht zu dem passt, was ich geschrieben hatte.
Da täuscht Dich dann Deine Meinung
Natürlich.
Ein User hat eine konkrete Frage gestellt, ich habe als konkrete Antwort einen falschen Wiki-Beitrag gepostet und die Notwendigkeit gesehen, das dort gesagte zu korrigieren.
Aber es dann nicht getan, denn Deine Darstellung war einseitig und dagegen setze ich mich zur Wehr.
Abgesehen davon, dass man natürlich händisch Informationen zwischenspeichern kann z.B. in Textdateien / Datenbanken und bei Bedarf wieder auslesen, würde ich mir da gar nicht allzuviel Gedanken drüber machen wollen, das virtuelle Speichermanagement tut schon seinen Zweck.
Ich hingegen schon, denn nur wenn man sich Gedanken macht kann man Dinge weiterentwickeln.

UNd genau das was Du hier tust ist das was ich kritisiere, Du versuchst wieder zu klären wer Recht hat, auf der Grundlage des MOMENTANEN technischen Stands oder Wissens und willst einfach nicht verstehen das kreative Menschen es vorziehen über solche Grenzen hinwegzudenken, weil sie wissen (und die Praxis bestätigt das quasi dauernd) das die heute für unmöglich gehaltenen Dinge die normalen Dinge von Morgen sind.

Dir mag ja eine solche Diskussion überflüssig vorkommen, allein ist sie ein Weg seinen Blick zu schärfen und sich im wechselseitigen Austausch neue Perspektiven zu erarbeiten, die in neue Entdeckungen oder Techniken münden.



Stephan

Re: kann Code dynamisch Variablen erstellen?

von DPunch » Sa, 13.08.2011 16:03

Aloha
Stephan hat geschrieben:meine Hoffnung war wieder nur ein Fachgespräch unter Experten
Entschuldigung, wenn mir jemand Sachen im Capslock mitteilt, gehe ich wenn überhaupt davon aus, dass derjenige angepisst ist oder mich für begriffsstutzig hält, aber bestimmt nicht, dass er eine ernsthafte Diskussion anstrebt - schon gar nicht, wenn das in Grossbuchstaben ausgedrückte meiner Meinung nach nicht zu dem passt, was ich geschrieben hatte.
Stephan hat geschrieben:landen tue ich in einem Mainstream-Talk zum Thema: 'wer hat wohl Recht'
Natürlich.
Ein User hat eine konkrete Frage gestellt, ich habe als konkrete Antwort einen falschen Wiki-Beitrag gepostet und die Notwendigkeit gesehen, das dort gesagte zu korrigieren.
Stephan hat geschrieben:wenn man es als Einstieg zu einer Diskussion sieht wie es dann doch gelingen kann bestehende Speichergrenzen beim Programmieren 'auszutricksen'.
Abgesehen davon, dass man natürlich händisch Informationen zwischenspeichern kann z.B. in Textdateien / Datenbanken und bei Bedarf wieder auslesen, würde ich mir da gar nicht allzuviel Gedanken drüber machen wollen, das virtuelle Speichermanagement tut schon seinen Zweck.

Re: kann Code dynamisch Variablen erstellen?

von Stephan » Fr, 12.08.2011 10:14

Ich habe das Gefühl, dass wir mit jedem Post weiter abdriften
Tja dann ... meine Hoffnung war wieder nur ein Fachgespräch unter Experten, landen tue ich in einem Mainstream-Talk zum Thema: 'wer hat wohl Recht'

Ich erachte es nicht als sinnvoll die Frage ob der Wiki-Artikel nun eine mögliche Array-Obergrenze, jenseits des limitierenden Speichers, nur nicht erwähnt oder ob es sie nicht gibt, dadurch klären zu wollen das man sich auf die Diskussion zu einer der praktischen Grenzen des Array verlegt, nämlich der Oberen, wissend das dieses Argument hier eigentlich belanglos ist da es für die untere Grenze genauso gelten würde.

Interessant hätte die Diskussion hingegen beim Thema:

"Das ist ja keine Eigenschaft von OOo Basic / StarBasic, sondern Grundlage bei jeglicher Speicherzuweisung/-reservierung."

werden können, wenn man es nicht in getaner Art als Gegenargument in den Ring wirft, sondern wenn man es als Einstieg zu einer Diskussion sieht wie es dann doch gelingen kann bestehende Speichergrenzen beim Programmieren 'auszutricksen'.


Stephan

Re: kann Code dynamisch Variablen erstellen?

von DPunch » Do, 11.08.2011 19:29

Aloha

Sorry, ich glaube Du missverstehst mich, es ging mir nicht um Deine Aussagen über VB.
Ich habe Dir letztendlich Recht geben wollen, weil der Wiki-Artikel schlichtweg so nicht stimmt.

Ich habe das Gefühl, dass wir mit jedem Post weiter abdriften, daher hier mein Verständnis des Verlaufs:
- Frage nach maximaler Dimension
- Du sagst, dass Du es nicht weisst und nur einen Tip abgeben kannst
- Ich poste (ungestet) das Wiki-Zitat, das besagt, dass einzig und allein durch den verfügbaren Speicher ein Limit gesetzt ist
- Du erwiderst, dass das klar sei, aber es eine Grenze geben müsse, wie zum Beispiel die Grenze von 2^31-1 in VB6
- Ich sage, dass ich den Wiki-Artikel grundsätzlich so verstehe, dass es diese Grenze eben nicht gäbe, während ich mir Gedanken über die Formulierung "practical limit" mache und dabei (ein einziges Mal) indirekt Bezug auf Deine Aussage zu VB6 nehme, indem ich ein Array mit 2^31-1 Elementen schon als ausserhalb der praktischen Anwendung bezeichne, womit ich im Endeffekt die Aussage des Wiki-Artikels relativiert sehe - kein "practical limit", wie es der Autor nennt, aber bestimmt irgendein Limit. Im Nachtrag bestätige ich im Übrigen Deine Vermutung bzw widerlege die Aussage des Wiki-Autors (möglicherweise überlesen?)
- Du mokierst Dich über die Aussage "so long as there is enough memory"
- Ich sage, dass diese Aussage nichts verwerfliches, weil Grundkonzept (Umkehrschluss nannte ich Deine Erklärung, dass dann ja auch schon nach 1000 Elementen Schluss sein könnte), ist und erkläre, warum ich den (falschen) Wiki-Artikel ungetestet einfach hier wiedergegeben habe - nämlich weil ich diese in der Regel als recht zuverlässig empfunden habe

Du siehst, ich wollte Dir nicht ans Bein pissen oder Dich verbessern.
Aber wir zwei scheinen ja gerne aneinander vorbeizureden, warum auch immer.

Re: kann Code dynamisch Variablen erstellen?

von Stephan » Do, 11.08.2011 18:58

Natürlich kann das sein, aber was hat Dein Umkehrschluss mit dem Thema zu tun?
Warum Du aus der Aussage im Wiki und meinen Bezug auf VB! UND NICHT STARBASIC! die Ausssage andeutest das ich wohl anscheinend darüber reden würde das ich die Maxcimalgröße eines Arrays in VB irgendwie praxisrelevant für StarBasic hielte erschließt sich mir nicht.

Mein 'Umkehrschluss' deutet deshalb nur an das das Eine so praxisrelevant ist (oder nicht ist) wie das Andere.
Das ist ja keine Eigenschaft von OOo Basic / StarBasic, sondern Grundlage bei jeglicher Speicherzuweisung/-reservierung.
Das weiß ich nicht, aber ich habe in jedem Fall soviel Abstraktionsvermögen mir vorzustellen das man nicht zwangsweise komplette Arrayinhalte im Arbeitsspeicher halten muß.
bis jetzt lag aber zumindest die Wiki in den meisten Fällen (wobei ich natürlich nicht alles nachprüfe) richtig - genannte Zitate stammen aus der Wiki und waren in ihrer Aussage so eindeutig, dass ich sie zunächst ohne weiteres Nachprüfen hier wiedergegeben habe.
Tja, tut mir leid das ich das nicht verstehe, denn ich las nirgendwo etwas darüber das im Wiki die Aussage:

"Wenn die Größe von Arrays strikt durch die Kapazität eines Long beschränkt wäre, würde ich aber doch vermuten, dass das irgendwo zu finden sein müsste."

gestützt worden wäre und NUR um diese Aussage ging es mir denn die Aussage des Wikis habe ich überhaupt nicht in Zweifel gezogen, schon garnicht da ich ja längst VOR Deimen post schrieb:

"Das kann ich leider nicht beantworten."



Stephan

Re: kann Code dynamisch Variablen erstellen?

von DPunch » Do, 11.08.2011 18:15

Aloha
Stephan hat geschrieben:(...)gilt ja andersrum genauso, es kann nach einigen tausend Elementen Schluss sein, wenn der Speicher nicht mehr hergibt.
Natürlich kann das sein, aber was hat Dein Umkehrschluss mit dem Thema zu tun? Das ist ja keine Eigenschaft von OOo Basic / StarBasic, sondern Grundlage bei jeglicher Speicherzuweisung/-reservierung.

Das Zitat aus der OOo-Wiki war eine Replik auf die Frage, wie gross Arrays maximal dimensioniert werden können.
Der Verfasser dort deutet an, dass Arrays in ihrer Größe einzig und exklusiv durch den zur Verfügung stehenden Speicher begrenzt sind (und ich habe darüber philosophiert, warum wohl die Formulierung "practical limits" in dem Satz auftaucht). Vom Verfasser nochmal untermalt durch den Einwurf
VBA : Other limit values sometimes apply for data field indexes in VBA. The same also applies to the maximum number of elements possible per dimension. The values valid there can be found in the relevant VBA documentation.
Stephan hat geschrieben:Ich eher nicht, denn beispielsweise würden die Dinge die nirgens für die API dokumentiert sind mit Sicherheit einen größeren Zeitschriftenartikel füllen
Da hast Du sicher Recht, bis jetzt lag aber zumindest die Wiki in den meisten Fällen (wobei ich natürlich nicht alles nachprüfe) richtig - genannte Zitate stammen aus der Wiki und waren in ihrer Aussage so eindeutig, dass ich sie zunächst ohne weiteres Nachprüfen hier wiedergegeben habe.

Re: kann Code dynamisch Variablen erstellen?

von Stephan » Do, 11.08.2011 14:39

wobei man über "practical" wohl zweimal nachdenken kann, ein Array mit 2^31 Elementen ist ja schon ausserhalb jeder praktischen Anwendung (vor allem in einem Makro).
Sorry, nur dann kann ich ja gleich einen Pudding an die Wand nageln denn für:
so long as there is enough memory
gilt ja andersrum genauso, es kann nach einigen tausend Elementen Schluss sein, wenn der Speicher nicht mehr hergibt.
Wenn die Größe von Arrays strikt durch die Kapazität eines Long beschränkt wäre, würde ich aber doch vermuten, dass das irgendwo zu finden sein müsste.
Ich eher nicht, denn beispielsweise würden die Dinge die nirgens für die API dokumentiert sind mit Sicherheit einen größeren Zeitschriftenartikel füllen, obwohl Dir die Entwickler zu konkreten Nachfragen Details immer gerne verraten (es geht also nicht darum bewußt etwas gehein zu halten) nur zum Dokumentieren ist man zu faul.

Und genauso sind vielfach meine Erfahrungen aus ca. 7 Jahren OOo-Projekt, weiterhelfen auf Nachfrage tut man gerne, dokumentieren eher nicht so gerne.


Gruß
Stephan

Re: kann Code dynamisch Variablen erstellen?

von DPunch » Do, 11.08.2011 12:10

Aloha
Stephan hat geschrieben:Worum es doch aber geht ist wie groß ein Array grundsätzlich dimensioniert werden kann
Ich verstehe den Satz
There are no practical limits on the indexes or on the number of elements in an array
so, dass es da eben keine Beschränkung gibt - wobei man über "practical" wohl zweimal nachdenken kann, ein Array mit 2^31 Elementen ist ja schon ausserhalb jeder praktischen Anwendung (vor allem in einem Makro).
Wenn die Größe von Arrays strikt durch die Kapazität eines Long beschränkt wäre, würde ich aber doch vermuten, dass das irgendwo zu finden sein müsste.

Nachtrag:
Schneller Testlauf ergibt:
Maximal 2147483647 + 2147483648 + 1 Elemente (4.294.967.296), entspricht der Kapazität eines signed Long.

Nach oben