Diego Padula | 22 May 15:22 2015
Picon

Consulta sobre fuentes de librerias

Hola, queria hacer una consulta que en realidad es trivial pero a veces con tanta informacion en la web es dificil encontrar LA informacion correcta. Sobre todo habiendo tanto foro de gente taringuera y stackoverflowera.

Si yo tuviera que buscar como esta construida por dentro alguna funcion como por ejemplo strlen() de C o alguna otra cualquiera de C++, donde deberia buscar especificamente?

Mas aun, si yo quiero conocer cual es la implementacion de strlen() o strcpy() que estoy utilizando en mi programa cuando incluyo <string.h>, hay algun lugar donde se pueda cantar Eureka!?

Saludos y gracias
Diego

--
______________________________

Tel. (0342) 4505506
Tel. (0342) 156148474

--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cppba+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
aguml | 13 Feb 09:37 2015
Picon

Reproducir recurso mp3 directamente en memoria

hola amigos, tengo un mp3 en los recursos y quiero leerlo en memoria y reproducirlo.
Ya se como hacerlo extrayendo el recurso en un .mp3 pero no quiero extraerlo en un mp3, quiero copiarlo en
memoria como un stream y reproducir directamente ese stream. ¿Es posible? Y si lo es ¿Como seria?

-- 
--

-- 
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error. 
En caso de duda visita "http://groups.google.com/group/cppba"
--- 
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cppba+unsubscribe <at> googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.
aguml | 30 Jan 00:48 2015
Picon

[cppba] Ayuda a pasar un pequeñisimo codigo de VB a C++

Pues siguiendo la ayuda del componente que estoy probando veo que para guardar una imagen de lo que se muestra al portapapeles hace esto:

Código:
' Copy the diagram to the clipboard: ' here we wish to copy all items and the back picture. Clipboard.Clear Clipboard.SetData AddFlow1.ExportPicture(afAllItems, False, True)
ExportPicture devuelve un IPictureDisp**.
El problema es que eso es VB y que no se como pasarlo a C++builder ¿alguien sabria decirme como hacer eso?
He probado a hacer cosas como estas que pongo a continuacion pero nada me funcionó

Código PHP:
void __fastcall TForm1::Exportarimagendeseleccionadosalportapapeles1Click(
      
TObject *Sender)
{
   
Clipboard()->Open();
   
Clipboard()->Clear();
   
TPicture *pIPD = new TPicture;
   
pIPD->Assign((TPersistent*)AddFlow1->ExportPicture(afSelectedItemstruetrue));
   
Clipboard()->SetAsHandle(CF_METAFILEPICTpIPD->Metafile->Handle);
   
Clipboard()->Close();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ExportarImagendetodosalportapapeles1Click(
      
TObject *Sender)
{
   
Clipboard()->Open();
   
Clipboard()->Clear();
   
IPictureDisp **pIPD AddFlow1->ExportPicture(afAllItemstruetrue);
   
Clipboard()->SetAsHandle(CF_METAFILEPICT, (unsigned int)pIPD);
   
Clipboard()->Close();

A ver si alguien puede decirme como hacer eso. :-|

--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cppba+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
dgutson . | 12 Jan 17:35 2015
Picon

GSoC y T4S

Buenas,

    dos cosas dos:

a) además de Billy, quiénes hicieron acá un GSoC? Recuerdo que había
al menos un miembro del grupo.
(pueden responderme a mí solo, es para hacerles consultas)

b) quería invitar a los estudiantes que estén terminando su carrera,
en revisar estas propuestas de trabajo final:
http://tallertechnologies.com/es/taller-para-estudiantes

Y como siempre, para no tornar mis mails off-topic como spam, va un problema:

class Disparadora
{
public:
    struct Evento
    {
        virtual void raise() = 0;
    };
    void setReaccionadores(Evento* evento1, Evento* evento2);
};

/// ----
class Reaccionadora
{
public:
    void configurarDisparadora(Disparadora& disp)
    {
        disp.setReaccionadores( /* ???? */ );
    }
private:
    /* ???? */ ()
    {
        // codigo de reaccion al evento1
       cout << "Ocurrió evento1";
    }

    /* ???? */ ()
    {
        // codigo de reaccion al evento1
       cout << "Ocurrió el evento2";
   }
};

Resulta que existe un sistema que dispara eventos (Disparadora), ante
diferentes situaciones.
Quiero hacer una (sola) clase Reaccionadora que "escuche" esos
eventos, y haga cosas distintas ante cada uno.
Demás está redundar en que el sistema que dispara eventos no está bajo
mi control (no puedo modificar el código).

-- 
Who’s got the sweetest disposition?
One guess, that’s who?
Who’d never, ever start an argument?
Who never shows a bit of temperament?
Who's never wrong but always right?
Who'd never dream of starting a fight?
Who get stuck with all the bad luck?

-- 
--

-- 
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error. 
En caso de duda visita "http://groups.google.com/group/cppba"
--- 
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cppba+unsubscribe <at> googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

aguml | 25 Dec 03:37 2014
Picon

Feliz Navidad

Feliz Navidad a todos y que lo pasen muy bien con los que mas quieren.

-- 
--

-- 
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error. 
En caso de duda visita "http://groups.google.com/group/cppba"
--- 
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cppba+unsubscribe <at> googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.
aguml | 24 Dec 21:20 2014
Picon

injertar dll para implementar algo?

os cuento un poco la historia, tengo una app en VB la cual hace una serie de cosas usando un ocx. Funciona muy
bien pero me gustaria poder hacer otras cosas mas que permite el mismo ocx y no se usan en la app.
Se me ocurre que puedo crear una dll con el codigo necesario para que haga lo que quiero y luego inyectar en la
app el codigo necesario para que cargue mi dll y ejecute mis funciones.
Para ello necesitaria obtener la direccion del componente que hace esas operaciones y pasar su direccion a
las funciones de mi dll y dentro hago algo como TObjeto *obj = dir_pasada_a_la_funcion y luego hacer por
ejemplo obj->SaveImage(...). ¿Es eso viable o no es posible? ¿Que api tendria que usar para obtener la
direccion del componente? ¿O tendria que pasar solo el handle y hacer TObjeto *obj; obj->handle =
handle_del_componente? La verdad es que pienso que es posible pero no lo tengo muy claro.

-- 
--

-- 
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error. 
En caso de duda visita "http://groups.google.com/group/cppba"
--- 
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cppba+unsubscribe <at> googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.
aguml | 20 Dec 10:01 2014
Picon

Obtener imagen completa de TImage externo

pues amigos, ahora me encuentro en que quiero obtener la imagen completa contenida en un TImage de una app
externa. El metodo de capturar pantalla con CreateDC, GetDC,... no me sirve porque si el timage está
dentro de un ScrollBox y excede el tamaño de este no se veria completa. ¿Conocen algun modo de obtener el
TBitmap completo de un TImage de una aplicacion externa?

-- 
--

-- 
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error. 
En caso de duda visita "http://groups.google.com/group/cppba"
--- 
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cppba+unsubscribe <at> googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.
Daniel Gutson | 12 Dec 15:48 2014
Picon

[cppba] Re: hacía mucho que no jugábamos

Tampoco vale google excepto para recordar qué es un arcotangente.
------Mensaje original------
De: Daniel Gutson
Para: cppba
Asunto: hacía mucho que no jugábamos
Enviado: 12 de dic de 2014 11:32 AM

Esto va a tener dos partes, una de ingenio matemático y otra de C++.

Arrancamos por la primera.
Si yo quisiera discretizar la función arcotangente porque la uso
mucho, cómo harían?
Les recomiendo que primero respondan cuáles son los problemas para
discretizarla.

pd: no vale que participen los que están en el proyecto "FGS" de
Taller ;-) ni los que ya lo saben

   Daniel.

-- 
Who’s got the sweetest disposition?
One guess, that’s who?
Who’d never, ever start an argument?
Who never shows a bit of temperament?
Who's never wrong but always right?
Who'd never dream of starting a fight?
Who get stuck with all the bad luck?

-- 
--

-- 
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error. 
En caso de duda visita "http://groups.google.com/group/cppba"
--- 
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cppba+unsubscribe <at> googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

dgutson . | 12 Dec 15:32 2014
Picon

[cppba] hacía mucho que no jugábamos

Esto va a tener dos partes, una de ingenio matemático y otra de C++.

Arrancamos por la primera.
Si yo quisiera discretizar la función arcotangente porque la uso
mucho, cómo harían?
Les recomiendo que primero respondan cuáles son los problemas para
discretizarla.

pd: no vale que participen los que están en el proyecto "FGS" de
Taller ;-) ni los que ya lo saben

   Daniel.

-- 
Who’s got the sweetest disposition?
One guess, that’s who?
Who’d never, ever start an argument?
Who never shows a bit of temperament?
Who's never wrong but always right?
Who'd never dream of starting a fight?
Who get stuck with all the bad luck?

-- 
--

-- 
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error. 
En caso de duda visita "http://groups.google.com/group/cppba"
--- 
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cppba+unsubscribe <at> googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

Enrique Nieloud | 11 Dec 19:03 2014
Picon

Manejo de caracteres Unicode en C++

Gente,

Quería comentarles una pequeña experiencia de esta última semana.
Desarrollando una aplicación multiplataforma (Windows/Mac OS X) cuyo backend en Windows es Qt y en MacOS X es Cocoa, me he ido encontrando progresivamente con el problema de que bajo Windows el aplicativo presentaba problemas con los nombres de archivos que contenían caracteres Unicode, con MacOS X todo bien.

Yo usaba internamente siempre std::string, pero, alegremente bajo windows convertía QString => std::string usando un método llamado toStdString.

Para solucionar el tema, mi primer intento fue reemplazar en todo el proyecto todos los std::string que representan file paths, o texto que se mostrará, por std::wstring, y ser cuidadoso en los extremos, Mac entrega UTF8, mientras que Qt entrega widestrings (16 bits), haciendo las conversiones necesarias. Esta tarea rápidamente se tornó engorrosa.

Luego investigando más, me topé con la librería nowide (propuesta para boost) de Artyom Beilis. 
Con esta librería, se hizo todo mucho más claro:
 - Internamente dejé todo como std::string
 - Los QStrings que devuelve Qt, los convierto a su vez en wstring, y a su vez usando nowide::narrow(wstring_utf16) lo codifico en Utf8 para luego meterlo tranquilamente en std::string.
 - Viceversa, cuando tengo que convertir un Utf8 a Qt lo convierto en wstring usando nowide:widen(string_utf8) y luego a QString.
 - Bajo Mac OS X, no hay problema, el método estandard de convertir un NSString en std::string es convirtiéndolo en Utf8.
 
Nada, quería compartirlo con Uds. porque tanto la librería boost::nowide (ojalá la acepten):

como la página:

me resultaron útiles sobre como encarar el tema.

En definitiva y para resumir: 
- Internamente usar Utf8 SIEMPRE.
- Convertir desde/hasta WideString en Windows en los puntos extremos.
- Con Mac OS X, no hay problema ellos son más amigos del Utf8 que de los UTF-16.

Nada más.

slds,

- Enrique

--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cppba+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
aguml | 27 Nov 14:54 2014
Picon

ordenar lista enlazada simple

Hola amigos estoy intentando ordenar una lista enlazada simple usando punteros y me tiene loco. Quiero usar el metodo de la burbuja porque la lista será pequeña.
Tengo este codigo:

/* DEFINICION DE TIPOS */
typedef struct ElementoLista
{
 
char *palabra;
 
int indice;
 
struct ElementoLista *sig;
}Elemento;

typedef struct ListaIdentificar {
   
Elemento *inicio;
   
Elemento *fin;
   
int nElementos;
}Lista;

int OrdenarLista(Lista *lista)
{
   
int i,j,k,cambiado;
   
Elemento *auxiliar,*auxiliar2, *actual,*inicio,*fin,*dir1,*dir2,*dir3,*dirAnterior;
   
int menor,mayor;

   
if ((auxiliar = (Elemento *) malloc (sizeof (Elemento))) == NULL)
     
return -1;

   
if ((auxiliar->palabra = (char *) malloc (SIZE_MAX_PALABRA * sizeof (char))) == NULL)
     
return -1;

   menor
=mayor=lista->inicio->indice;
   
for(actual=lista->inicio; actual != NULL; actual = actual->sig)
   
{
     
if(actual->indice < menor){
         inicio
= actual;
         menor
= actual->indice;
     
}
     
if(actual->indice > mayor)
     
{
         fin
= actual;
         mayor
= actual->indice;
     
}
   
}

   dirAnterior
= lista->inicio;
   
for (j=0, actual=lista->inicio; actual != NULL && j < lista->nElementos-1; actual= actual->sig, j++)
   
{
     
for (i=0, auxiliar2 = lista->inicio; i < (lista->nElementos-1-j) && auxiliar2->sig != NULL; i++, auxiliar2 = auxiliar2->sig)
     
{
         cambiado
= 0;
         
if (auxiliar2->indice >= auxiliar2->sig->indice)
         
{
            dir1
= auxiliar2;
            dir2
= auxiliar2->sig;
            dir3
= auxiliar2->sig->sig;

            auxiliar2
= dir2;
            auxiliar2
->sig = dir1;
            auxiliar2
->sig->sig = dir3;
            cambiado
= 1;
         
}
         
if(cambiado == 1)
            dirAnterior
->sig = auxiliar2;
         dirAnterior
= auxiliar2;
     
}
   
}

   lista
->inicio = inicio;
   lista
->fin = fin;
   actual
= lista->inicio;

   
for (actual = lista->inicio; actual != NULL; actual = actual->sig)
   
{
      printf
("%d -> %s\n",actual->indice, actual->palabra);
   
}

   system
("PAUSE");
   free
(auxiliar->palabra);
   free
(auxiliar);
   
return 0;
}

Me funciona todo bien (insercion, impresion, eliminacion,...) pero la ordenacion me tiene ya loco. A ver si podeis ayudarme por favor.

--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cppba+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Gmane