PREGUNTAS CONTESTADAS - C/Visual C

 Hay un total de 745 Preguntas.<<  >> 

    Pregunta:  3144 - MIDI
Autor:  francisco javier guerrero gomez
¿Necesito alguna rutina, o un algoritmo para poder realizar un reproductor de archivos midis, quisiera alguna referencia alque me pueda ayudar se lo agredecere?
  Respuesta:  Arturo Santana
Te sugiero que visites www.programmersheaven.com en la sección de TOP 50; ahí encontrarás una biblioteca de formatos de archivos de sonido y otros mas; espero que te sirvan.

    Pregunta:  3145 - INFORMACION ESPECIFICA SOBRE MANEJO DE DBF EN C
Autor:  Jorge Enrique Nieto
Necesito informacion especifica sobre el manejo de archivos DBF en C. Como leerlos, agregar, modificar y borrar registros. Gracias.
  Respuesta:  Juan Mamani
Una opción fácil y barata es echarle un vistazo a los headers o archivos extensión h que traía el summer´87 uno de los primeros compiladores de código del dbase que más tarde en versiones superiores se llamaría clipper y así sucesivamente.

Acortemos el cuento ahí encontrarás la estructura original del los archivos formato DBF pero con el tiempo han sufrido algunas variaciones en el formato (muy leves) pero tienen cambios.

CULTURAL
Los archivos DBF de cualquier softaware(FoxPro,DbaseII,DbaseIII,DbaseIII+,Clipper 5.0, Clipper 5.2, etc...) SE COMPONEN básicamente de la siguiente manera:

CABECERA
DATOS
EOF

Donde cabecera mantiene la información de la cantidad de registros, fechas, y otros. Luego viene el corazón mismo. La estructura lógica del archivos es decir:
NOMBRE DEL CAMPO, TIPO (Númerico, boolean,Date,etc..) y por último el TAMAÑO en bytes (empaquetado)
Luego de este bloque vienen los registros en formato 100% ASCII. Aquí nunca vas a encontrar datos empaqueatados.

La clave es tener la estructura de la cabecera y te vas por un tubo. Si no puedes encontrar el archivo header dímelo y podría enviartelo.
Por lo demás hice un programita en C para leer todos los datos del archivo DBF y la estructura lógica del Archivo.
Si quieres también te lo puedo enviar. Solo dímelo!

Chao ojalá te sirva la información!

    Pregunta:  3171 - COMO OCULTO UNA APLICACIÓN AL PRESIONAR CTRL+ALT+DEL
Autor:  Juan Carlos juarez
La pregunta es como puede esconder una aplicacion de tal forma que al presionar CTRL+ALT+DEL no aparesca en la lista de tareas del sistema (tasklist) es decir que sea invisible.

Atentamente
  Respuesta:  Juan Pablo Crossley
Claro que si puedes hacerlo!!! para ello simplemente ocultas el proceso, lo puedes hacer con la siguiente API:

Para remover la lista de tareas:

lngProcessID = GetCurrentProcessId()
lngReturn = RegisterServiceProcess(lngProcessID, RSP_SIMPLE_SERVICE)

Para hacerla visible de nuevo
lngProcessID = GetCurrentProcessId()
lngReturn = RegisterServiceProcess(lngProcessID, RSP_UNREGISTER_SERVICE)
  Respuesta:  Paco Arjonilla García
No puedes hacer que sea invisible, sin embargo, si creas tu aplicación como un servicio, no a parecerá. Es un poco más complicado, ya que tienes que hacer que un servicio se comporte como una aplicación normal.

    Pregunta:  3223 - ARCHIVOS EN ESCALAS DE GRISES
Autor:  JUAN GUILLERMO JARAMILLO
Tengo que leer un archivo grafico cualquiera en escalas de grises para poderlo interpretar ya que a 16 y 256 colores es dificil, si alguien posee un algoritmo que me permita hacer la lectura le agradezco
  Respuesta:  Juan Mamani
Aclaremos algo primero:
QUE FORMATO TIENE EL ARCHIVO ORIGINAL QUE DESEAS LEER?

Esto es básico, para ocupar la rutina necesaria e interpretar el archivo como corresponde!

Supongamos (Ojo un suposición)
Si fuese un JPG, BMP, etc... debes tener el formato de dicho archivo primero para luego tirar a la pantalla como quieras dependiendo de la resolución en la cual quieras trabajar.

Otra cosa es si vas a usar el BIOS para mostrar pixeles o una rutina directa a la vena, o sea
un acceso directo a video.

Uno de los formatos más fáciles de accesar es el BMP, lo lees y podrías usar el algoritmo de conversión a grises que aparece en el libro del afamado "Richard Ferraro" Programación de la VGA o algo así no me recuerdo en este instante ya que son las 1:39am y estoy a 4600mt de altura en una mina.

O bien puedes convertir tu bmp a forma TIFF (es uno de los formatos especiales en grises) y conseguirte el formato de los tiff y listo!

Chao desde Chile Juan

    Pregunta:  3242 - COMO IMPRIMIR GRAFICOS CREADOS EN TURBO C++ 3.0 (NO VISUAL)
Autor:  Andrés Manuel Lozano García
Me interesa saber como se pueden imprimir graficos creados por el programa (circle, line, putpixel,etc.)
Si alguien sabe la respuesta, por favor, me envie un codigo fuente (si no es mucha molestia) o bien me explique como hacerlo detalladamente
(el codigo fuente, a ser posible, que este bien comentado). Si puede ser que no se usen las interrupciones
Si ademas me respondeis tambien como imprimir archivos tipo JPEG, GIF, TIFF, TGA, BMP, etc.. mejor todavia

Gracias por anticipado
  Respuesta:  Endos
Lo mas sencillo es bajarte el driver BGI para impresoras HP y Epson y usarlo igual que el driver BGI que usas para la pantalla, volviendo a dibujar el mismo grafico que deseas imprimir de nuevo.
La direccion de este y otros drivers es esta:
http://www.von-bassewitz.de/uz/bgi.html

Saludos
  Respuesta:  Ibo´00
No esta muy claro que es lo que realmente te presenta un problema. Lo que parece es que tu dibujas un grafico normal y corriente en pantalla y no te sale por la impresora. Yo pregunto, consigues sacar texto por la impresora?. Se supone que cuando dibujas el grafico en lugar de direccionarlo a la salida por consola, que es donde apunta por defecto el stdout lo deberias redireccionar a al stdprn, no hace falta que utilices interrupciones ni nada, a no se que quieras crearte tu propia rutina, cosa aconsejable si lo que estas haciento realmente tiene alguna importancia, con cualquier funcion xprintf te vale, lo unico que importa es a donde apunte el flujo de salida. Sobre como imprimir los ficheros jpg, gif, etc. supongo que primero sabras descomprimirlos tu, y para ello tendrás que haber arrancado un modo de video que hayas seleccionado previamente, en este caso no te queda mas solucion que create tu propia rutina. Espero haberte aclarado tus dudas...

    Pregunta:  3268 - COMPATIBILIDAD DE C,C++,...
Autor:  Gustavo Alva Alva
Primero para felicitarlos por los cursos que dan pues son de gran ayuda, por ahora tengo la gran interrogante de:
Cuales son las compatibilidades entre los lenguajes C,C++,Visual C++,C Builder.
Les agradecere infinitamente el proporcionarme esta informacion lo antes posible.
Les volvere a escribir.
  Respuesta:  Endos
Veamos, C sería para entendernos, como el padre de C++.
Este a diferencia del primero soporta orientación a objetos.
Aparte de eso, C++ incluye algunas mejoras muy prácticas e interesantes que facilitan la programación.
La principal ventaja de C es que si nos ceñimos al standard ANSI, conseguiremos crear un programa portable a prácticamente cualquier plataforma. También existe la correspondiente especificación ANSI para C++ pero ciertos sistemas operativos no poseen un compilador que lo soporte. No obstante siempre que tengamos la posibilidad de usar C++ con su orientación a objetos, será siempre mejor.
Tanto Visual C++ como C++ Builder, son entornos de programación que permiten programar tanto en C como en C++.
Existen diferencias notables entre ellos. Mientras Visual C++ es un entorno IDE al estilo de los antiguos Borland C++, el C++ Builder es un entorno RAD (Rapid Application Development) que reduce los tiempos de creación de cualquier aplicación al mínimo.
Visual C++ soporta C, C++ y MFC (Microsoft Foundation Classes) que es el ´entramado´ de clases C++ que encapsulan la complejidad de las APIs de Windows.
C++ Builder soporta C, C++, MFC, OWL (ObjectWindows) que sería para Borland C, lo que MFC es para el Visual y la VCL (Visual Class Library) que es la que le proporciona la máxima potencia.
Si te fijas en esto último, te darás cuenta que con el C++ Builder, no solo puedes compilar código de versiones anteriores de Borland C, sino que además puedes hacerlo también con cualquier código de Visual C++.
Ahora ya estan creando una versión de C++ Builder para Linux. Por lo que dentro de poco, el código creado será portable a esa plataforma con los mÿLM/W3SVC/157/Root

    Pregunta:  3272 - AL DEPURAR, DE TESTO A GRAFICO, LA PANTALLA...BAILA...!!
Autor:  Emilio
Usando un compilador de Turbo C++ para MSDOS, de Borland.
resulta que despues de compilar y linkar el codigo fuente, al ejecutar este paso-paso (para depurarlo de errores...), cuando cambia de modo texto al modo grafico la pantalla del ordenador ... baila...!!!
Este curioso efecto me impide el trabajar con el "C".
Uso el MSDOS, un Pentium, Targheta grafica VGA 640+480.

Ejemplo, si depuro paso a paso este codigo, tengo:

//========
void main ()
{
a=b+c; // modo testo: la pantalla no hace nada.
initgraph (...); // activo el mod grafico: la pantalla ... baila...
line(...); // baila la pantalla.
a=b+a; // la pantalla no hace nada
}

He provado a cambiar de monitor, de tarjeta grafioca, y a instalar de nuevo el compilador: nada !!!
Gracias por dedicarme un poquito de vuestro tiempo:
  Respuesta:  Juan Mamani
No tengo a mano el Borland C, porque estoy a 4600mt de altura en una mina, pero por los sintomas que mencionas puede que las rutinas que trae el borland C, no sea muy compatible con tu tarjeta de video. Por que no intentas de probar las resoluciones que soporte tu tarjeta video
con el demo que trae el borland c y compara el comportamiento. Si la pantalla baila es un sintoma que tu tarjeta no es 100% compatible con las rutinas del Borland C. Ah por lo demás te sugiero le hagas un closegraph() a tu rutina de ejemplo.

Otra alternativa es instala otra tarjeta y prueba a ver que pasa!

Chao desde Chile
  Respuesta:  Endos
Ese es el funcionamiento habitual del Turbo C cuando se depura un código que contiene sentencias que afectan al sistema gráfico.
No tienes ningun problema ni con tu computadora, ni con tu compilador.

Si lo que deseas es ver lo que hay en la pantalla como lo vería el usuario, lo unico que debes hacer es pulsar ALT+F5 y cuando termines pulsar ESC; o si lo prefieres eleguir la opcion ´User Screen´ del menú ´Window´.

Saludos

    Pregunta:  3292 - COMO PONER VARIAS PANTALLAS DE PRESENTACION EN UN PROYECTO.
Autor:  Amadeo Casas Cuadrado
SE COMO CREAR UNA PANTALLA DE PRESENTACION EN UN PROYECTO SDI, PERO TENGO EL PROBLEMA DE QUE QUIERO TENER TRES PANTALLAS INICIALES, EN CONCRETO, ANTES DE COMENZAR LA EJECUCION DE LA APLICACION EN SI.

ME ENCANTARIA QUE ALGUN FENOMENO EN ESO DEL FANTASTICO MUNDO DE LA PROGRAMACION ME AYUDARA

MUY AGRADECIDO
  Respuesta:  puesto 6
Creas las tres pantallas de presentación en cajas de diálogo ´CDialog´ y desde el evento InitInstance(), antes de abrir la ventana marco principal ("m_pMainWnd->ShowWindow(...)"), de la aplicación las vas abriendo una tras otra (como modales o no modales). Puedes cerrar dichas cajas mediante eventos OnTimer() dentro de cada propia caja si deseas una presentación automática (tipo ventanas ´Splash´).

    Pregunta:  3298 - COLOCAR EL PUNTERO EN EL PRINCIPIO DEL ARCHIVO C++
Autor:  Luis Antonio Victorero Roza
Estoy codificando un programa en C++ que utiliza un fichero para realizar las acciones mas comunes, altas, bajas, consultas y modificaciones, las altas me funcionan bien, pero al hacer consultas abro el archivo y el puntero siempre esta en el final de este, ¿como puedo ponerlo al principio?, otra pregunta sería ¿es mejor codificar este programa con listas enlazadas?, si alguien tiene algún ejemplo le agradecería que me lo enviase, muchas gracias de antemano, un saludo.
  Respuesta:  Fabián Andrés Sierra Carvajal
Es muy improbable que al abrir (con fopen) el archivo esté SIEMPRE al final, a menos que hayas cometido un error. Lo más probable es que estés abriendo un archivo QUE NO HAS CERRADO PREVIAMENTE, es decir, seguramente haces una inserción y luego, sin cerrarlo, lo abres para una consulta. La segunda probabilidad es que lo estés abriendo con la bandera "a" (por ejemplo, archivo=fopen("arc.t","a+");), lo que causa que los nuevos registros se Añadan, es decir, se abra por el final.
Una solución parche (pues deberías corregir el error) es usar rewind(archivo), que lo hace retroceder al inicio; o fseek(0,archivo,SEEK_SET); (creo que esa es la sintaxis); o fsetpos.
¡Suerte!

    Pregunta:  3333 - HERENCIAS
Autor:  efren gonzalez oliva
¿Que son y para que sirven las herencias en lenguaje c?
  Respuesta:  yon
La herencia sirve para reutilizar el codigo que otro programador a hecho indirectamente; el MFC es pura herencia donde reutilizas los objetos(clases) creados por Microsoft. El ejemplo clasico es el de la programacion por objetos.

// clase base.
class perro {
private:
caracteristicas del perro;
public:
perro();
~perro();
virtual ladrar();
virtual colordepelo();
.......!!!
};

// clase derivada

class Perro_AlgunTipodePerro : public perro {
// Perro_AlgunTipodePerro hereda todas las funciones de la clase perro
// las puede redifinir si son virtual o llamarlas perro::ladrar();
.....
}
  Respuesta:  Juan Palma
La Herencia solamente se aplica en el lenguaje c++ y sirve para encapsular metodos y propiedades manteniendo separado lo general de lo particular. Por ejemplo de una clase vhiculo puede tener solamente los atributos que le son comunes a todos los vehiculos, esta clase se puede extender para cubrir las particularidades de cada categoria y a sus vez cada categoria se puede subdividir para cubrir las especificidades de cada tipo etc... Tecnicamente permite hacer llamadas a metodos no privados de la clase padre desde una instancia de una clase hija, asi como usar las propiedades que no sean privadas desde la misma instancia cuando sea necesario. En definitiva esto ayuda a evitar la duplicacion de codigo y a hacer mas mantenible el proyecto.

|<  <<  11 12 13 14 15 16 17 18 19 20 21  >>  >|