Welcome To The Home Of The Visual FoxPro Experts  
home. signup. forum. archives. search. google. articles. downloads. faq. members. weblogs. file info. rss.
 From: Tore Bleken
  Where is Tore Bleken?
 Stokke
 Norway
 Tore Bleken
 To: Johnny Quest
  Where is Johnny Quest?
 Ocala
 Florida - United States
 Johnny Quest
 Tags
Subject: RE: my CASE or ICASE won't work VFP9
Thread ID: 416528 Message ID: 416532 # Views: 51 # Ratings: 0
Version: Visual FoxPro 9 SP2 Category: Forms
Date: Tuesday, December 30, 2014 8:26:50 PM         
   


> I try to put CASE or ICASE in my forms and they won't work.
>
>
> Examples:
>
> *** THIS CODE WORKS IN MY GRID's INIT()
> Thisform.pgfrm.Page1.grid1.SetAll("DynamicBackColor", ;
> "IIF(catorder=[CX], RGB(0,255,64), ;
> IIF(catorder=[IN], RGB(0,255,255),;
> IIF(catorder=[PP], RGB(255,128,128),;
> RGB(255,255,255))))","Column")
>
>
> *** THIS CODE WILL NOT WORK IN MY GRID's INIT()
> Thisform.pgfrm.Page1.grid1.SetAll("DynamicBackColor", ;
> [ICASE(catorder=[CX], RGB(0,255,64), ;
> catorder=[IN], RGB(0,255,255),;
> catorder=[PP], RGB(255,128,128),;
> otherwise RGB(255,255,255))])
>
>
> I do NOT get errors but it won't work.
>
> I even broke it down to using a procedure.
>
> *** THIS CODE WILL NOT WORK
> Procedure gridColors
>
> do case
> case catorder=[CX]
> return RGB(0,255,64)
> case catorder=[IN]
> return RGB(0,255,255)
> case catorder=[PP]
> return RGB(255,128,128)
> otherwise
> return RGB(255,255,255)
> endcase
>
> ** this line in grid INIT()
> Thisform.pgfrm.Page1.grid1.column1.DynamicBackColor = "gridColors()"
>
>
>
> So the question here is Why will my "CASE or ICASE" don't work.
>
> NOTE BEFORE YOU ANSWER: If I change the CASE and ICASE to IF statements, then everything works fine.
>
>
> Dr. Quest

You won't get any errors in the dynamicxxx properties, they just won't run. If you took a minute to read Help, you would see that Icase() doesn't support the Otherwise keyword.

Thisform.pgfrm.Page1.grid1.SetAll("DynamicBackColor", ;
[ICASE(catorder=[CX], RGB(0,255,64), ;
catorder=[IN], RGB(0,255,255),;
catorder=[PP], RGB(255,128,128),;
RGB(255,255,255))])


Also your code for gridcolors() is wrong, wrong, wrong! Plus I would say that it's a function, not a procedure. A function returns a value, a procedure does not.

Function gridColors
local lnReturn
do case
case catorder=[CX]
lnReturn= RGB(0,255,64)
case catorder=[IN]
lnReturn=RGB(0,255,255)
case catorder=[PP]
lnReturn=RGB(255,128,128)
otherwise
lnReturn=RGB(255,255,255)
endcase
Return lnReturn


There's a fine line between helping and adding to the confusion.

How to create sample data

ENTIRE THREAD

my CASE or ICASE won't work VFP9 Posted by Johnny Quest @ 12/30/2014 8:12:21 PM
RE: my CASE or ICASE won't work VFP9 Posted by Tore Bleken @ 12/30/2014 8:26:50 PM
RE: my CASE or ICASE won't work VFP9 Posted by Johnny Quest @ 12/30/2014 9:02:34 PM
RE: my CASE or ICASE won't work VFP9 Posted by Tore Bleken @ 12/30/2014 9:19:10 PM
RE: my CASE or ICASE won't work VFP9 Posted by Mike Yearwood @ 12/30/2014 9:41:04 PM
RE: my CASE or ICASE won't work VFP9 Posted by Jun Tangunan @ 12/30/2014 10:03:04 PM
RE: my CASE or ICASE won't work VFP9 Posted by Gene Wirchenko @ 12/30/2014 8:34:16 PM
RE: my CASE or ICASE won't work VFP9 Posted by Johnny Quest @ 12/30/2014 9:05:43 PM
RE: my CASE or ICASE won't work VFP9 Posted by Tore Bleken @ 12/31/2014 10:53:16 AM
RE: my CASE or ICASE won't work VFP9 Posted by Chuanbing Chen @ 12/31/2014 12:11:31 PM