Ver Mensaje Individual
  #39  
Antiguo 22-03-2005
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Reputación: 21
torito Va por buen camino
ok magui, tu tienes que trabajar con el renderer de tu capa y de ahi escalarla, te mando el ejemplo de esto
Código:
procedure TForm2.bbuniClick(Sender: TObject);
var
a,breakVal,z : integer;
zaz : string;
begin
try
memo1.Clear;
recs:=l.Records;
l.Renderer:=nil;
l.Renderer:=ImoClassBreaksRenderer(CreateOleObject('MapObjects2.ClassBreaksRenderer'));
tdesc:=recs.TableDesc;
fields:=recs.Fields;
cbr:=ImoClassBreaksRenderer(l.Renderer);
cbr.Field:=tdesc.FieldName[cbx.ItemIndex];
if cbx.Text='' then
 begin
 showmessage('No Se Eligio Un Campo');
 exit;
 end;
 strsUniqueValues:= IMoStrings(CreateOleObject('MapObjects2.strings'));
 //fld := IMoField(CreateOleObject('MapObjects2.Field'));

 fld := fields.Item(tdesc.FieldName[cbx.ItemIndex]);

except//if varisempty(fld) then
 //begin
 showmessage('Hay Un Error En La Tabla!!');
 exit;
 end;
z:=0;
recs.MoveFirst;
a:=1;
while (not recs.EOF) do
 begin
 strsUniqueValues.Add(fld.value);
 recs.MoveNext;
 inc(z);
 if z = 100 then
  begin
  a:=application.MessageBox( 'USTED TIENE MÁS DE 100 VARIABLES UNICAS, DESEA CONTINUAR A PESAR DE QUE DILATE MUCHO EL PROCESO??', 'EXCEDENTE DE VARIABLES...', MB_OKCANCEL);
  if  a=2 then
  exit; //se sale de la aplicacion
  end; //fin if
 end; //fin while
{a:=1;
if strsUniqueValues.Count > 100 then
 a:=application.MessageBox( 'USTED TIENE MÁS DE 100 VARIABLES UNICAS, DESEA CONTINUAR??', 'EXCEDENTE DE VARIABLES...', MB_OKCANCEL);
if  a=2 then
 exit; //se sale de la aplicacion}
if (vmr=nil)then
vmr:= IMoValueMapRenderer(CreateOleObject('MapObjects2.ValueMapRenderer'));

vmr.SymbolType:=l.Symbol.SymbolType;
vmr.Field:=fld.Name;
vmr.ValueCount:=strsUniqueValues.Count;
vmr.UseDefault:=false;
for a:=0 to strsUniqueValues.Count-1 do
 begin
 vmr.Value[a]:=strsUniqueValues.Item(a);
// showmessage(strsUniqueValues.Item(a));
 end;

memo1.Lines.Add('       LISTADO DE VALORES UNICOS!!');
memo1.Lines.Add('       ');

for a:=0 to vmr.ValueCount-1 do
 begin
 zaz:='';
 zaz:=inttoStr(a+1);
 zaz:=zaz+'     '+vmr.Value[a];
 memo1.Lines.Add(zaz);
 end; //fin for llenado memo1

cbr.BreakCount:=strsUniqueValues.Count;

bbuni2.Enabled:=true;

end; //fin procedure
Responder Con Cita