:caption aus einem Array (Problem gelöst)

Klassen, Objekte, Methoden, Instanzen

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

:caption aus einem Array (Problem gelöst)

Beitrag von Manfred »

Hi,

mal wieder ein Verständnisproblem!?

wieso klappt die Anzeige der Variablen nicht?

Code: Alles auswählen

METHOD vo:AnzeigeStatistikStammdaten(cModus)
       LOCAL nI     := 0
       LOCAL nX
       LOCAL nY
       LOCAL oVoInhalt
       LOCAL oVostammInhalt
       LOCAL oVostammTexte
       LOCAL oVoTexte
//                               Anzeigetest
       LOCAL aFelderVo      := {;
                                { "Datum Ankauf:"   ,::datumak },;
                                { "Datum verkauft:" ,::datumvk },;
                                { "Datum erfasst:"  ,::datumein },;
                                { "Datum geliehen:" ,::datumleih },;
                                { "Datum zurück:"   ,::datumrueck },;
                                { "Datum 1.Verleih:",},;
                                { "Datum L.Verleih:",},;
                                { "Leihmenge:"      ,},;
                                { "Leihquote %:"    ,},;
                                { "Umsatz Verleih:" ,},;
                                { "Beilagen:"       ,TRANSFORM(::nBeilagen,"99")};
                               }
       LOCAL aFelderVostamm
       LOCAL nDlgOben       := 525
       LOCAL nDlgUnten      := 85
       LOCAL nDlgLinks      := 635
       LOCAL nDlgRechts

       MEMVAR oSysPara
       MEMVAR oVostamm

       aFelderVostamm       := {;
                                { "VO-Menge:"        ,},;
                                { "Datum VÖ:"        ,oVostamm:datumvoe },;
                                { "Datum 1.VK.:"     ,},;
                                { "Datum L.VK.:"     ,},;
                                { "Datum gestr.:"    ,oVostamm:datumgestr },;
                                { "Lagertage:"       ,TRANSFORM(oVostamm:nLagertage,"9999") },;
                                { "Streichtage:"     ,TRANSFORM(oVostamm:nStreichtage,"9999") },;
                                { "Stk.verkauft:"    ,},;
                                { "Stk.Ankauf:"      ,},;
                                { "VKStk.Internet:"  ,TRANSFORM(::nInternetvk,"9999") },;
                                { "VKStk.vor Ort:"   ,TRANSFORM(::nLadenvk,"9999") };
                               }

       nDlgRechts                       := oSysPara:aWSize[1]-nDlgLinks+20      // Rahmenparameter aus Systemdaten
       IF cModus == "erzeugen"
          ::oDlgMaskeVOStammdaten          := XbpDialog():new(SetAppWindow(),,{nDlgLinks,nDlgUnten},{nDlgRechts,nDlgOben})
          ::oDlgMaskeVOStammdaten:titleBar := .F.                               // damit nicht geschlossen werden kann, weil die Icons oben rechts nicht angebracht sins
          ::oDlgMaskeVOStammdaten:border   := XBPDLG_RAISEDBORDERTHIN_FIXED
          ::oDlgMaskeVOStammdaten:create()
          ::oDlgMaskeVOStammdaten:setFontCompoundName("8.Helv.bold")           // Setzen der Schriftart (welche?)

          ::oFensterVostamm         := XbpStatic():new(::oDlgMaskeVOStammdaten,,{0,(nDlgOben-nDlgUnten)/2+16},{nDlgRechts-5,285})
          ::oFensterVostamm:type    := XBPSTATIC_TYPE_GROUPBOX
          ::oFensterVostamm:caption := " VOSTAMM "
          ::oFensterVostamm:create()

          ::oFensterVo         := XbpStatic():new(::oDlgMaskeVOStammdaten,,{0,0},{nDlgRechts-5,(nDlgOben-nDlgUnten)/2+15})
          ::oFensterVo:type    := XBPSTATIC_TYPE_GROUPBOX
          ::oFensterVo:caption := " VO "
          ::oFensterVo:create()

          ASort(aFelderVo,,,{|aX,aY| aX[1] < aY[1]})                            // jetzt wird der Anzeigetext sortiert
          ASort(aFelderVostamm,,,{|aX,aY| aX[1] < aY[1]})                       // jetzt wird der Anzeigetext sortiert

          nX := 5
          nY := 202
          FOR nI := 1 TO LEN(aFelderVo)
              oVoTexte         := XbpStatic():new(::oFensterVo, , {nX,nY}, {80,20})
              oVoTexte:caption := aFelderVo[nI,1]
              oVotexte:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_RIGHT
              oVoTexte:create()
              oVoTexte:setFontCompoundName("6.Helv")
              nY -= 20
          NEXT
          nY := 250
          FOR nI := 1 TO LEN(aFelderVostamm)
              oVostammTexte         := XbpStatic():new(::oFensterVostamm, , {nX,nY}, {80,20})
              oVostammTexte:caption := aFelderVostamm[nI,1]
              oVostammTexte:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_RIGHT
              oVostammTexte:create()
              oVostammTexte:setFontCompoundName("6.Helv")
              nY -= 20
          NEXT
       ELSE
Caption wird nicht angezeigt

Code: Alles auswählen

          ASort(aFelderVo,,Len(aFelderVo),{|aX,aY| aX[1] < aY[1]})              // jetzt wird der Anzeigetext sortiert
          ASort(aFelderVostamm,,Len(aFelderVostamm),{|aX,aY| aX[1] < aY[1]})    // jetzt wird der Anzeigetext sortiert

          nX := 90
          nY := 202
          FOR nI := 1 TO LEN(aFelderVo)
              oVoInhalt         := XbpStatic():new(::oFensterVo, , {nX,nY}, {80,20})
              oVoInhalt:caption := aFelderVo[nI,2]
              oVoInhalt:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT
              oVoInhalt:create()
              oVoInhalt:setFontCompoundName("6.Helv")
              nY -= 20
          NEXT

          nY := 250
          FOR nI := 1 TO LEN(aFelderVostamm)
              oVostammInhalt         := XbpStatic():new(::oFensterVostamm, , {nX,nY}, {80,20})
              oVostammInhalt:caption := aFelderVostamm[nI,2]
              oVostammInhalt:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT
              oVostammInhalt:create()
              oVostammInhalt:setFontCompoundName("6.Helv")
              nY -= 20
          NEXT
       ENDIF
RETURN self
PS: Hm, "size" im Zusammenhang mit "code" klappt nicht
Zuletzt geändert von Manfred am Mo, 24. Nov 2008 13:28, insgesamt 1-mal geändert.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Manfred,
um welchen Codeteil geht es denn genau? Du hast ja im ersten und im zweiten Ausschnitt captions drin...
Wenn Du im zweiten Ausschnitt Probleme hättest, könnte ich das gut verstehen (nicht bei allen Einträgen hast Du ein zweites Element hinterlegt - dort solltest Du dann wenigstens "" eintragen!).
Im ersten Ausschnitt müßte (so auf den schnellen Blick) eigentlich alles klappen...

Viele Grüße,
Martin

Edit: "Schriftgröße" klappt nicht, aber "Schriftfarbe"!
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Martin,

es ist der 2.Abschnitt.

Der 1. Abschnitt klappt.

Das Hinterlegen dürfte doch egal sein. Es wird überhaupt nichts angezeigt. Im Debugger stehen aber Werte in Caption drin. Es wird nur nicht angezeigt. Schreibe ich "test" in Caption, dann wird es angezeigt.

PS:Die Var mit Transform ist 0 und wird auch angezeigt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Manfred,
die var mit transform ist mitnichten 0!
Die Var vielleicht schon, aber transform macht daraus "0"!
Und eine Caption braucht einen String zum Anzeigen - zumindest wenn der type so gesetzt ist, dass er auch einen string erwartet.
NIL ist also nicht wirklich sinnvoll!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Martin,

jagut, Du hast Recht "0". Meinte ich ja auch. Aber laut Anleitung kann Caption Char, num, oder Objekt bekommen. Type steht doch default auf num, oder lese ich das falsch?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hm,

ich habe etwas experimentiert und jetzt wird ein Teil schon mal angezeigt. Also ist es etwas internes, was ich hier falsch gemacht habe.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Manfred,
das liest Du falsch. Type steht default auf Text!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hm,

was heißt denn dann Datentyp numerisch?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Manfred,
Datentyp numerisch heißt, dass der Variablen type ein numerischer Wert zugewiesen werden muss, der besagt, ob die caption text oder Grafik oder einen Rahmen oder... anzeigen soll!
Und XBPSTATIC_TYPE_TEXT ist numerisch und in der entsprechenden .ch-Datei entsprechend definiert.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hm,

hatte ich mir schon gedacht, aber verwirrend ist es trotzdem...
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Manfred,

eine Caption die du als Text anzeigen willst, muss Text sein !
Du kannst nicht z.B. 124 übergeben um 124 in der Caption anzeigen zu lassen, sondern in diesem Falle wäre 124 die ID z.B. einer Bitmapresource (falls diese als Caption zulässig ist - z.B. bei XbpStatic und der Typ stimmt.)
Als Object kannst du dann wahrscheinlich auch ein XbpBitmap Object übergeben, das habe ich aber noch nicht gemacht.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

jaja,

kaum macht man es richtig, dann klappt es auch. Sowas blödes....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Manfred,
Manfred hat geschrieben:kaum macht man es richtig, dann klappt es auch. Sowas blödes....
wieso? Sei doch froh! Blöd wäre, es richtig zu machen und es würde nicht klappen :!: :lol:

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Martin,

"sowas blödes..." war auf meinen Umweg bezogen, ansonsten bin ich schon froh dass es klappt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi,

ich muß noch einen dranhängen.

Ich möchte gerne, dass die Werte in der 2.Schleife, die ich erst nicht angezeigt bekam, sich etwas abheben, sprich in einer Vertiefung angezeigt werden. Leider klappt das nur über :type mit den Beschriftungen in der 1.Spalte. Geht das überhaupt, bzw. wie wird es denn dann gemacht?

Also es wäre schön, wenn es wie ein Eingabefeld aussehen würde, das nicht aktiviert ist, o.ä.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi,

hat sich erledigt. Ich muß dafür SLE nehmen und nicht Static. Naja, probieren geht über studieren..... :lol:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten