Constanten defines array

Übergeordnete Themen zum gesamten Paket passend
Werner_Bayern
Member
Beiträge: 91
Registriert: 2. Dezember 2019, 15:35

Constanten defines array

Beitrag von Werner_Bayern »

Servus,

Folgendes geht nicht:

Code: Alles auswählen

info(["test1", "test2"][1])
Hätte es mit CONSTANT versucht, geht aber offensichtlich nicht mit arrays? Man muss also in so einem Falle eine Array-Variable definieren?
Servus,

Werner

[Windev, Webdev und Windev Mobile Version 25 und 26, sobald in Englisch verfügbar]

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: Constanten defines array

Beitrag von Herbert »

Ich verstehe nichts...

Werner_Bayern
Member
Beiträge: 91
Registriert: 2. Dezember 2019, 15:35

Re: Constanten defines array

Beitrag von Werner_Bayern »

Schon klar, nach der Leistung der Schweizer gestern ;-)
Der Hammer, Respekt!

Zum Thema: Ich bräuchte keine Variable, es würde reichen, die Werte direkt in den Code zu schreiben.
Servus,

Werner

[Windev, Webdev und Windev Mobile Version 25 und 26, sobald in Englisch verfügbar]

satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

Re: Constanten defines array

Beitrag von satmax »

Ich verstehe als Österreicher auch nicht was du willst... Wäre sicher hilfreich wenn uns du erklären würdest worum es geht.

INFO() erwartet einen String und gibt eine Meldung am Bildschirm aus: Info("Hello" + User_Name, "Welcome!")

Werner_Bayern
Member
Beiträge: 91
Registriert: 2. Dezember 2019, 15:35

Re: Constanten defines array

Beitrag von Werner_Bayern »

ok, hab mich ungenau ausgedrückt: Ich benötige eine Constante - siehe Betreff. Es muss also nicht eine Variable sein, sondern lediglich eine Constante. In Xbase++ würde ich das einfach so schreiben, wie oben beschrieben. In Windev geht das offensichtlich nicht, dafür gäbe es aber die Anweisung "Constant"? Damit geht es aber auch nicht, da ich ein Array benötige - siehe Beispiel oben.
In Xbase++ müsste ich nicht mal ein #define verwenden, sondern könnte es so wie oben gezeigt schreiben. Ist das in Windev auch möglich?

PS: Das Spiel Österreich - Italien war auch der Hammer, Österreich so stark wie nie!
Servus,

Werner

[Windev, Webdev und Windev Mobile Version 25 und 26, sobald in Englisch verfügbar]

Werner_Bayern
Member
Beiträge: 91
Registriert: 2. Dezember 2019, 15:35

Re: Constanten defines array

Beitrag von Werner_Bayern »

Servus,

also gibts sowas in Windev nicht?
Servus,

Werner

[Windev, Webdev und Windev Mobile Version 25 und 26, sobald in Englisch verfügbar]

satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

Re: Constanten defines array

Beitrag von satmax »

Also ich habe noch immer keine Ahnung was du willst. Eine genau Anforderung oder ein Beispiel könnte da helfen...

Oder meinst du einfach so was in der Art:

Code: Alles auswählen

{sTable + "." + sField} = {dsMySource + "." + sField} 
oder so:

Code: Alles auswählen

sResControl = EnumControl({sControl}, i)
oder so:

Code: Alles auswählen

IF NOT TmEmpty(sDBField) _AND_ NOT TmEmpty({sResControl + "..DisplayedValue"}) THEN	
	// neu angelegter Eintrag in der Combobox
	{sDBField} = {sResControl + "..DisplayedValue"}
	// Names des Controls sowie das Query im Array merken
	sTemp = sResControl + TAB + {sResControl + ".BrowsedFile"}
	TmAppClass.m_arrCombobox.Add(sTemp)
END

Werner_Bayern
Member
Beiträge: 91
Registriert: 2. Dezember 2019, 15:35

Re: Constanten defines array

Beitrag von Werner_Bayern »

Servus Satmax,

danke. Also nein, Indirektion meine ich hier nicht. Siehe meine Eingangs-Post. Ich bräuchte ein statisches Array, also keine Variable:

["test1", "test2"]

Im Programmcode würde ich dann schreiben:

Code: Alles auswählen

procedure irgendwas(nEintrag)
result ["test1", "test2"][nEintrag]
Es geht hier nicht um Controls!
Servus,

Werner

[Windev, Webdev und Windev Mobile Version 25 und 26, sobald in Englisch verfügbar]

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: Constanten defines array

Beitrag von Herbert »

Werner, ich verstehe weiterhin nicht.
Indirection geht auch auf Variablen, Elemente und vieles mehr. Schau da unter der Rubrik Type:
https://help.windev.com/en-US/?1512005& ... l_and_item

Werner_Bayern
Member
Beiträge: 91
Registriert: 2. Dezember 2019, 15:35

Re: Constanten defines array

Beitrag von Werner_Bayern »

Servus Herbert,

danke, aber es geht mir nicht um Indirection - siehe Betreff. Ich möchte eine Constante verwenden, anstatt einer Variable. Die Constante würde ein Array sein, siehe letztes Beispiel und meine 1. Post.
Servus,

Werner

[Windev, Webdev und Windev Mobile Version 25 und 26, sobald in Englisch verfügbar]

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: Constanten defines array

Beitrag von Herbert »

Lieber Werner
Es ist für mich nicht möglich, zu entziffern, was du wirklich mit diesen "Konstanten" machen willst. Eine Konstante lässt sich ja wie eine Variable bahandeln. Ich verstand aus deinem Posting, dass du ev. die Indirection nur auf Controls bezogen kennst.
Da ich weiterhin nicht begreife, was genau vorhast, wäre ich um detailliertere Erklärung erefreut.
Gruss Herbert

Werner_Bayern
Member
Beiträge: 91
Registriert: 2. Dezember 2019, 15:35

Re: Constanten defines array

Beitrag von Werner_Bayern »

Servus Herbert,

ihr versteht mich nicht, weil ihr mir nicht eine so einfache Frage zutraut ;-)

Code: Alles auswählen

info(irgendwas(2))

procedure irgendwas(nEintrag)
result ["test1", "test2"][nEintrag]
Sollte mir einfach das Info-Fenster mit dem Text "test2" ausgeben. Keine Controls, keine Indirection, kein Zugriff auf irgendwas.
Servus,

Werner

[Windev, Webdev und Windev Mobile Version 25 und 26, sobald in Englisch verfügbar]

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: Constanten defines array

Beitrag von Herbert »

Nicht leicht. Also, wenn ich den Titel lese, möchtest du ein Array zurückgeben, ohne dieses vorher definiert zu haben. Warum?
Das nEintrag kommt und geht... nein, ich verstehe wirklich nicht viel.
Anders gefragt: Was machst du mit dem Ergebnis danach weiter? Vielleicht verstehe ich dann so besser deine Gedanken.

Werner_Bayern
Member
Beiträge: 91
Registriert: 2. Dezember 2019, 15:35

Re: Constanten defines array

Beitrag von Werner_Bayern »

Servus Herbert,

danke, dass Du nicht aufgibtst...

Da gibt es 1000 Beispiele... Z. B. Felddefinitionen eines SQL-Servers:

In Xbase++:

Code: Alles auswählen

#define ARTIKELFELDER {"artnr", "matchcode", "text1", "text", "warengruppe"}

confirmbox(, fieldget(ARTIKELFELDER[3]))
Servus,

Werner

[Windev, Webdev und Windev Mobile Version 25 und 26, sobald in Englisch verfügbar]

satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

Re: Constanten defines array

Beitrag von satmax »

Ohne viel nachzudenken könnte man es so machen:

Code: Alles auswählen

garrArtikelfelder is array of string
StringToArray("artnr"+CR+"matchcode"+CR+"text1"+CR+"text"+CR+"warengruppe", garrArtikelfelder)
// Oder alternativ:
// StringToArray("artnr, matchcode, text1, text, warengruppe", garrArtikelfelder,",")

Info(fieldGet(garrArtikelfelder,3))

...

PROCEDURE fieldGet(arrFields is array of strings,i is int)

IF i <= ArrayCount(arrFields) THEN
	RESULT(arrFields[i])
ELSE
	RESULT("")
END
Aber da gibt es sicher auch noch andere Möglichkeiten

Antworten