PREGUNTAS CONTESTADAS - C/Visual C

 Hay un total de 745 Preguntas.<<  >> 

    Pregunta:  48802 - LEER DBF
Autor:  Aruro Povez
Cómo puedo leer en C++ una dbf como las de fox. Gracias por su ayuda.
  Respuesta:  Tom Sobota
Arturo,

Te mando el formato de un fichero DBF, espero que eso resuelva tu problema.

    Pregunta:  48915 - GRAFICAR FORMAS DE ONDA DE UN ARCHIVO WAV EN LENGUAJE C
Autor:  Alex Apolo
Estoy intentando graficar las formas de onda de un archivo Wav en lenguaje C, ya tengo claro la lectura del encabezado de estos y que la información del archivo no son mas que vectores.
Mi duda es como graficar estos vectores dependiendo de la información que estos contienen.

Si alguien me pude dar una mano en este asunto le estaré eternamente agradecido.
  Respuesta:  eider mauricio aristizabal erazo
Primero, que todo en k IDE de C++ estás trabajando Borlad 3.0 o Visual C++ o C++ .NET o k?
Si es en borland, debes activar la libreria gráfica(En el menu file no recuerdo pero si necesitas) y puedes utilizar putpixel(x,y,color);

    Pregunta:  49037 - PROBLEMAS CON PRINTF + FUNCIONES DE ESPERA.
Autor:  Pedro Urbina Escos
Buenas!! Llevo un tiempo desarrollando en C y siempre me encuentro con el mismo problema. Cuando uso funciones como semaforos, sleep, pause precedido de un printf surge el siguiente problema. Para en el sleep o pause sin imprimir por pantalla nada y cuando cesa la espera, sucede el printf. Ejemplo:

....
printf("Esperando senial del servidor ...);
pause();
printf("OK\n");
....

Durante el tiempo que pasa esperando la señal no hay ningun mensaje. Cuando termina la espera imprime "Esperando senial del servidor...OK\n" directamente.

¿Sabeis que pasa? ¿Puede ser que al pasarle el control a otro proceso ceda tambien el control de la pantalla? ¿Se os ocurre alguna solucion? Gracias por vuestro tiempo.
  Respuesta:  Paul Manjarres
Hola, con respecto a tu problema sucede lo siguiente:

Cuando en C vas a escribir algo en pantalla sucede que primero se coloca en un buffer o flujo de salida, luego el contenido de este buffer es llevado a la pantalla. Cuando se utiliza printf no siempre se vacia el buffer, es decir, se dejan listas las palabras a escribir pero no se escriben; cuando ocurre la pausa no se ha vaciado el buffer y por lo tanto no se ve nada en pantalla.

Para arreglar este defecto debe obligar a que se vacie el buffer del flujo de salida, para esto se debe usar la funcion fflush(stdout), con esto se indica precisamente vaciar el buffer de salida.

Espero haber ayudado.

Att

    Pregunta:  49385 - CAPTURAR TECLA
Autor:  Mel Calizaya
Quisiera saber como capturar una tecla númerica, cuando el usuario presiona, y esta tecla esta enlazada con una función.
Esto un algoritmo sobre Pilas en C++ Builder
  Respuesta:  Romeo Alexander Muñoz Rodriguez
hola que tal fijete que no entiendo muy bien tu pregunta, pero estuve pensando y creo que lo que quieres es capturar un numero al nomas presionarlo sin tener que estar presionando enter, bueno yo lo e hecho usando la funcion getch() de la libreria conio.h, esta te permite capturar caracteres al solo presionarlos, lugo como te lo captura como caracter (char) lo tienes que convertir a numero (int) con la funcion atoi de la libreria (creo que es stdlib.h), como te captura numero por numero. lo que tienes que hacer es ir almacenandolos en una cadena, lugo mides la cadena con la funcion strlen() y con un for generas el numero de pasadas igual al numero de elementos en la cadena, y comienzas a tomarlos desde el indice mas grande hasta llegar a cero, si son tres elementos ( 123) comienzas en el elemento 2 que corresponde al numero 3 lo multiplicas por
(10 elvado a la 0) eso es igual a 3, despues el siguienteque es el 2 por (10 elevado a la 1) eso es igual a 20, y por ultimo el 1 por (10 elevado a la 2) eso es igual a 100. luego sumas todos los resultados y te dara como resultado 123 ya en int. bueno espero que sea eso lo que buscas. lo de que esta enlazada con una funcion eso si no te lo entiendo. te adjunto un codigo de lo que te acabo de explicar espero que te sirva ok adios y buen dia.

#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main(){
char numeros[10];
int acumulador,i=-1,p=0;
printf("Ingrese el numero");
do{
i++;
numeros[i]=getch();
printf("%c",numeros[i]);
}while(numeros[i]!=13 && i<10);
i=(strlen(numeros)-1);

for(;i>=0;i--){
acumulador+=(atoi(numeros[i])*(pow(10,n));
}
printf("El numero que introdujo fue %d",acumulador);
}

bueno ese es un ejemplo que me acabo de inventar espero que te funcione, solo tienes que adaptarlo a tu compilador y listo.

    Pregunta:  49504 - LIBRERIAS DE VISUAL C++ PARA CONTROLAR UN PUERTO
Autor:  Christopher Trejo
Envio este mensaje para saber si alguien sabe cuales son las librerias de vusual C++ para controlar los puertos lpt, ya que quiero programar un robot con este lenguaje de programación.
Espero que alguien me pueda ayudar.
  Respuesta:  Fernando Gómez
Hola. La respuesta a tu pregunta la he agregado en mi blog:
http://kithkanan-programacionencpp.blogspot.com/2007/02/win32-leer-y-escribir-datos-de-los.html

El código de ejemplo es el siguiente:

#include <windows.h>
#include <iostream>

using std::cout;
using std::cin;

#define STRING_SIZE 100

int main()
{
HANDLE hComPort;
DWORD dwBytesWritten;
DWORD dwBytesRead;
DWORD dwBufferSize;
TCHAR szBuffer[STRING_SIZE];

hComPort = CreateFile(_T("COM1:"),
GENERIC_READ | GENERIC_WRITE, // solo pueden ser estos valores
0,
0,
OPEN_EXISTING, // solo puede ser OPEN_EXISTING
FILE_FLAG_OVERLAPPED,
0);
if (hComPort == INVALID_HANDLE_VALUE)
{ // no se pudo abrir el puerto COM1:
cout << "No se pudo abrir el puerto COM1." << endl;
return EXIT_FAIL;
}

// hComPort es el manejador al puerto abierto en este momento. Ahora solo
// tenemos que llamar a ReadFile y WriteFile para leer y escribir datos.

// preparamos los datos a enviar.
_tcscpy(szBuffer, _T("Hola Mundo!"));
dwBufferSize = sizeof(szBuffer);

// escribimos el búfer al puerto serial
WriteFile(hComPort, szBuffer, dwBufferSize, &dwBufferWritten, NULL);
cout << "Se escribieron " << dwBufferWritten << " bytes al puerto serial." << endl;

// ahora leemos lo que sea que nos haya contestado el puerto serial
ReadFile(hComPort, szBuffer, dwBufferSize, &BytesRead, NULL);
cin >> "Se leyeron" >> dwBufferWritten >> " bytes al puerto serial." >> endl;

// finalmente, cerramos el manejador
CloseHandle(hComPort);

return EXIT_SUCCESS;
}

    Pregunta:  50129 - COMO CREAR UNA LIBRERIA EN LENGUAJE C
Autor:  cesar andres Calero Espitia
¿como puedo crear una libreria en lenguaje C, especialmente en Borland C++ Builder 6?
  Respuesta:  Eider Mauricio Aristizábal Erazo
Creas un archivo con la extension .h que es donde vas a colocar las funciones, tipos, clases, estructuras, constantes etc. a compartir.
Pej.
Archivo: MyLib.h
int sumar(a,b){
return a+b;
}

Archivo:MiPrograma
#include "Libraryes\MyLib.h" //<-----------referencio la libreria

void calculos(){
x = 3;
y = 4;
c = sumar(x,y);
}

    Pregunta:  50196 - DUDA AL LEER EL PUERTO SERIE
Autor:  Alberto Lopez
Hola, estoy realizando una aplicacion con el puerto serie para C++ Builder. Desde un módulo externo envio por radiofrecuencia a traves de una UART un dato en binario. Este dato por ejemplo es 0010 0101 (el nº25 hexadecimal) y lo quiero representar en una Label. Si yo he enviado 25, tengo que representar 25 pero me representa caracteres del codigo ASCII.
Para capturar por el puerto serie estoy usando el componente CPortLib y este es el codigo con el que leo el puerto:

AnsiString a; // Declaro una variable
ComPort1->ReadStr(a,Count); // Leo el puerto serie cargando el valor en 'a'
Label8->Caption = a; // Represento el valor leido del puerto en la Label8

Creo que como la variable 'a' es de tipo String se representa como un caracter, pero no se como tratarla para que aparezcan 2 caracteres que formen 25 y se represente el valor que he enviado desde el exterior.

Un saludo y gracias
  Respuesta:  sergio iván castellanos
Parece que solo te falta convertir de hexadecimal a caracteres.
El valor que tu tienes está en código BCD, hay que hacer lo siguiente:

int valor;
char D1, D2;

valor = a; // para leer el valor entero que tienes en a,
//si todo va bien en valor devemos obtener un 37 (32+5 ó 2x16 + 5)

// ahora recuperamos el primer nibble (donde está el 5)
D1 = a & 0x0F;
// y el segundo nibble (donde está el 2)
D2 = a >> 4;

//ahora en un Label puedes agregar D1 y D2:
Label1->Caption = D2 + D1;

Suerte y si necesitas mas ayuda escríbeme con confianza.

    Pregunta:  50197 - TRABAJAR CON EJECUTABLES
Autor:  Alberto Lopez
Estoy realizando una aplicacion con c++ builder 6 y en un boton le insertado el siguiente codigo:

WinExec("d:\PROYECTO FINAL\camara.exe",SW_SHOWNORMAL);

Con este codigo lo que consigo es ejecutar desde mi programa una aplicacion que se encuentra en la ruta establecida. Esta aplicacion es un programa para visualizar la señal de TV de la tarjeta capturadora de video y se ejecuta en su propia ventana. Me gustaria saber si se puede conseguir que esta aplicacion se ejecute en una ventana de mi propia aplicacion de c++. Lo que quiero es obtener la imagen en un Panel.

Si para ejecutar el *.exe uso la instruccion WinExec(); cual es la necesaria para cerrar dicho ejecutable?

Gracias
  Respuesta:  Alberto
Por la largada del código, esta en el fichero resp50197.txt

    Pregunta:  50314 - CONFIGURACION DE PUERTO PARALELO EN C
Autor:  anderson oswaldo rueda
hola

estoy elaborando un chat con puertos paralelos y necesito el codigo en fuente C para la configuracion

Gracias
  Respuesta:  VICTOR VALDEZ
LA CONFIGURACION DEL PUERTO:

SI ES POR PUERTO PARALELO, TIENES 25 PINES, DE LOS CUALES TE SIRVEN 8 ENTRADAS PARA MANIPULACIÒN DE DATOS, ENTONCES NECESITAS ENVIAR LA INFORMACION POR ESO 8 PÌNES:

DEJAME BUSCAR ENTRE MIS CURIOSIDADES, TENGO UN PROGRAMA QUE TAL VEZ TE PUEDA AYUDAR CON ESO; MUEVE UN MOTOR DE PASOS Y ENVIA IMPULSOS A UN PROTOBOARD PARA GENERAR UN CONTADOR BINARIO DE 0 A 255 (00000000 A 11111111), PARA QUE VEAS COMO MANEJAR CADA SEÑAL

    Pregunta:  50380 - PROBLEMA CON FUNCION DE ACTUALIZACION DE VARIABLES
Autor:  Christian Asencio
Hola que tal, antes que nada estoy trabajando bajo Visual C++.NET 2003 y bueno mi problema es bien simple :
tengo una aplicacion basada en dialogo entonces en mi caja de Dialogo tengo un EditControl asociado a una variable CString m_Cadena y tambien tengo un Boton1, cuyo codigo es el ste:
UpdateData(true);
if(m_Cadena== "")
m_Cadena = "HOLA MUNDO";

UpdateData(false);

problema 1: Cuando tengo escrito en mi EditControl cualquier palabra, y al darle seguimiento al Boton1, siempre me dice que mi variable m_Cadena no tiene nada, (osea "") Porque?? como soluciono esto??

problema 2: Y si no tengo nada en mi variable m_Cadena, parece que el UpdateData(false) no funciona porque no actualiza a la cadena "HOLA MUNDO", que hago???
  Respuesta:  Alvaro E.
Pruebe mostrando la longitud de la cadena, antes y despues. Para estar seguro de que en efecto si capturo algo.

|<  <<  63 64 65 66 67 68 69 70 71 72 73  >>  >|