Seite 1 von 1

pushbutton - flagship

Verfasst: Fr, 07. Nov 2014 11:28
von toni1959
hallo leute, hab ziemlich lange nicht gecoded. steh jetzt vor dem problem das ich mit flagship button´s programmieren muss. so die typische sache: button 1 = neuanlage datensatz, button 2 = browse/anzeige/ändern datensatz, button 3 = löschen datensatz.

kann mir da jemand auf die sprünge helfen - beispielprogramm wäre super. die beschreibung von flagship (pushbutton) ist nicht wirklich zielführend, und ich hab leider zuwenig zeit um herumzuexperimentieren.#

besten dank
toni

Re: pushbutton - flagship

Verfasst: Fr, 07. Nov 2014 14:48
von toni1959
kann auch eine alternative sein - @prompt oder so - vielleicht hat wer eine idee

Re: pushbutton - flagship

Verfasst: Fr, 07. Nov 2014 15:06
von Jan
Hallo Toni,

vermutlich wird es hier keine Antwort darauf geben können. Denn ich wüßte nicht, wer hier unterwegs ist mit Flagship. Hier sind Xbase++-Entwickler unterwegs. Manche können auch noch was anderes natürlich. Aber Flagship dürfte noch exotischer sein als Xbase++.

Kann denn Flagshop Dir keine Hilfe geben? Die haben doch auch einen Support.

Jan

Re: pushbutton - flagship

Verfasst: Fr, 07. Nov 2014 16:38
von toni1959
support flagship verweist auf die dokumentation. wie gesagt die ist wenig hilfreich. aber wie gehts in xbase++ - die sind sich ja doch ähnlich. und vielleicht kann ich mir da was zusammenreimen...

Re: pushbutton - flagship

Verfasst: So, 09. Nov 2014 17:06
von brandelh
das ist ein Xbase++ Beispielcode für einen OK Button:

Code: Alles auswählen

::pbOK       := XbpPushButton():new( ::drawingArea, , ;
                                     {nPosX,nPosY}, {nPbX,nPbY},;
                                     { { XBP_PP_BGCLR, XBPSYSCLR_BUTTONMIDDLE }, { XBP_PP_FGCLR, -58 } } )
::pbOK:caption := "Ok"
::pbOK:tabStop := .T.
::pbOK:activate := {|| Gather( ::editControls ), PostAppEvent( xbeP_Close ,,, self ) }
::pbOK:ClipParent   := .f. 
::pbOK:ClipChildren := .t.
::pbOK:ClipSiblings := .f.

Re: pushbutton - flagship

Verfasst: Mo, 10. Nov 2014 7:49
von matyschik
Hallo Toni,

vielleicht hilft Dir dieses Beispiel weiter:

Code: Alles auswählen

** ============================================================================================
** DATEINAME .........: Mt.prg
** PROJEKT ...........:
** PROGRAMMIERER .....: Johann Matyschik
** COPYRIGHT (C)......:
** PROGRAMMSPRACHE ...: Visual FlagShip 7.1.21
** BESCHREIBUNG ......: Menübeispiel mit PROMPT und Starparameter für Flagship
** --------------------------------------------------------------------------------------------

#include 'font.fh'
#include 'dialog.fh'

** --------------------------------------------------------------------------------------------
PROCEDURE MAIN()
** Hauptprogramm
** --------------------------------------------------------------------------------------------
** 10.11.2014 Erstellt

LOCAL Col_nl, Height_nl, Menu_nl, Row_nl, RowSp_nl, Width_nl
PUBLIC CloseProc_cp

** Flagship SET Einstellungen
READINSERT(.T.)
SET AUTOLOCK ON
SET EXCLUSIVE OFF
SET GUICOLORS ON
SET GUITRANSL BOX ON
SET SOURCE ISO
SET FONT 'Consolas', 11.5

** Set German sorting table
FS_SET('loadLang', 1, 'FSsortab.ger')
FS_SET('setLang' , 1)
FS_SET('mapping' , 'FSchrmap.def')

** FlagShip andere Einstellungen
oTopBar:CLEAR()
oApplic:Font:Charset(FONT_ISO8859_15)
FS_SET('guikey', 'FSguikey.iso1')
_aGlobSetting[GSET_G_N_REFRESHDRAW] := -1
oAppWindow:SetFixSize(30, 130)
oFont := Font{'Consolas', 10.5}
_aGlobSetting[GSET_G_O_ALERT_FONT] := oFont

SET DATE GERMAN

Height_nl := 1.5
RowSp_nl  := 1.6
Width_nl  := 30

** -1- Programmname
/*
CloseProc_cp := "InDClose"
InDPublic()
InDAbsturz()
InDOpen()
InDTxt()
*/

** Alt B
//SETKEY(304,{||BROWSE(4, 2, RowFuss_npp - 1, MAXCOL() - 2)})

** -1- Untermenü - Demo
DO WHILE .T.
   Height_nl := 1.5
   RowSp_nl  := 1.6
   Width_nl  := 30
   Hilfe_lpp := .T.
   //SETKEY(28,{||InDMenueH()})
   //FsStatMen()

   ** -1- Bidschirm aufbauen
   Programm_cpp := "DEMO - Menü"
   //FsMenuKopf()
   //FsMenuFuss()

   ** Halbe Stringlänge vom PROMPT
   Col_nl := MAXCOL() / 2 - 14

   ** Menü
   Row_nl := 0
   //FsCoPrompt()
   SETCOLOR(',N/BG+')
   @ Row_nl +=       8,  Col_nl PROMPT "&Eingeben";
                                HEIGHT Height_nl;
                                WIDTH  Width_nl;
                                TOOLTIP " Demo - Eingeben ";
                                CENTER

   @ Row_nl += RowSp_nl, Col_nl PROMPT "&Suchen / Bearbeiten";
                                HEIGHT Height_nl;
                                WIDTH  Width_nl;
                                TOOLTIP " Demo - Suchen / Bearbeiten ";
                                CENTER

   @ Row_nl += RowSp_nl, Col_nl PROMPT "&Reorganisieren";
                                HEIGHT Height_nl;
                                WIDTH  Width_nl;
                                TOOLTIP " Demo - Index reorganisieren ";
                                CENTER
   /*
   @ Row_nl += RowSp_nl, Col_nl PROMPT "&Tastentexte";
                                HEIGHT Height_nl;
                                WIDTH  Width_nl;
                                TOOLTIP " Demo - Tastentexte editieren ";
                                CENTER
   */
   @ Row_nl += RowSp_nl, Col_nl PROMPT "&Gesamtliste drucken";
                                HEIGHT Height_nl;
                                WIDTH  Width_nl;
                                TOOLTIP " Demo - Gesamtliste Drucken ";
                                CENTER

   @ Row_nl += RowSp_nl, Col_nl PROMPT "&Zurück";
                                HEIGHT Height_nl;
                                WIDTH  Width_nl;
                                TOOLTIP " Zurück zum Hauptmenü ";
                                CENTER
   ** Auswahl
   MENU TO Menu_nl
   //FsCoNorm()
   SETCOLOR('')

   DO CASE
   CASE Menu_nl == 1                             // &Eingeben
      //InDEingabe()

   CASE Menu_nl == 2                             // &Suchen / Bearbeiten
      //InDSuchen()

   CASE Menu_nl == 3                             // &Reorganisieren
      //InDIndex()
      //InDOpen()

   /*
   CASE Menu_nl == 4                             // &Tastentexte editieren
      //InDTxt()
      //InDTxtTast()
   */

   CASE Menu_nl == 4                             // &Gesamtliste drucken
      //InDPrGes()

   CASE Menu_nl == 5 .OR. Menu_nl == 0           // &Zurück
      //InDClose()
      EXIT
   ENDCASE
ENDDO

** Alt B zurücksetzen
//SETKEY(304,{||NIL})

RETURN
** EOF Mt()
Gruß Johann

Re: pushbutton - flagship

Verfasst: Mo, 10. Nov 2014 13:52
von toni1959
danke, genau sowas hab ich gesucht. ich habs mit @prompt und pushbutton probiert. das problem das ich habe, ist, daß sobald (function eingabe()) aufgerufen wird und der read befehl kommt der eingabefokus für die buttons pfutsch ist.

Re: pushbutton - flagship

Verfasst: Sa, 21. Nov 2015 14:51
von paulberger
Sie können PushButton entweder in der GET/READ Folge einbetten

Code: Alles auswählen

local lPush2 := .F., cVar1 := space(20), nVar3 := 10
@ 8.5, 10 SAY "hello" GET cVar1
@ 10,10 GET lPush2 PUSHBUTTON CAPTION "mein Button" NOTIFY {|obj| funBut1(obj) } // usw
@ 11.5, 10 GET nVar3
READ
oder vom READ unabhängig definieren:

Code: Alles auswählen

local oPush1 := PushButton(10,65, "Mache etwas", .F., {|obj| funBut1(obj)} )
oPush1:Show()
// ...
// GET/READ oder
wait  // usw.

Function funBut1(obj)
  alert("Button [" + obj:Caption + "] wurde geklickt")  // oder den gewünschten Code ausführen
return
Weitere Informationen sind in dem FlagShip Handbuch Kapitel CMD und OBJ vorhanden, Beispiele sind auch in dem Verzeichnis C:\FlagShip7\examples verfügbar.

Paul