질문 FPW 2.6 in VFP 9 kompilieren

  • Dienstag, 13. Oktober 2009 08:02
     
     
    Ich habe ein altes FPW 26 PRG, alles PRG keine Forms, mit VFP 9 kompiliert. Nun gehen ein paar Sachen nicht. Gibt es einen Kompatibilätsschalter, den man einstellen kann?

    Kusti

Alle Antworten

  • Dienstag, 13. Oktober 2009 13:46
     
     
    z.B.

    SET ENGINEBEHAVIOR 70
    SET REPORTBEHAVIOR 80

    Wobei ohne GUI nehme ich auch an keine Reports. Welche Fehler kreigst Du denn?

    Tschüß, Olaf.
  • Dienstag, 13. Oktober 2009 15:02
     
     

    Danke Olaf

    Ich schildere Dir mal ausführlich mein Problem:

    Das Problem ist folgendes: Ich habe eine Datenbank Namens Kasse.dbf Ich habe eine Maske umgewandelt in ein PRG. Auf dieser Maske hat es ein Listenfeld. In diesem Listen Feld hat es Elemente aus Feld z.B. Kasse.Betrag + Kasse.Datum + Kasse.Verwendung. Die Variable heisst m.kasse, abgeleitet von der DBF Kasse

    Nun fülle ich Daten in die Datenbank Kasse. Nach jedem Abfüllen sollten die Daten im Listenfeld angezeigt werden. Mit Fox 5 und 6 kompiliert ist es kein Problem, doch mit Fox 9 bleibt das Listenfeld leer. Verlasse ich die Maske und starte diese anschliessend wieder, werden die vorher erfassten Daten im Listenfeld angezeigt.

    Kusti

  • Mittwoch, 14. Oktober 2009 10:54
     
     
    Ah, ich dachte Du hast NULL Benutzeroberfläche.

    Was Dir da mit in die Suppe spuckt ist VFP's Theme Unterstützung. Aber die kann auch generell abgeschaltet werden.
    Sys(2700,0) beim Start sollte eigentlich schon reichen, READs wieder normal darzustellen.

    Tschüß, Olaf.
  • Mittwoch, 14. Oktober 2009 17:37
     
     
    Hallo Olaf

    Ich habe mit _screen.themes = .F. dieses Themes ausgeschaltet. Es funktioniert alles nur das mit dem Listfeld geht nicht. Listenfelder, die Bereits Daten enthalten und nur noch die Berträge ändern, funktionieren, nur das leere Listenfeld, das mit den Buchungssätzen des Kassenbuches gefüllt wird, bleibt leer.

    Kusti
  • Donnerstag, 15. Oktober 2009 07:41
     
     
    probiere doch bitte SYS(2700,0) zusätzlich zu _Screen.Themes = .F.
    Außerdem wäre Code hilfreich, um Dein Problem nachzuvollziehen. Sowohl der Code, der Kasse.DBF befüllt als auch die Definition des Listenfeldes.

    Tschüß, Olaf.
  • Donnerstag, 15. Oktober 2009 07:42
     
     
    Hast Du Sys(2700,0) zusätzlich mal probiert? Bezüglich des Listenfeldes wäre Code sehr hilfreich, das Problem nachzuvollziehen. Sowohl Code, der die Kasse.DBF füllt als auch die Definition des Listenfeldes.

    Tschüß, Olaf.
  • Donnerstag, 15. Oktober 2009 12:51
     
     
    Hallo Olaf

    Auch zusätzlich Sys(2700,0) nützt nichts. Die Maskewurde ursprünglich mit FPW 26 erstellt und dann in ein PRG umgewandelt. Das Listenfeld wurde wie oben beschrieben behandelt.

    Kusti
  • Samstag, 17. Oktober 2009 16:05
     
     
    Wie Du sagst ein PRG, da wird doch irgendwelcher Code drin sein, ein @GET, irgendwas FPW 2.6 mäßiges...

    Wie soll man Dir helfen, ohne irgendwelchen Reprocode. Ich habe hier kein FPW26 zur Verfügung, um mir einfach ein Listenfeld irgendwo hin zu setzen.

    Ganz allgemein hast Du ein refresh problem, was man typischerweise in VFP mit THISFORM.Refresh() oder dem Requery() der Recordsource einer Listbox/Combobox löst. 

    Tschüß, Olaf.
  • Donnerstag, 29. Oktober 2009 14:33
     
     
    Danke für Deine Hilfe.

    Der Code ist eigentlich o.K. denn unter VFP 7 und VFP 5 läuft es problemlos.

    Ich werde die Sache anders lösen müssen.

    Peter

  • Donnerstag, 5. November 2009 09:06
     
     
    Du könntest Dir wie schon zweimal gesagt am besten helfen, indem Du mal ein Beispiel PRG, was aus einem FP2.6 screen entstand hier postest, damit man damit mal in VFP9 probieren kann, was wie wirkt.

    Tschüß, Olaf.
  • Donnerstag, 5. November 2009 15:56
     
     

    Hallo Olaf

    Also Dein Wunsch ist mir Befehl. Nachfolgend das PRG mit der Maske und danach das Prg, aus dem die Maske aufgerufen wird:

    Es handelt sich um das Popup DEFINE POPUP _1cw0z1sq5

    Hier das PRG der Maske:
    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ 18.10.2004           SWBUCHMB.SPR              16:21:10 ¦
    *       ¦                                                         ¦
    *       ¦---------------------------------------------------------¦
    *       ¦                                                         ¦
    *       ¦                                                         ¦
    *       ¦                                                         ¦
    *       ¦                                                         ¦
    *       ¦                                                         ¦
    *       ¦                                                         ¦
    *       ¦                                                         ¦
    *       ¦                                                         ¦
    *       ¦ Beschreibung:                                           ¦
    *       ¦ Dieses Programm wurde automatisch mit GENSCR generiert. ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+


    #REGION 0
    REGIONAL m.currarea, m.talkstat, m.compstat

    IF SET("TALK") = "ON"
     SET TALK OFF
     m.talkstat = "ON"
    ELSE
     m.talkstat = "OFF"
    ENDIF
    m.compstat = SET("COMPATIBLE")
    SET COMPATIBLE FOXPLUS

    m.rborder = SET("READBORDER")
    SET READBORDER ON

    m.currarea = SELECT()


    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦               Windows Fensterdefinitionen               ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *

    IF NOT WEXIST("buchhaupt") ;
     OR UPPER(WTITLE("BUCHHAUPT")) == "BUCHHAUPT.PJX" ;
     OR UPPER(WTITLE("BUCHHAUPT")) == "BUCHHAUPT.SCX" ;
     OR UPPER(WTITLE("BUCHHAUPT")) == "BUCHHAUPT.MNX" ;
     OR UPPER(WTITLE("BUCHHAUPT")) == "BUCHHAUPT.PRG" ;
     OR UPPER(WTITLE("BUCHHAUPT")) == "BUCHHAUPT.FRX" ;
     OR UPPER(WTITLE("BUCHHAUPT")) == "BUCHHAUPT.QPR"
     DEFINE WINDOW buchhaupt ;
      AT  0.000, 0.000  ;
      SIZE 27.615,125.800 ;
      TITLE "Buchungssatz erfassen" ;
      FONT "MS Sans Serif", 8 ;
      FLOAT ;
      NOCLOSE ;
      MINIMIZE ;
      COLOR RGB(,,,192,192,192)
     MOVE WINDOW buchhaupt CENTER
    ENDIF


    #REGION 1
    DEFINE POPUP _1cw0z1sq4 ;
     PROMPT FIELD swkonto.ktnr + ' ' + str(Swkonto.saldo, 12, 2) + '  ' + alltrim(Swkonto.kname) ;
     SCROLL
    DEFINE POPUP _1cw0z1sq5 ;
     PROMPT FIELD Swbuch.soktnr + ' ' + Swbuch.haktnr +  ' ' + DTOC(Swbuch.valuta) + ' ' + Str(Swbuch.betrag, 12, 2)  + ' ' + str(Swbuch.beleg, 5, 0) + ' ' + Swbuch.text + '   ' + Swbuch.mwst ;
     SCROLL
    DEFINE POPUP _1cw0z1sq6 ;
     PROMPT FIELD Swtext.btext ;
     SCROLL
    DEFINE POPUP _1cw0z1sq7 ;
     PROMPT FIELD Swmwst.nm + '  ' + str( Swmwst.pm, 5 , 2) + ' %  ' +  Swmwst.am ;
     SCROLL
    DEFINE POPUP _1cw0z1sq8 ;
     PROMPT FIELD Swmuster.suchb ;
     SCROLL

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦              SWBUCHMB/Windows Maskenlayout              ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *

    #REGION 1
    IF WVISIBLE("buchhaupt")
     ACTIVATE WINDOW buchhaupt SAME
    ELSE
     ACTIVATE WINDOW buchhaupt NOSHOW
    ENDIF
    @ 8.538,0.400 TO 11.846,71.400 ;
     PEN 2, 8
    @ 11.692,59.400 TO 11.692,71.400 ;
     PEN 2, 8 ;
     STYLE "1" ;
     COLOR RGB(255,255,255,255,255,255)
    @ 8.923,71.000 TO 11.846,71.000 ;
     PEN 2, 8 ;
     COLOR RGB(255,255,255,255,255,255)
    @ 8.692,71.000 TO 10.692,71.000 ;
     PEN 2, 8 ;
     COLOR RGB(255,255,255,255,255,255)
    @ 13.000,1.200 SAY "Betrag" ;
     FONT "MS Sans Serif", 8 ;
     STYLE "BT"
    @ 17.077,1.200 SAY "Text" ;
     FONT "MS Sans Serif", 8 ;
     STYLE "BT"
    @ 14.462,1.200 SAY "Beleg" ;
     FONT "MS Sans Serif", 8 ;
     STYLE "BT"
    @ 15.769,1.200 SAY "Mwst" ;
     FONT "MS Sans Serif", 8 ;
     STYLE "BT"
    @ 11.692,0.400 TO 18.538,48.400 ;
     PEN 2, 8
    @ 18.385,39.400 TO 18.385,48.400 ;
     PEN 2, 8 ;
     STYLE "1" ;
     COLOR RGB(255,255,255,255,255,255)
    @ 18.385,0.800 TO 18.385,43.600 ;
     PEN 2, 8 ;
     STYLE "1" ;
     COLOR RGB(255,255,255,255,255,255)
    @ 14.462,48.000 TO 18.385,48.000 ;
     PEN 2, 8 ;
     COLOR RGB(255,255,255,255,255,255)
    @ 11.846,48.000 TO 15.077,48.000 ;
     PEN 2, 8 ;
     COLOR RGB(255,255,255,255,255,255)
    @ 9.077,1.000 SAY "Soll" ;
     FONT "MS Sans Serif", 8 ;
     STYLE "BT"
    @ 10.385,1.000 SAY "Haben" ;
     FONT "MS Sans Serif", 8 ;
     STYLE "BT"
    @ 11.692,47.800 TO 11.692,69.600 ;
     PEN 2, 8 ;
     STYLE "1" ;
     COLOR RGB(255,255,255,255,255,255)
    @ 11.692,0.800 TO 11.692,43.200 ;
     PEN 2, 8 ;
     STYLE "1" ;
     COLOR RGB(192,192,192,192,192,192)
    @ 11.692,32.400 TO 11.692,48.000 ;
     PEN 2, 8 ;
     STYLE "1" ;
     COLOR RGB(192,192,192,192,192,192)
    @ 11.692,1.200 SAY "Valuta" ;
     FONT "MS Sans Serif", 8 ;
     STYLE "BT"
    @ 9.077,10.000 GET sktnr ;
     SIZE 1.000,8.000 ;
     DEFAULT " " ;
     FONT "MS Sans Serif", 8 ;
     PICTURE "@K XXXXXX" ;
     WHEN _1cw0z1sq9() ;
     VALID _1cw0z1sqa() ;
     COLOR ,RGB(0,0,0,255,255,255)
    @ 10.385,10.000 GET hktnr ;
     SIZE 1.000,8.000 ;
     DEFAULT " " ;
     FONT "MS Sans Serif", 8 ;
     PICTURE "@K XXXXXX" ;
     WHEN _1cw0z1sqc() ;
     VALID _1cw0z1sqd() ;
     COLOR ,RGB(0,0,0,255,255,255)
    @ 11.692,10.000 GET zvaluta ;
     SIZE 1.000,11.800 ;
     DEFAULT {  /  /  } ;
     FONT "MS Sans Serif", 8 ;
     VALID _1cw0z1sqf() ;
     COLOR ,RGB(,,,255,255,255)
    @ 13.000,10.000 GET zbetrag ;
     SIZE 1.000,14.600 ;
     DEFAULT 0 ;
     FONT "MS Sans Serif", 8 ;
     PICTURE "@K" ;
     COLOR ,RGB(,,,255,255,255)
    @ 14.462,10.200 GET zbeleg ;
     SPINNER 1.000, 0, 99999 ;
     PICTURE "@K 99999" ;
     SIZE 0.846, 8.000 ;
     DEFAULT 0.000 ;
     FONT "MS Sans Serif", 8 ;
     COLOR ,RGB(,,,255,255,255)
    @ 15.769,10.000 GET zmwst ;
     SIZE 1.000,1.000 ;
     DEFAULT 0 ;
     FONT "MS Sans Serif", 8 ;
     PICTURE "@KZ 9" ;
     COLOR ,RGB(,,,255,255,255)
    @ 17.077,10.000 GET ztext ;
     SIZE 1.000,37.000 ;
     DEFAULT " " ;
     FONT "MS Sans Serif", 8 ;
     PICTURE "@K" ;
     COLOR ,RGB(,,,255,255,255)
    @ 25.462,0.400 GET busweit ;
     PICTURE "@*HN Buchen" ;
     SIZE 2.000,8.333,0.667 ;
     DEFAULT 1 ;
     FONT "MS Sans Serif", 8 ;
     STYLE "B" ;
     VALID _1cw0z1sqh()
    @ 25.462,12.000 GET m.exit_btn ;
     PICTURE "@*BHT " + ;
      (LOCFILE("wizards\wizbmps\wzexit.bmp","BMP|ICO|PCT|ICN","Wo ist wzexit?")) ;
     SIZE 2.000,5.200,0.800 ;
     DEFAULT 1 ;
     FONT "MS Sans Serif", 8 ;
     VALID _1cw0z1sr0() ;
     MESSAGE 'Schließt die Maske.'
    @ 14.308,49.600 GET m.swkonto ;
      PICTURE "@&N" ;
     POPUP _1cw0z1sq4 ;
     SIZE 11.333,54.286 ;
     DEFAULT " " ;
     FONT "Courier New", 9 ;
     STYLE "" ;
     VALID _1cw0z1sr2()
    @ 0.308,0.600 GET m.swbuch ;
      PICTURE "@&N" ;
     POPUP _1cw0z1sq5 ;
     SIZE 6.800,66.286 ;
     DEFAULT " " ;
     FONT "Courier New", 9 ;
     STYLE ""
    @ 9.077,19.400 GET sname ;
     SIZE 1.000,30.400 ;
     DEFAULT " " ;
     FONT "MS Sans Serif", 8 ;
     PICTURE "XXXXXXXXXXXXXXXXXXXXXXXXX" ;
     WHEN NIMMERLEIN ;
     VALID _1cw0z1sr5() ;
     COLOR ,RGB(0,0,0,255,255,255)
    @ 9.077,51.200 GET ssaldo ;
     SIZE 1.000,18.600 ;
     DEFAULT 0 ;
     FONT "MS Sans Serif", 8 ;
     WHEN NIMMERLEIN ;
     COLOR ,RGB(,,,255,255,255)
    @ 10.385,19.400 GET hname ;
     SIZE 1.000,30.400 ;
     DEFAULT " " ;
     FONT "MS Sans Serif", 8 ;
     PICTURE "XXXXXXXXXXXXXXXXXXXXXXXXX" ;
     WHEN NIMMERLEIN ;
     COLOR ,RGB(0,0,0,255,255,255)
    @ 10.385,51.200 GET hsaldo ;
     SIZE 1.000,18.600 ;
     DEFAULT 0 ;
     FONT "MS Sans Serif", 8 ;
     WHEN NIMMERLEIN ;
     COLOR ,RGB(,,,255,255,255)
    @ 8.615,72.600 GET m.swtext ;
      PICTURE "@&N" ;
     POPUP _1cw0z1sq6 ;
     SIZE 4.533,37.857 ;
     DEFAULT " " ;
     FONT "Courier New", 9 ;
     STYLE "" ;
     VALID _1cw0z1sr6()
    @ 19.538,26.000 GET m.swmwst ;
      PICTURE "@&N" ;
     POPUP _1cw0z1sq7 ;
     SIZE 6.800,15.857 ;
     DEFAULT " " ;
     FONT "Courier New", 9 ;
     STYLE "" ;
     VALID _1cw0z1sr7()
    @ 0.308,94.600 GET m.swMUSTER ;
      PICTURE "@&N" ;
     POPUP _1cw0z1sq8 ;
     SIZE 6.800,22.143 ;
     DEFAULT " " ;
     FONT "Courier New", 9 ;
     STYLE "" ;
     VALID _1cw0z1sr9()

    IF NOT WVISIBLE("buchhaupt")
     ACTIVATE WINDOW buchhaupt
    ENDIF

    READ CYCLE MODAL

    RELEASE WINDOW buchhaupt
    SELECT (m.currarea)

    RELEASE POPUPS _1cw0z1sq4, _1cw0z1sq5, _1cw0z1sq6, _1cw0z1sq7, _1cw0z1sq8

    #REGION 0

    SET READBORDER &rborder

    IF m.talkstat = "ON"
     SET TALK ON
    ENDIF
    IF m.compstat = "ON"
     SET COMPATIBLE ON
    ENDIF


    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SQ9           sktnr WHEN                         ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   21     ¦
    *       ¦ Variable:            sktnr                              ¦
    *       ¦ Aufruf durch:        WHEN-Klausel                       ¦
    *       ¦ Objekttyp:           Feld                               ¦
    *       ¦ Codeteilnummer:      1                                  ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *
    FUNCTION _1cw0z1sq9     &&  sktnr WHEN
    #REGION 1
    LASTOBJ = 1

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SQA           sktnr VALID                        ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   21     ¦
    *       ¦ Variable:            sktnr                              ¦
    *       ¦ Aufruf durch:        VALID-Klausel                      ¦
    *       ¦ Objekttyp:           Feld                               ¦
    *       ¦ Codeteilnummer:      2                                  ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *
    FUNCTION _1cw0z1sqa     &&  sktnr VALID
    #REGION 1
    SELECT 5
          STORE SKTNR TO ABSKTNR
          IF SKTNR <> SPACE(6)
          SELECT 4
          SET ORDER TO 1
          SEEK ABSKTNR
           IF SWKONTO.KTNR = ABSKTNR
           REPLACE SWKONF.SSALDO WITH SWKONTO.SALDO
           REPLACE SWKONF.SART WITH SWKONTO.ARTK
           REPLACE SWKONF.SNAME WITH SWKONTO.KNAME
           REPLACE SWKONF.ZMWST WITH SWKONTO.MWST
           ELSE
           REPLACE SWKONF.SSALDO WITH 0
           REPLACE SWKONF.SART WITH SPACE(7)
           REPLACE SWKONF.SNAME WITH SPACE(25)
           REPLACE SWKONF.SKTNR WITH SPACE(6)
           REPLACE SWKONF.ZMWST WITH SPACE(1)
           _CUROBJ = 1
           ENDIF
      ENDIF 
         SELECT 5
         SHOW GET SWKONF.SNAME
         SHOW GET SWKONF.SSALDO
         SHOW GET SWKONF.ZMWST


         RETURN

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SQC           hktnr WHEN                         ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   22     ¦
    *       ¦ Variable:            hktnr                              ¦
    *       ¦ Aufruf durch:        WHEN-Klausel                       ¦
    *       ¦ Objekttyp:           Feld                               ¦
    *       ¦ Codeteilnummer:      3                                  ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *
    FUNCTION _1cw0z1sqc     &&  hktnr WHEN
    #REGION 1
    LASTOBJ = 2

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SQD           hktnr VALID                        ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   22     ¦
    *       ¦ Variable:            hktnr                              ¦
    *       ¦ Aufruf durch:        VALID-Klausel                      ¦
    *       ¦ Objekttyp:           Feld                               ¦
    *       ¦ Codeteilnummer:      4                                  ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *
    FUNCTION _1cw0z1sqd     &&  hktnr VALID
    #REGION 1
    SELECT 5
          STORE SWKONF.HKTNR TO ABSKTNR
          IF SWKONF.HKTNR <> SPACE(6)
          SELECT 4
          SET ORDER TO 1
          SEEK ABSKTNR
           IF SWKONTO.KTNR = ABSKTNR
           REPLACE SWKONF.HSALDO WITH SWKONTO.SALDO
           REPLACE SWKONF.HART WITH SWKONTO.ARTK
           REPLACE SWKONF.HNAME WITH SWKONTO.KNAME
           SELECT 5
            IF SWKONF.ZMWST = SPACE(1)
            REPLACE SWKONF.ZMWST WITH SWKONTO.MWST
            SHOW GET SWKONF.ZMWST
            ENDIF
           ELSE
           REPLACE SWKONF.HSALDO WITH 0
           REPLACE SWKONF.HART WITH SPACE(7)
           REPLACE SWKONF.HNAME WITH SPACE(25)
           REPLACE SWKONF.HKTNR WITH SPACE(6)
           _CUROBJ = 2
           ENDIF
      ENDIF 
         SELECT 5
         SHOW GET SWKONF.HNAME
         SHOW GET SWKONF.HSALDO
         RETURN

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SQF           zvaluta VALID                      ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   23     ¦
    *       ¦ Variable:            zvaluta                            ¦
    *       ¦ Aufruf durch:        VALID-Klausel                      ¦
    *       ¦ Objekttyp:           Feld                               ¦
    *       ¦ Codeteilnummer:      5                                  ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *
    FUNCTION _1cw0z1sqf     &&  zvaluta VALID
    #REGION 1
    IF YEAR(ZVALUTA) > 2090 .OR. YEAR(ZVALUTA) < 1980
    _CUROBJ=3
    ENDIF

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SQH           busweit VALID                      ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   28     ¦
    *       ¦ Variable:            busweit                            ¦
    *       ¦ Aufruf durch:        VALID-Klausel                      ¦
    *       ¦ Objekttyp:           Schaltfläche                       ¦
    *       ¦ Codeteilnummer:      6                                  ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *
    FUNCTION _1cw0z1sqh     &&  busweit VALID
    #REGION 1
    DO SWBWEITK.PRG
    SELECT 5
     IF TABFR = 'E'
      IF ZBETRAG <> 0
      DO SWBWEITM.PRG
      ENDIF
     ENDIF
    SELECT 5
    REPLACE TABFR WITH SPACE(1)
    REPLACE TMWST WITH SPACE(1)
    REPLACE ZMWST WITH SPACE(1)
    DO SWBSALD.PRG
    SHOW GETS
    _CUROBJ=1
    RETURN

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SR0           m.exit_btn VALID                   ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   29     ¦
    *       ¦ Variable:            m.exit_btn                         ¦
    *       ¦ Aufruf durch:        VALID-Klausel                      ¦
    *       ¦ Objekttyp:           Schaltfläche                       ¦
    *       ¦ Codeteilnummer:      7                                  ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *
    FUNCTION _1cw0z1sr0     &&  m.exit_btn VALID
    #REGION 1
    DO SWBWEITK.PRG
    SELECT 5
     IF TABFR = 'E'
      IF ZBETRAG <> 0
      DO SWBWEITM.PRG
      ENDIF
     ENDIF
    SELECT 5
    REPLACE TABFR WITH SPACE(1)
    RETURN

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SR2           m.swkonto VALID                    ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   30     ¦
    *       ¦ Variable:            m.swkonto                          ¦
    *       ¦ Aufruf durch:        VALID-Klausel                      ¦
    *       ¦ Objekttyp:           Listenfeld                         ¦
    *       ¦ Codeteilnummer:      8                                  ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *
    FUNCTION _1cw0z1sr2     &&  m.swkonto VALID
    #REGION 1
    store space(6) to abfukt
    store space(20) to abnfukt
    store space(9) to abafukt
    store space(1) to abmfukt
    select 4
    store ktnr to abfukt
    store kname to abnfukt
    store artk to abafukt
    store mwst to abmfukt
    STORE SALDO TO ABSFUKT
    select 5
     
     IF LASTOBJ = 1
     replace Sktnr with abfukt
     replace Sname with abnfukt
     replace Sart with abafukt
     REPLACE SSALDO WITH ABSFUKT
      if ZMWST = space(1)
      replace zmwst with abmfukt
      replace tmwst with 'S'
      endif
     SHOW GET SKTNR
     SHOW GET SNAME
        SHOW GET SSALDO
        SHOW GET ZMWST
        endif
        IF LASTOBJ = 2
        replace hktnr with abfukt
     replace hname with abnfukt
     replace hart with abafukt
     REPLACE HSALDO WITH ABSFUKT
      if ZMWST = space(1)
      replace zmwst with abmfukt
      replace tmwst with 'H'
      endif
     SHOW GET HKTNR
     SHOW GET HNAME
        SHOW GET HSALDO
        SHOW GET ZMWST
        ENDIF
    _CUROBJ=LASTOBJ
    RETURN

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SR5           sname VALID                        ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   32     ¦
    *       ¦ Variable:            sname                              ¦
    *       ¦ Aufruf durch:        VALID-Klausel                      ¦
    *       ¦ Objekttyp:           Feld                               ¦
    *       ¦ Codeteilnummer:      9                                  ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *

    FUNCTION _1cw0z1sr5     &&  sname VALID

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SR6           m.swtext VALID                     ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   36     ¦
    *       ¦ Variable:            m.swtext                           ¦
    *       ¦ Aufruf durch:        VALID-Klausel                      ¦
    *       ¦ Objekttyp:           Listenfeld                         ¦
    *       ¦ Codeteilnummer:      10                                 ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *
    FUNCTION _1cw0z1sr6     &&  m.swtext VALID
    #REGION 1
    select 8
    store btext to abtext
    select 5
    replace ztext with abtext
    show get ZTEXT
    _curobj = 7
    return

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SR7           m.swmwst VALID                     ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   37     ¦
    *       ¦ Variable:            m.swmwst                           ¦
    *       ¦ Aufruf durch:        VALID-Klausel                      ¦
    *       ¦ Objekttyp:           Listenfeld                         ¦
    *       ¦ Codeteilnummer:      11                                 ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *
    FUNCTION _1cw0z1sr7     &&  m.swmwst VALID
    #REGION 1
    select 7
    store nm to abnm
    select 5
    replace zmwst with abnm
    show get ZMWST
    _curobj = 6
    return

    *       +---------------------------------------------------------+
    *       ¦                                                         ¦
    *       ¦ _1CW0Z1SR9           m.swMUSTER VALID                   ¦
    *       ¦                                                         ¦
    *       ¦ Funktionsursprung:                                      ¦
    *       ¦                                                         ¦
    *       ¦ Von Plattform:       Windows                            ¦
    *       ¦ In Maske:            SWBUCHMB,     Satznummer:   38     ¦
    *       ¦ Variable:            m.swMUSTER                         ¦
    *       ¦ Aufruf durch:        VALID-Klausel                      ¦
    *       ¦ Objekttyp:           Listenfeld                         ¦
    *       ¦ Codeteilnummer:      12                                 ¦
    *       ¦                                                         ¦
    *       +---------------------------------------------------------+
    *
    FUNCTION _1cw0z1sr9     &&  m.swMUSTER VALID
    #REGION 1
    SELECT 5
    REPLACE SWKONF.SKTNR WITH SWMUSTER.SOKTNR
    REPLACE SWKONF.HKTNR WITH SWMUSTER.HAKTNR
    DO SWBSALD
    REPLACE SWKONF.ZBETRAG WITH SWMUSTER.BETRAG
    REPLACE SWKONF.ZTEXT WITH SWMUSTER.TEXT
    REPLACE SWKONF.ZMWST WITH SWMUSTER.MWST
    SHOW GET SWKONF.SKTNR
    SHOW GET SWKONF.SNAME
    SHOW GET SWKONF.SSALDO
    SHOW GET SWKONF.HKTNR
    SHOW GET SWKONF.HNAME
    SHOW GET SWKONF.HSALDO
    SHOW GET SWKONF.ZMWST
    SHOW GET SWKONF.ZTEXT
    SHOW GET SWKONF.ZBETRAG
     IF SWKONF.ZBETRAG = 0
     _CUROBJ = 3
     ELSE
     _CUROBJ = 8
     ENDIF
    RETURN

  • Donnerstag, 5. November 2009 15:57
     
     

    Und hier noch das PRG, aus dem die Maske gestartet wird:
    SET TALK OFF
    SET CONSOLE OFF
    SET DATE TO GERMAN
    SET BELL OFF
    SET CENTURY ON
    SET DELETED ON
    SET EXACT OFF
    CLOSE DATABASES
    PUBLIC NIMMERLEIN
    NIMMERLEIN = .F.
    SELECT 3
    USE SWBUCH INDEX SWBUVA, SWBUBE
    SET ORDER TO 2 DESCENDING
    SELECT 4
    USE SWKONTO INDEX SWKTNR, SWKTNA
    SELECT 4
    SEEK '999999'
     IF KTNR <> '999999'
     APPEND BLANK
     REPLACE KTNR WITH '999999'
     REPLACE ARTK WITH 'Aktiv'
     REPLACE KNAME WITH 'Saldoausgleich'
     ELSE
     REPLACE ARTK WITH 'Aktiv'
     REPLACE KNAME WITH 'Saldoausgleich'
     ENDIF
    GO TOP
    SELECT 5
    USE SWKONF
    SELECT 7
    USE SWMWST
    SELECT 14
    USE SWMUSTER INDEX SWMUSTER
    SELECT 8
    USE SWTEXT INDEX SWTEXT
    SELECT 4
    SET FILTER TO TRIM(ARTK) = 'Aufwand' .OR. TRIM(ARTK) = 'Ertrag' .OR. TRIM(ARTK) = 'Aktiv' .OR. TRIM(ARTK) = 'Passiv'
    GO TOP
    SELECT 5
    REPLACE TABFR WITH SPACE(1)

    SELECT 5

       IF BELEGJN <> 0
       ABBELEG = 0
       STORE BELEGNR TO ABBELEG
       ABBELEG = ABBELEG + 1
       REPLACE BELEGNR WITH ABBELEG
       REPLACE ZBELEG WITH ABBELEG
       ELSE
       REPLACE ZBELEG WITH 0
       ENDIF

    REPLACE TABFR WITH SPACE(1)
    REPLACE TMWST WITH SPACE(1)
    REPLACE ZMWST WITH SPACE(1)
    LASTOBJ = 0

       IF KONTOJN = 0
       REPLACE SKTNR WITH SPACE(6)
       REPLACE SNAME WITH SPACE(25)
       REPLACE SART WITH SPACE(9)
       REPLACE HKTNR WITH SPACE(6)
       REPLACE HNAME WITH SPACE(25)
       REPLACE HART WITH SPACE(9)
       REPLACE ZMWST WITH SPACE(1)
       ENDIF

    REPLACE SSALDO WITH 0
    REPLACE HSALDO WITH 0

       IF TEXTJN = 0
       REPLACE ZTEXT WITH SPACE(30)
       REPLACE MTEXT WITH SPACE(30)
       ENDIF

       IF BETRAGJN = 0
       REPLACE ZBETRAG WITH 0
       ENDIF

       DO SWBUCHMB.PRG

    SELECT 5

       IF BELEGJN <> 0
       ABBELEG = 0
       STORE ZBELEG TO ABBELEG
       ABBELEG = ABBELEG - 1
       REPLACE BELEGNR WITH ABBELEG
       ENDIF

    SELECT 4
    SET FILTER TO
    GO TOP
    CLEAR READ
    RETURN

  • Donnerstag, 5. November 2009 17:33
     
     
    Leider habe ich Deine Daten nicht, so daß es bereits beim USE SWBUCH scheitert.

    Ich dachte an ein keines Repro-Beispiel, was ein problematisches Control enthält. Abgesehen davon vermisse ich im aufrufenden Programm die empfohlenen Maßnahmen _Screen.Themes = .F. bzw. Sys(2700,0). Vielleicht einfach, weil's ja nichts half. Ich würd's vor das SET TALK OFF ansetzen.

    Ansonsten - wenn es nicht zuviel Aufwand ist - probiere mal zu reduzieren und nehme als Datengrundlage z.B. die Tastrade-Datenbank, die bei VFP9 dabei ist oder Northwind: Home(2)+"Northwind". Bzw. als freie Tabelle zur Not die foxcode.dbf.

    Tschüß, Olaf.
  • Donnerstag, 5. November 2009 21:01
     
     
    Hallo Olaf

    Bitte gib mir Deine E-Mail und ich mail Dir die Dateien inkl. Index PRG

    Peter
  • Freitag, 6. November 2009 09:24
     
     
    Ungern in Klartext, aber prinzipiell gerne für jeden Foxproler:

    _cliptext = strconv("b2xhZkBkb3NjaGtlLm5hbWU",14)

    Und Du hast Du hast meine Mailadresse in der Zwischenablage.

    Ich dachte, daß Du ein generelles Problem mit einem bestimmten Control hast, zu dem Du auch leicht ein ganz kleines Reprobeispiel geben könntest, aber schick mir ruhig alles zusammen. Hauptsache es bleibt unter 10 MB Anhangsgröße.

    Das einzige, was ich so im Verdacht habe ist das READ CYCLE MODAL. Wird aber recht schwierig, da dieses und viele andere fox2 Befehle in der Doku nur noch unter "veraltet, nutzen Sie stattdessen..." laufen.

    Tschüß, Olaf.
  • Freitag, 6. November 2009 13:07
     
     
    Geht leider nicht mit diesem Link.  Aber Du kannst mir die Adresse auf Kuster.peter by Hotmail.com mailen.

    Peter
  • Montag, 9. November 2009 23:41
     
     
    Ich weiß nicht, warum das Forum diesen String als Link, offensichtlich sogar als mailto-URL darstellt.
    Es ist eine Zeile Foxpro-Code, die Du einfach bitte im Commandfenster ausführst, danach hast Du meine Mailadresse in der Zwischenablage und kannst sie z.B. in Deinem Mailprogramm einfach per STRG+V einfügen.

    Tschüß, Olaf.
  • Mittwoch, 18. November 2009 13:54
     
     
    Hallo Olaf

    Danke für Deine Hilfe. War leider krank. Habe heute alles gemailt.

    Bin gespannt auf Deine Antwort.

    Peter
  • Mittwoch, 18. November 2009 20:05
     
     

    Hallo Peter, ist soweit angekommen. Ein ZIP wäre angebrachter, dann muß man nicht erst die Sicherheitsoptionen von Outlook ändern, um das prg zu speichern.

    Ich frage mich jetzt, wo kasse.bdf ist, oder die Variable m.kasse.

    Dein eigentliches Problem kann ich so nur halb nachvollziehen: Oben im Formular sind zwei leere Boxen, rechts oben evtl. die Liste, die Du meinst, aber Buchen verlangt z.B. nach einem SWBWEITK.PRG - ich komme so nicht weiter.

    Ich sehe vor allem aber keine visuellen Schwierigkeiten, wenn ich in dem startprogramm die _SCREEN.Themes = .F. und SYS(2700,0) einbaue. Ohne das verschwindet u.U. der ganze Screeninhalt wenn man mit der Maus rüberfährt.

    Das Programm, was Du mir noch geschickt hast (swinde.prg) packt nur die Daten und indiziert sie, da ist gar nichts visuelles los, aber das sollte wohl auch nur vorbereitend gestartet werden, richtig?

    Tschüß, Olaf.
     

  • Donnerstag, 19. November 2009 08:52
     
     

    Hallo Olaf

     Sorry wegen dem Zip, bei mir werden nur exe geblockt.

    Wegen den PRG:

    Im Hauptprg kannste alle Programme, die mit do sw..... aufgerufen werden löschen. Diese PRG braucht es für den Test nicht.

    Das index Prg erstellt nur die Index.

     Danke für Deine Hilfe.

     Peter

  • Donnerstag, 19. November 2009 14:03
     
     
    Hallo Peter,

    PRG gehört in Outlook und Outlook Express zu den Dateiendungen ausführbarer Dateien und wird damit geblockt. Ich hab's ja rausgekriegt, das ist nicht das Problem, man kann diese Sicherheit ja kurzfristig abschalten, aber angenehmer ist immer ein ZIP, ganz allgemein bei Mails, schon alleine weils dann ein kürzerer Anhang ist...

    Wenn ich die Aufrufe auskommentiere, passiert aber bei Buchen nichts. Ich kriege nie rechts oben Datensätze rein.

    Ich kann Dir so nicht helfen. Das einzige, was ich sagen kann, ist das SYS(2700,0) und _SCREEN.Themes = .F. sehr wohl hilft das visuelle Verhalten des Screens zu heilen.

    Wenn Daten nicht angezeigt werden oder erst beim zweiten Mal, dann ist das wohl ein Programmflussproblem.

    Ich weiß immer noch nicht mal, welche Listbox Du nun meinst. Und welchem Codebereich sie entspricht müßte man anhand der Koordinaten ausknobeln.

    Tschüß, Olaf.