Zeile in Browse farbig darstellen [erledigt]

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Zeile in Browse farbig darstellen [erledigt]

Beitrag von Wolfgang_B »

Hallo,
ich will ein einem Browse-Objekt, mit dem ich alle installierten Drucker im Netz darstelle, den gerade eingestellten Drucker farbig anzeigen. Ich finde allerdings keine Methode, die sich auf die Zeile bezieht.

Code: Alles auswählen

CenterControl( oDlgB )
	SetAppFocus( oDlgB)

	oBrowse := XbpBrowse():New( drawingArea  , , , ,{{XBP_PP_COL_DA_HILITE_BGCLR , GRA_CLR_YELLOW },{XBP_PP_COL_DA_HILITE_FGCLR , GRA_CLR_BLACK  }})
	oBrowse:SkipBlock     := {|nSkip, oBrowse| DoSkip( nSkip, oBrowse ) }
	oBrowse:GoBottomBlock := {||  nRecno := Len(aPRList) }
	oBrowse:GoTopBlock    := {||  nRecno := 1 }
   	oBrowse:PosBlock      := {||  nRecno }
  	 oBrowse:PhyPosBlock   := {||  nRecno }
  	 oBrowse:GoPhyPosBlock := {|n| nRecno := n }
	oBrowse:hScroll       := .F.
	oBrowse:vScroll       := .F.
  	 oBrowse:LastPosBlock  := {|| Len(aPRList) }
   	oBrowse:FirstPosBlock := {|| 1 }
  	oBrowse:CursorMode    := XBPBRW_CURSOR_ROW
  	 oBrowse:UseVisualStyle := .F.
  	oBrowse:Create( ,, {20,80}, {300,400}, , .F. )
	oBrowse:LayOutAlign := XBPLAYOUT_LEFT+XBPLAYOUT_RIGHT+XBPLAYOUT_TOP+XBPLAYOUT_BOTTOM

 	oBrowse:AddColumn( {|| aPRList[nRecno]}, 25,   "Druckername" )

	 Wie adressiere ich die betreffende Zeile?
Beste Grüße
Wolfgang

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

Re: Zeile in Browse farbig darstellen [erledigt]

Beitrag von Manfred »

wenn Du jetzt express++ hättest, dann wäre das sicherlich eine einfache Sache. :badgrin:
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
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Re: Zeile in Browse farbig darstellen [erledigt]

Beitrag von Wolfgang_B »

Lösung:

Code: Alles auswählen

nElement := AScan( aPRList, ALLTRIM(cDrucker))
	oBrowse:GetColumn(1):ColorBlock :=  { | nData | IIF( nData == aPRList[nElement], {GRA_CLR_RED , GRA_CLR_GREEN } , ) } 
	
wobei cDrucker der eingestellte Drucker ist, nElement die Position des eingest. Druckers im Array aPRList ist.

Code: Alles auswählen

aPRList := oPr:list()
	

	FOR i = 1 TO LEN(aPRList)
		aPRList[i] := ALLTRim(aPRList[i])
	NEXT	
	

Die Druckerlist mußte noch mit ALLTRIM behandelt werden, damit das Format bei ASCAN paßt
Beste Grüße
Wolfgang

Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Antworten