Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   codigo en delphi a c++ builder (https://www.clubdelphi.com/foros/showthread.php?t=58082)

zidfrid 08-07-2008 00:38:41

codigo en delphi a c++ builder
 
Hola de nuevo amigos del foro espero esten todos bien.

veran amigos tengo un problemiya pasando un codigo de delphi a c++, el codigo original en delphi es:
Código Delphi [-]
 begin
  VMRBitmap:= TVMRBitmap.Create(VideoWindow);

  with VMRBitmap, Canvas do
  begin
    LoadEmptyBitmap(300,200,pf24bit, clSilver);
    Source := VMRBitmap.Canvas.ClipRect;
    Options := VMRBitmap.Options + [vmrbSrcColorKey];
    ColorKey := clSilver;
    Brush.Color := clSilver;
    Font.Color := clWhite;
    Font.Style := [fsBold];
    Font.Size := 30;
    Font.Name := 'Arial';
    TextOut(0,0,'Hello Word :)');
    DrawTo(0,0,1,1,0.5);
  end;
end;
y mi traduccion al buielder es la siguiente:
Código:

{
  VMRBitmap= new  TVMRBitmap(VideoWindow);
  text->LoadEmptyBitmap(600,400,pf24bit,clSilver);
  text->Source= text->Canvas->ClipRect;           
  text->Options.operator +=(vmrbSrcColorKey); //problemas
  text->ColorKey= clSilver;
  Canvas->Brush->Color= clSilver;
  Canvas->Font->Color= clWhite;
  Canvas->Font->Style.operator =(fsBold); //problemas
  Canvas->Font->Size= 30;
  Canvas->Font->Name= Arial;                //problemas
  text->Canvas->TextOutA(2, 2,"hola" );
  text->DrawTo(2,2,5,5,0.5,true);
}

las lineas señaladas con problemas son las que no he podido hacer funcionar y si las suprimo el programa corre mas no funciona como debe de ser.
agradesco de antemano cualquier tipo de ayuda o pista con este problema o si he omitido algo en mi traduccion del codigo a buielder.

una vez mas muchas gracias por el tiempo que han gastado leyendo este hilo:)

zidfrid 08-07-2008 00:41:46

disculpen, olvide mensionar que text=VMRBitmap perdon :)

enecumene 08-07-2008 01:17:11

Código Delphi [-]
text->Options.operator +=(vmrbSrcColorKey); //¿es correcto el operador "="?
  Canvas->Font->Style.operator =(fsBold); //Aquí creo que no lleva parentesis
  Canvas->Font->Name= Arial;  //¿aquí no faltan las comillas?

Saludos.

escafandra 08-07-2008 18:38:11

Prueba con esto:

Código:

TVMRBitmap *VMRBitmap = new TVMRBitmap(VideoWindow);
VMRBitmap->LoadEmptyBitmap(300,200,pf24bit, clSilver);
VMRBitmap->Source = VMRBitmap.Canvas.ClipRect;
VMRBitmap->Options = VMRBitmap->Options << vmrbSrcColorKey; // colección ¿Cual es?
VMRBitmap->ColorKey = clSilver;
VMRBitmap->Brush->Color = clSilver;
VMRBitmap->Font->Color = clWhite;
VMRBitmap->Font->Style = TFontStyles()<< fsBold; // Otra colección TFontStyles()
VMRBitmap->Font->Size = 30;
VMRBitmap->Font->Name = "Arial";
TextOut(0,0,"Hello Word ");
DrawTo(0,0,1,1,0.5);

La única pega es VMRBitmap->Options es una colección pero no se de que tipo. Fíjate como se hace para los estilos de las fuentes de letra (TFont)

Saludos, suerte y cuéntanos. ;)

zidfrid 09-07-2008 15:34:29

hola amigos, gracias por su ayuda y el interes.
veran primero con enecumene, amigo ya habia ensayado tus sugenrencias sin ningun exito tal cual como tu las pones, de todos modos agradesco mucho tu colaboracion.

Y a ti escafandra voy a ensayar tus sugerencias a ver como me va con eso, y por supuesto que tambien agradesco mucho tu colaboracion.


La franja horaria es GMT +2. Ahora son las 14:45:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi