Preguntas Sobre C

Trisky

A ver, como empiezo, bueno si, estoy haciendo un proyecto en C, por ahora nada complicado (bases de datos y esas cosas). Pero tengo algunas dudas, son mas bien pijaditas para que todo quede mas chulo y hay cosas que se me escapan y no se su respuesta. ahi van:

1.-¿como puedo cambiar el tipo de fuente o estilo, es decir cursiva, negrita o subrayada? ¿es posible?

2.¿se puede añadir imagenes?¿si es asi como?

3.tengo entendido que se puede usar o definir las teclas ESC o F1 y demas ¿como?.

se que a lo mejor son dudas absurdas preo es que estas cosas no te las enseñan en mi ciclo (al menos no por ahora).

asi que nada, gracias de antemano y si se me ocurren mas cosas os aviso.

ciao

cabron

C no hace ninguna de esas cosas, debes estar usando algún tipo de API.

LiuM

Eso depende de la API del sistema que estes usando, con X11, windows.. Yo si estas con X11 tengo apañeros de la uni que pueden hechar un cable, pero por alli el windows se lleva poco XD

S

Snif, snif, huele a Visual C++.

SeiYa

El visual c++ tiene poco de visual xD

S

Bueno, me refería a VC++ + MFC :P.

Trisky

ummmm perdonar mi ignorancia, pero la unica respuesta que me ha dicho algo que mi cerebro a ententido es la primera pero exactamente no se lo que me quereis decir con lo del API ?

porque eso es lo que no pillo del todo, sorry :S

gracias por haberme respondido de todas formas

AvariciA

Abbreviation of application program interface, a set of routines, protocols, and tools for building software applications. A good API makes it easier to develop a program by providing all the building blocks. A programmer puts the blocks together.

Most operating environments, such as MS-Windows, provide an API so that programmers can write applications consistent with the operating environment. Although APIs are designed for programmers, they are ultimately good for users because they guarantee that all programs using a common API will have similar interfaces. This makes it easier for users to learn new programs.

Una definicion muy completita. XD

Extraido : http://www.webopedia.com/TERM/A/API.html

NoSHeL

si estas en C en modo consola, te va a ser dificil (imposible) añadir fotos o cambiar a cursiva/negrita.
Para meter fotos deberias cambiar al modo grafico, q te permita acceder a los pixeles de la pantalla. ¿Como se hace eso?
Pues tienes varias opciones:
Modo 13h -> Pa meter fotos vas jodido a no ser que te hagas tu la rutina de carga de ficheros y lo dibujes pixel a pixel. Aun asi solo podrias verlas en 256 colores (eso creo).
Win32 -> usando las funciones de la API de win32 puedes dibujar con las GDI que supongo tendran carga de ficheros BMp o similares
DirectX o openGL -> la leche, aunq lo veo excesivo para tu proyecto ;)

Para poner texto en cursiva/negrita el texto deberia ser enriquecido. Lo q se me ocurre para esto es crearte una textbox (creo q no se llamaba asi, pero weno, una caja de esas para mostrar texto) en MFC que soporte texto enriquecido (RTF).

No se, di un poko mas sobre como lo estas haciendo para orientarnos

Saludos!

Trisky

joder, muchas gracias tio por tu explicacion, lo estoy haciendo en modo consola, aqui creo que siempre trabajaremos en modo consola (estamos casi en junio y no hemos visto nada de graficos :S). lo unico que se es ponerle color a las letritas y tal, pero eso no es muy alla...

el proyecto es una base de datos con tres ficheros, que almacenan distintos datos, no tiene mucho misterio, lo unico dificil es volcar una informacion en un nodo y al cerrar la aplicacion volcar la informacion de ese nodo en un fichero. eso es lo unico que me esta suponiendo un poco mas de complicacion.

respecto a lo de la API, me gustaria informarme un poco mas sobre win32, me recomendais algun enlace o similar???

aLeX

¿Con que lo estás programando? Huele a Turbo C de msdos o algo similar. ¿no?

LOc0

http://winapi.conclase.net/curso/index.php

Salu2 ;)

EDITADO-> #13: Llevas razón, se me fue la pinza (pa variar :P)

NoSHeL

Ufff postee todo esto y se me borro, asi que resumo again:

#12 mas que poner eso yo pondria: si te interesa la API win32 y sabes C vete a tal web, que por cierto es la que le iba a recomendar yo :P

Pero en el caso de que sepa C++ igual le interesa mas las MFC.

Que diferencias hay:
La API de win32 aporta funciones para la creacion de ventanas con botones y demas. Algo asi como Visual Basic , pero sin la parte visual, todo pikando codigo.

Las MFC (Microsoft Foundation Classes) es casi lo mismo solo que basado en POO (programacion orientada a objetos), es decir, si en la api de win32 usabas un:
hWnd = CreateWindow(...);
Ahora con las MFC te has de crear una instancia de la clase CFrameWnd. Lo mismo para poner botones, textbox y demas.

¿Que elegir?
Yo siempre recomiendo la API de win32 aunqe prefiera POO, ya que la curva de aprendizaje de las MFC es muy dificil (no que lo diga yo, sino todo el mundo que las prueba), ya que tienes que aprenderte muchas clases y la jerarquia de herencias es muy grande y liosa. Por otro lado la api de win32 tiene funciones genericas para la apertura de ficheros sin tener que depender de stdio o iostream, o rutinas para manejo de archivos .ini y bastantes mas cosas que se alejan de lo que es crear aplicaciones, pero que son utiles (solo para windows, asi q pierdes la portabilidad de stdio y demas).

Por otro lado puedes pensar: ¿Porque pikar tanto codigo si con VB pongo los botones con el raton en plan guay?
En parte es cierto. Con win32 que yo sepa no hay visualizador, pero para las MFC si lo hay con Visual Studio. Por otro lado sabiendo usar las win32 sacas mas provecho que agregando las cosas con el raton (que a fin de cuentas si quieres hacer una aplicacion medianamente buena con VB tienes que meter codigo por huevos,pero weno..).

Luego tambien tienes la tecnologia .NET . Esto es, el framework .NET (marco de trabajo), que es igual para VB que para VC++.
Por ejemplo, si quieres añadir un textbox con VC++ el codigo de instanciacion seria este:

this->textBox1 = new System::Windows::Forms::TextBox();

mientras que si lo haces en VB seria este:

Me.TextBox1 = New System.Windows.Forms.TextBox

Si te das cuenta, la sintaxis de inicializacion de VB y VC es distinta obviamente, pero el espacio de nombres (namespace) es el mismo en ambos: System.Windows.Forms

Esto es el framework .NET. En cada lenguaje basado en .NET tienes las mismas clases y namespaces para definir los mismo objetos, ya sea ASP.NEt , VB.NET ,VC++.NET , C#.NET ,J#.NET etc...

En definitiva, si quieres hacer aplicaciones visuales para windows yo te recomiendo C#.NET que usa lenguaje C# que aporta muchas mejoras sobre C++ y ha mejorado en velocidad bastante. (antes se decia que las aplicaciones creadas con C++ eran un 10% mas rapidas que las de C#, pero ahora ya es minima la diferencia)

Y desaconsejarte VB ya que para el uso de threads crea aplicaciones inestables...

Eso es todo ;) (y eso que resumi, vaya parrafada tenia antes)

Saludos!

Nota: Todo lo que puse aqui es fruto de mi experiencia con MFC, C# o demas lenguajes, asi que no es dogma de fe. si alguien discrepa en algo que lo diga por favor, no es la panacea lo que he escrito aqui ;)

Trisky

woooo gracias por la explicacion.

para aquel que me ha preguntado que programa usabamos, usamos borland, creo que era eso lo que me has preguntado no??

cuando domine un poco mejor C, ya intentare abarcar mas cosas, pero mientras seguire con la consolita y demas.

muchas gracias a todos los que me habeis respondido y me habeis aclarado las dudas.

thanks

Usuarios habituales

  • Trisky
  • NoSHeL
  • aLeX
  • AvariciA
  • Soy_HeatoN
  • LiuM
  • cabron