Das nächste Entwicklertreffen findet Anfang Mai in Münster statt - weitere Infos bzw. zur Anmeldung!

pushbutton - flagship

Moderator: Moderatoren

Antworten
toni1959
Rookie
Rookie
Beiträge: 4
Registriert: Fr, 07. Nov 2014 11:23

pushbutton - flagship

Beitrag von toni1959 » Fr, 07. Nov 2014 11:28

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

toni1959
Rookie
Rookie
Beiträge: 4
Registriert: Fr, 07. Nov 2014 11:23

Re: pushbutton - flagship

Beitrag von toni1959 » Fr, 07. Nov 2014 14:48

kann auch eine alternative sein - @prompt oder so - vielleicht hat wer eine idee

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 13159
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: pushbutton - flagship

Beitrag von Jan » Fr, 07. Nov 2014 15:06

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
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

toni1959
Rookie
Rookie
Beiträge: 4
Registriert: Fr, 07. Nov 2014 11:23

Re: pushbutton - flagship

Beitrag von toni1959 » Fr, 07. Nov 2014 16:38

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...

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14631
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: pushbutton - flagship

Beitrag von brandelh » So, 09. Nov 2014 17:06

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.
Gruß
Hubert

matyschik
UDF-Programmierer
UDF-Programmierer
Beiträge: 51
Registriert: Do, 14. Dez 2006 0:08

Re: pushbutton - flagship

Beitrag von matyschik » Mo, 10. Nov 2014 7:49

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
Freundliche FlagShip Grüße
Johann

toni1959
Rookie
Rookie
Beiträge: 4
Registriert: Fr, 07. Nov 2014 11:23

Re: pushbutton - flagship

Beitrag von toni1959 » Mo, 10. Nov 2014 13:52

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.

paulberger
Rookie
Rookie
Beiträge: 10
Registriert: Mo, 02. Nov 2015 13:43

Re: pushbutton - flagship

Beitrag von paulberger » Sa, 21. Nov 2015 14:51

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

Antworten