Einfügen mit Strg-V unter Tbrowse und Get-System

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Bitmusterschuster
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 42
Registriert: Do, 12. Feb 2009 11:30
Danksagung erhalten: 2 Mal

Einfügen mit Strg-V unter Tbrowse und Get-System

Beitrag von Bitmusterschuster »

Hallo Zusammen,

ich habe seit Jahren ein Warenwirtschaftssystem im Einsatz, mit XBase 2.0 kompiliert, im Hybrid-Modus.

In meinen Browsern arbeite ich mit einer Suchlogik, dass der Kunde z.B. durch Eingabe einer Artikelnummer in einer Suchspalte (z.B. Artikelnummer) direkt die Artikelnummer suchen kann. Dabei wird die Spalte just in Time indiziert und die Suche mit Dbseek sofort ausgeführt.
Der Satz wird gesucht und gefunden und im Browser positioniert. (das Ganze läuft in temp. Dbf-Dateien)
Das gleiche geht mit vielen Spalten (Artikelbezeichnung, Erfassungsdatum etc.)
Läuft seit 20 Jahren stabil. (Textumgebung (80*20))

So weit so gut. Jetzt wollte der Kunde das eigentlich triviale Problem gelöst haben durch Drag and Drop z.B. eine Artikelnummer aus irgend einer Internetseite in den Zwischenpuffer kopiert werden kann (Ctrl-C), und anschließend mit Ctrl-V in meinem Browser eingefügt werden kann.
Kein Problem dachte ich, und habe das Auslesen der Zwischenpuffers im Tbrowse eingebaut, und bei mir läuft es super.

Im Bereich Taste verarbeiten habe ich folgenden Code eingebaut:

CASE nKey == K_CTRL_V // im Dbedit
cString := alltrim(GET_WINCLIP())
if ! empty(cString)
keyboard cString // schiebe einfach den Puffer ins Keyboard ""
endif

Jetzt kommt mein Problem.
Ich habe die Version beim Kunden eingespielt, und bei Ihm geht es nicht.
Er kopiert die Artikelnummer in den Zwischenpuffer, aber in meinem Browser wird der Zwischenpuffer nicht einfügt.
Wenn ich mich jedoch mit dem Teamviewer (Fernwartung) auf seinen Arbeitsplatz einwähle und dort am gleichen Gerät unter seinen Augen per Fernwartung das gleiche mache, geht es ...
Warum verhält sich das Programm dort anders ?

Ist mir ein Rätsel, habt Ihr ne Idee ?

Gruß Rudi
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Einfügen mit Strg-V unter Tbrowse und Get-System

Beitrag von AUGE_OHR »

hi,
Bitmusterschuster hat geschrieben: Mo, 05. Okt 2020 16:21

Code: Alles auswählen

  CASE nKey == K_CTRL_V             // im Dbedit
    cString := alltrim(GET_WINCLIP())
    if ! empty(cString)
       keyboard cString   // schiebe einfach den Puffer ins Keyboard ""
    endif
was hast du in GET_WINCLIP() :?:

Code: Alles auswählen

         // Copy from Clipboard
      CASE nEvent == xbeK_CTRL_V                                      // Insert
         oClipBoard := XbpClipBoard() :new() :create()
         oClipBoard:open()
         aFormats := OClipBoard:queryFormats()

         IF ASCAN( aFormats, XBPCLPBRD_TEXT ) > 0
            cText := oClipBoard:getBuffer( XBPCLPBRD_TEXT )
            n := LEN( cText )
            FOR i := 1 TO n
               cChar := cText[ i ]

               /* Transfer character to edit buffer */
               IF SET( _SET_INSERT )
                  oGet:insert( cChar )
               ELSE
                  oGet:overstrike( cChar )
               ENDIF

               /* No room left to type to the right of the cursor */
               IF oGet:typeOut
                  IF SET( _SET_BELL )
                     QQOUT( CHR( 7 ) )
                  ENDIF

                  IF !SET( _SET_CONFIRM )
                     oGet:exitState := GE_ENTER
                  ENDIF

                  EXIT
               ENDIF
            NEXT i
         ENDIF
         oClipBoard:close()
         oClipBoard:destroy()
das ist die Xbase++ Seite aber es gibt IHMO noch was.
starte dein VIO App, clicke auf die TItlebar, rechte Maustaste -> Menu -> und dann Eigenschaften
Einfüge_Modus.jpg
Einfüge_Modus.jpg (48.37 KiB) 2455 mal betrachtet
gruss by OHR
Jimmy
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:

Re: Einfügen mit Strg-V unter Tbrowse und Get-System

Beitrag von brandelh »

Ich weiß nicht was du da genau machst bei der Eingabe (tBrowse stellt ja nur da ...), ich habe etwas ähnliches gemacht mit F2 als Übernahme der Zwischenablage in ein GET Objekt,
wobei ich nicht über Keyboard gehe sondern über das GET Objekt selbst:

Code: Alles auswählen

...
set key K_F2      to f2hilfe
...
procedure f2hilfe (proz,zei,_var)
local altcursor,nochmal,altfarb,altselect,af[12],a,altget,altbild

proz=left(upper(alltrim(proz)),10)
_var=upper(alltrim(_var))

if proz="MEMOEDIT" .or. proz="DBEDIT"
   return
endif

if (proz="BUCH_NEU" .or. proz="BUCH_AENDE") .and. (_var="MSOLL" .or. _var="MHABEN")
   // Text aus Zwischenablage bergeben.
   PasteBetrag(_var)
   return
endif
.... weitere Eingabhilfen ...

*-----------------------------------------------------------------------------
procedure PasteBetrag(cVar)                        // F2 in Betragsfelder
   local x, oActiveGet, oClipBoard, cTxt, nVal
   oClipBoard := XbpClipBoard():new():create()
   oClipBoard:open()
  // aFormats := oClipBoard:queryFormats()
  // IF AScan( aFormats, XBPCLPBRD_TEXT ) > 0
   cTxt := oClipBoard:getBuffer( XBPCLPBRD_TEXT )
   nVal := abs(HB_VAL(cTxt))
   oClipBoard:close()
   oActiveGet := GetActive()
   oActiveGet:VarPut(nVal)          // aktuelles Feld füllen
   keyboard chr(K_ENTER)
return
das Einfügen mit STRG+V in GET Objekten hat früher automatisch funktioniert,
aber seit Jahren sieht das mehr oder weniger seltsam aus und teilweise fehlen Textteile ... ob das an Windows liegt weiß ich nicht.
Gruß
Hubert
Bitmusterschuster
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 42
Registriert: Do, 12. Feb 2009 11:30
Danksagung erhalten: 2 Mal

Re: Einfügen mit Strg-V unter Tbrowse und Get-System

Beitrag von Bitmusterschuster »

Danke Dir Ohr ...
Ich habe aber alles ausprobiert, nichts hat funktioniert. Liegt wohl am Rechner, bei allen anderen Usern im Netz funzt es.
Ich hatte dann die Appl. aus dem Kommandofenster gestartet und dort unter Eigenschaften die Strg-Unterstützung aktiviert, dann ging es einmal, danach wieder nicht.
Es ist kein Muster zu erkennen.
Ich hatte auch deinen Quellcode eingebaut ( im get-system), dort hatte ich die gleichen Ergebnisse.

Ich habe dem Kunden empfohlen mal den Rechner zu tauschen.

Gruß Rudi
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 852
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Einfügen mit Strg-V unter Tbrowse und Get-System

Beitrag von Marcus Herz »

Ich glaub, du musst Strg-Umschalt im Basis Commando-Fenster aktivieren. Wenn du das Applikationsfenster schliesst, ist die Einstellung verloren.
Kontrollier das mal. Ich glaub nicht, dass das am Rechner liegt.
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Antworten