INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Übergabe Variableninhalt an Report



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

12.06.2008, 13:32
Beitrag #1

schonOK Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jun 2008

8.2
2008
de

52072
Deutschland
Übergabe Variableninhalt an Report
Hallo Zusammen,

ich bin absoluter Neuling mit Diadem (komme von hbm-catman) und direkt von den vielen Möglichkeiten und der Geschwindigkeit begeistert.
Nun habe ich natürlich direkt auch eine Frage an die Profis:
Besteht eine einfache Möglichkeit aus dem Informationsbereich bei dem individuellen Eintrag "Source file path - N:4_Projekte7-021-STB " den Teil 07-021-STB abzutrennen und in einen Report einzufügen?
Vieleicht müsste man das irgendwie splitten, in eine Variable schreiben und diese Variable dann in den Report einfügen. Nur wie?

Gesplittet und als Box angezeigt habe ich es ja bekommen, nur weiter komme ich nicht:

Dim MyString, MyArray, Msg
MyString = "04_Projekte7-021-STB"
MyArray = Split(MyString, "", -1, 1)
Msg = MyArray(1)
MsgBox Msg

Vieleicht kann mir jemand von Euch helfen?
Vielen Dank im voraus
Gruß schonOK
Alle Beiträge dieses Benutzers finden
to top
Anzeige
13.06.2008, 12:00
Beitrag #2

Carpe_DIAdem Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 94
Registriert seit: Jul 2007

alle DIAdem-Versionen
1989
de


Deutschland
Übergabe Variableninhalt an Report
Hallo schonOK,

es gibt unterschiedliche Varianten aus einem String einen Teilstring zu bilden. Die VBS-Funktion Split ist eine; andere sind Left, Right oder Mid. Die Schwierigkeit besteht eher darin die geeigneten und eindeutigen Stellen zu definieren, die einen Teistring ausmachen.

Hier ein Beispiel:

dim sMyString, iPos, iLen, sMySubString
sMyString = "Source file path - N:4_Projekte7-021-STB"
iPos = InStr(sMyString, ":")
iLen = len(sMyString)
sMySubString = mid(sMyString, iPos + 1, iLen - iPos - 1)
msgbox sMySubString

Wenn sMyString aber wirklich ein Pfad ist, wird die obige Variante nicht ausreichen (und müsste im Übrigen auch mit "N:4" anfangen). Es können ggf. auch Unterverzeichnisse existieren. Dann ist vorher zu klären, ob beispielsweise nur der unterste Pfad relevant ist oder die letzten beiden oder ...
Dann kann auch eine Kombination aus den oben erwähnten Funktionen nötig sein.

Carpe DIAdem
Alle Beiträge dieses Benutzers finden
to top
16.06.2008, 12:27
Beitrag #3

schonOK Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jun 2008

8.2
2008
de

52072
Deutschland
Übergabe Variableninhalt an Report
Vielen Dank für die Info's, Carpe.
Das Splitten hat nun soweit geklappt.
Ich müsste nun nur noch wissen, wie ich den Inhalt einer Variablen in einen Report einfügen kann.
Hier vertrau ich nochmal auf Deine Hilfe.

Gruß schonOK


' schrieb:Hallo schonOK,

es gibt unterschiedliche Varianten aus einem String einen Teilstring zu bilden. Die VBS-Funktion Split ist eine; andere sind Left, Right oder Mid. Die Schwierigkeit besteht eher darin die geeigneten und eindeutigen Stellen zu definieren, die einen Teistring ausmachen.

Hier ein Beispiel:

dim sMyString, iPos, iLen, sMySubString
sMyString = "Source file path - N:4_Projekte7-021-STB"
iPos = InStr(sMyString, ":")
iLen = len(sMyString)
sMySubString = mid(sMyString, iPos + 1, iLen - iPos - 1)
msgbox sMySubString

Wenn sMyString aber wirklich ein Pfad ist, wird die obige Variante nicht ausreichen (und müsste im Übrigen auch mit "N:4" anfangen). Es können ggf. auch Unterverzeichnisse existieren. Dann ist vorher zu klären, ob beispielsweise nur der unterste Pfad relevant ist oder die letzten beiden oder ...
Dann kann auch eine Kombination aus den oben erwähnten Funktionen nötig sein.

Carpe DIAdem
Alle Beiträge dieses Benutzers finden
to top
16.06.2008, 14:50
Beitrag #4

Carpe_DIAdem Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 94
Registriert seit: Jul 2007

alle DIAdem-Versionen
1989
de


Deutschland
Übergabe Variableninhalt an Report
Hallo schonOK,

alle Variablen, die im Script mit DIM deklariert werden, existieren nur in ihrem Kontext, längstens aber bis das Script beendet ist. Deshalb benötigst du globale Variablen. Diese sind, wenn sie einmal deklariert wurden, solange gültig wie DIAdem aktiv ist (oder die Variablen gelöscht wurden).
Es gibt so genannte Hilfsvariablen (R1, R2, ..., L1, L2, ..., T1, T2 ....) - eine Übersicht hierzu findest du im Modul SCRIPT >> Bearbeiten >> Hilfsvariablen. Ich kann sie aber nur bedingt empfehlen, da deren Namen nicht sehr aussagekräftig sind.
Besser sind globale Variablen mit dem Befehl GlobalDim zu definieren oder ein Script definieren, in dem mit DIM Variablen definiert sind und dieses Script als Anwenderbefehl anmelden.

In allen Fällen kann man in REPORT mit @@ auf auf diese Variable zugreifen - auch im Script. Beispiel für einen REPORT-Text im Script:

Call GraphObjOpen("Text1")
TxtTxt ="Daten"&VBCRLF&"präsentieren und"&VBCRLF&"dokumentieren mit" & @@sMyVar@@
Call GraphObjClose("Text1")

Carpe DIAdem
PS An den Inhalt der REPORT-Objekte kommst du mit CTRL-A wenn der Objektdialog geöffnet ist.
Alle Beiträge dieses Benutzers finden
to top
17.06.2008, 06:52
Beitrag #5

schonOK Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jun 2008

8.2
2008
de

52072
Deutschland
Übergabe Variableninhalt an Report
' schrieb:Hallo schonOK,

alle Variablen, die im Script mit DIM deklariert werden, existieren nur in ihrem Kontext, längstens aber bis das Script beendet ist. Deshalb benötigst du globale Variablen. Diese sind, wenn sie einmal deklariert wurden, solange gültig wie DIAdem aktiv ist (oder die Variablen gelöscht wurden).
Es gibt so genannte Hilfsvariablen (R1, R2, ..., L1, L2, ..., T1, T2 ....) - eine Übersicht hierzu findest du im Modul SCRIPT >> Bearbeiten >> Hilfsvariablen. Ich kann sie aber nur bedingt empfehlen, da deren Namen nicht sehr aussagekräftig sind.
Besser sind globale Variablen mit dem Befehl GlobalDim zu definieren oder ein Script definieren, in dem mit DIM Variablen definiert sind und dieses Script als Anwenderbefehl anmelden.

In allen Fällen kann man in REPORT mit @@ auf auf diese Variable zugreifen - auch im Script. Beispiel für einen REPORT-Text im Script:

Call GraphObjOpen("Text1")
TxtTxt ="Daten"&VBCRLF&"präsentieren und"&VBCRLF&"dokumentieren mit" & @@sMyVar@@
Call GraphObjClose("Text1")

Carpe DIAdem

PS An den Inhalt der REPORT-Objekte kommst du mit CTRL-A wenn der Objektdialog geöffnet ist.


Vielen Dank,

hat alles geklappt.
Alle Beiträge dieses Benutzers finden
to top


Gehe zu: