PREGUNTAS CONTESTADAS -

 Hay un total de 745 Preguntas.<<  >> 

    Pregunta:  17124 - FUNCIONES PARA GUARDAR EN MEMORIA
Autor:  Luis Armando Pedroza
Por favor necesito hacer un programa en turbo C para crear pantallas de un programa que permita mostrar el diseño de un prototipo, se que existen dos funciones que permite guardar en memoria las pantallas creadas y otra para leer lo que se ha guardado. solo con saber cuales son estas funciones quedo satisfecho. Gracias por atendermen ustedes saben más que yo please.
  Respuesta:  Juan Carlos Ruiz
No se porque no te habian contestado, porque esta es relativamenta facil, si programas en sistemas Dos , win 9x y nt

Debes hacer referencia a las interrupciones de la bios, e incluir el encabezado DOS.H
para que puedas utilizar el tipo struct REG y la funcion int86();
en el momento no tengo todos los datos completos, puesto que ya hace mas de 2 años que no toco estas funciones para nada, lo unico que te puedo decir es que se pueden hacer cositas muy interesantes e incluso puedes obtener la faciliadad de guardar solo segmentos determinados de la pantall para despues colocarlos donde quieras,
si te interesa realmente escribeme un e-mai y le hechare una ojeada a mis programas para poderte ayudar,
por otro lado existe un libro(algo viejo), que te enseña a manejar mas profundamente las interrupciones de la bios y el acceso directo a la memoria RAM :
programacion en c para expertos
de helbert schild.
hasta luego ;-)

    Pregunta:  17160 - COMO CALCULO EL TIEMPO DE EJECUCIóN DE UN PROGRAMA EN TC 2.0
Autor:  León José Varela
Hola!! Estoy realizando un programa en turbo C versió 2.0. Quisiera saber si existe alguna forma de obtener el tiempo de ejecución del programa en unidades de tiempo menores que centécimas de segundos, que es lo que devuelve la función clock().

Esperando su colaboración, me despido. Chao.
  Respuesta:  Damian Cruz S.
1.- trata de conseguir el TC 3.1 por que lo siguiente ets an esa version
dentro de time.h existe una variable CLOCKS_PER_SEC que es la que se va a utilizar. Un ejemplo
#include<time.h>
......
int funcion(....) // funcion o procedimiento a medir el tiempo
...
in main()
{

float t;
double t1,t2,t3;
............
t=(double)CLOCKS_PER_SEC; // numero de ciclos por segundo en el procesador
t2=clock(); //obtenemos el tiempo en este instante antes de llamar a la funcion
ordenamiento_intercambio(n,a);
t3=clock();//ontenemos el timpo despues de llamar a la funcion
t1=(double)(t3-t2)/t; //obtenemos la diferencia y la dividimos entre la constante para obtener asi hasta milesimas de segundo
printf("\n El tiempo de ordenamiento fue %10.6g", t1); // lo mandamos imprimir.
.......
}
nota si el procediminto es muy rapido el resultado en pantalla sera '0', en este caso solo tienes que jugar un poco con las variables para obtener
tiempos decentes

    Pregunta:  17334 - PROBLEMAS CON DEV-C++
Autor:  miky
Un saludo a todos. Tengo problemas a la hora de que el compilador
dev-c++ me reconozca randomize y random,pongo los correspondientes includes pero aun asi me da problemas. Sabeis de algun compilador con entorno de trabajo similar al Dev-c++ que no de tantos problemas??
Gracias por vuestra atencion
  Respuesta:  Melchor Viso Martinez
¡Como no! Es siempre un placer recomendar Source Navigator de RedHat (hay que buscarlo a partir de www.redhat.com, pero esta algo escondidillo. Ahora no tengo su posicion. O quiza sea mas rápido buscarlo en el Yahoo). Es una herramienta excelente, GPL, con una capacidad de visualizacion y navegacion excelente (ya quisiera el Developper Studio). Solo un petit problem. La creacion un proyecto requiere un poco mas de intervencion que en Dev-C++: Hay que crear el proyecto, añadir los fuentes, decir cuales de ellos se compilarán, indicar que librerías se utilizan, cual es el target.
Si coges el Source Navigator, se puede utilizar el mismo compilador gcc que viene con Dev-C++ (yo lo he hecho al principio) pero mas adelante es mejor coger la distribución de Cignus para Windows.

    Pregunta:  17382 - COMO PUEDO HACER COMUNICACION CON EL MODEM DESDE C++ 3.0
Autor:  Alejandro Morillo
estoy implementando un sistema para hacer llamadas telefonicas desde c++ 3.0 y/o ensamblador, pero el problema es q no se como hacer comunicacion con el modem , es decir como le voy ha mandar el numero telefonico q quiero marcar, o como voy ha recibir.

a quien pueda ayudarme con algun ejemplo o informacion le estare agradecido..

gracias -
  Respuesta:  Eduardo Campillo
Pues existen unos comandos llamados hayes, ejemplo para conectar con el numero 6666666 seria: 'ATDT6666666' pues en C sería:

FILE *fp; //Crea un flujo.

if(!(fp=fopen("comx", w)) { //'x' es el número de puerto serie del mdem.
printf("\nError al llamar al modem.");
exit(1);
}

fprintf(fp, "ATDT6666666"); //Envia la cadena 'ATDT6666666' al modem

-----------------
Busca en inet los comandos hayes para el modem.

    Pregunta:  17461 - DETECTAR DISCO DURO
Autor:  Enrique Araúz
Buenas quiciera saber como puedo detectar las unidades en la que se a particionado un disco duro.
  Respuesta:  Ricardo Ortega
Saludos. La pregunta no aclara si solamente te interesan las unidades lógicas (identificadas por letras C: D: E: o si te interesan TODAS las particiones del disco duro incluyendo particiones no dos o no windows)
Si solamente te interesan las unidades lógicas, se puede hacer en C un programa así:

int u:
for (u=3; u < 32: ++u) { // 3 indica unidad C:
_dos_setdrive (u, &x)
x = _dos_getdrive();
if (x == u) printf ("Se ha encontrado unidad %d. ", u+64);
}

Si lo que necesitas es averiguar todas las particiones, la historia es larga, debes usar llamadas INT13 para leer el primer sector del disco duro, intrepretar la tabla de particiones, identificar cada partición.
ver Ejemplos y programas fuente partmgr o bootmaster o en www.sourceforge.net
Suerte. Si deseas mayor explicación, escribeme.

    Pregunta:  17497 - GRABAR DATOS EN UNA TABLA DE UN CUADRO DE DIALOGO
Autor:  Alberto Hidalgo
Me gustaria saber, que si manejo una tabla de un cuadro de dialogo, y meto datos en ella como se grabaria en la tabla dichos datos si le diera por ejemplo al "aceptar", y luego volviera a abrir dicha tabla y estuvieran los datos que metí anteriormente. Muchas Gracias.
  Respuesta:  yulimar diaz
para realizar lo que deseas debes consultar el libro de visual c++ de javier ceballos, te lo digo porque fue un proyecto que realize el semestre pasado y es complicado explicarlo por aca si te lees el capitulo de ese libro donde se encuentra la informacion se te hara facil alli esta todo claro cualquier cosa escribeme a [email protected] y te ayudo con eso.

    Pregunta:  17731 - CONVERSION DE FLOAT A CARACTER
Autor:  JULIO CESAR SALAS PINAL
NECESITO CONVERTIR DATOS FLOTANTES A CARACTERES YA SE UTILIZO ecvt( ), fcvt ( ), Y gcvt( ) PERO NO TE RESPETAN EL PUNTO DECIMAL TE DAN LA POSICION DE ESTE PERO BUSCO UNA FUNCION QUE ME CONVIERTA EL FLOTANTE Y QUE RESPETE EL PUNTO DECIMAL
  Respuesta:  Oscar Torres
Julio, no se si es ciertamente correcta mi apreciación, pero se me ocurre que puedes utilizar la funcion sprintf(), que te permite imprimir datos con formato a un cadena de caracteres.

int myInt;
char myChar[50;]
sprintf(myChar,"%d", myInt);

    Pregunta:  17840 - PATH DONDE SE CORRE EL PROGRAMA
Autor:  Enrique Araúz
Buenas.

Quiciera ver si me pueden dar una ayuda en lo siguiente:

Necesito saber si en Lenguaje C existe algun comando que me permita saber desde que path se esta corriendo el programa.

Otra pregunta para aprobechar:
En tal caso de que si existe tal comando, como puedo concatenar esa direccion con la sintaxis del comando SPAWNL(Me permite llamar a un programa desde otro)

spawnl(P_WAIT,direccion,NULL)

Me refiero a que el campo que llame direccion tenga el path de donde se esta corriendo el programa concatenada con el nombre de un archivo cualquiera que quiera ejecutar.

Osea que direccion = PATH \ archivo.exe
  Respuesta:  Juan Manuel Mar
Saludos:

No se si sea el caso, pero hay una función en la libreria dir.h que te devuelve la ruta actual de tu aplicación, es:

getcwd

Función: Lee del sistema el nombre del directorio de trabajo.

Sintaxis: getcwd(directorio,tamañocad) /* Lee el directorio y la unidad */

Lo malo es que esto ahorita lo encontre en la red y no estoy en mi casa, así que no recuerdo bien si es la sintaxis correcta (lo siento es que tengo mala memoria), pero de cualquier manera revisa la ayuda de borland c++ (yo tengo la versión para ms-dos) y ahí te dan ejemplos, lo unico que tienes que hacer es declarar una cadena de suficiente tamaño para guardar la ruta devuelta, me parece que es CADENA=getcwd(); , lo siento no recuerdo, revisa eso por favor.
Para concatenar cadenas usa strcat(cadena_resultante, cadena_a_unir), revisa la documentacion por si me equivoco con eso que tengo una memoria fatal, solo un detalle extra:

Cuando concatenes cadenas siempre asegurate de limpiar la cadena resultante antes de unirlas por si acaso.
  Respuesta:  Iñaki Lopez
Hola...

La respuesta planteada por Oscar Vazquez seria perfecta si no fuese porque, si se ejecuta el programa desde un directorio por debajo del que lo contiene... el contenido de "argv[0]" no es una ruta absoluta, es relativa... :(

Ej:
Resultado esperado:
archivo a ejecutar: "c:\prog\app.exe"
ejecutamos desde: "d:\pepe\"
"argv[0]" contendra: "c:\prog\app.exe"

Resultado no esperado:
archivo a ejecutar: "c:\prog\app.exe"
ejecutamos desde: "c:\prog\pepe\tmp\"
"argv[0]" contendra: "..\..\app.exe"

Llevo bastante tiempo intentando encontrar algo que funcione
bien en cualquier ambiente (Dos/W9x/WNT/WMe/W2k/WXP)... ya
que es evidente que la funcion "getcwd()" no sirve de nada en Windows porque el directorio activo puede ser cualquiera.

Si alguien tiene una solucion clara y definitiva para esto... por favor, la exponga aqui... yo hare lo mismo si encuentro algo.

Gracias por la ayuda, y perdon por esta respuesta que no es tal... :)
  Respuesta:  Oscar Vazquez
Toda aplicación C tiene una función "main".
Este es la declaración completa
int main( int argc, char *argv[ ], char *envp[ ] )

argc - Indica la cantidad de parámetros que recibe
argv - Cada uno de los parámetros recibidos
envp - La lista de las variables de entorno del sistema
(en DOS - set varname=valor)

El valor mínimo de argc es 1, indicando que al menos recibe un parámetro. Este parámetro corresponde al path completo de la aplicación que se está efecutando.

al ejecutar C:\path\subpath\app.exe, el parámetro argv[0] contiene el siguiente valor "c:\path\subpath\app.exe"

Esta función devuelve cada una de las partes del path de un archivo
void splitpath( const char *path, char *drive, char *dir, char *fname, char *ext );

En el ejemplo anterior obtendrías:
drive= "c:"
dir = "\path\subpath"
fname="app"
ext=".exe";

Esta función te permite realizar la tarea inversa
void _makepath( char *path, const char *drive, const char *dir, const char *fname, const char *ext );

    Pregunta:  18092 - CONFIGURACION IMPRESORA
Autor:  Mari Garcia
Hola,
He empezado a trabajar con Visual C hace poco, y mi problema es que tengo que modificar un programa ya hecho.

He de mantener la configuración de la impresora por defecto y hacer que el cuadro de dialogo que sale por pantalla a la hora de imprimir y en donde puedes seleccionar la impresora o otra caracteristica de ésta no salga. ¿Cómo puedo hacerlo? ¿Que coja los datos de la impresora sin que salga este cuadro por pantalla?

gracias.

Mari
  Respuesta:  Miguel Solorzano
Ese proceso es automatico.... salvo desees modificar esa opcion, el Win se encarga de todo.

    Pregunta:  18123 - LIBRERíAS DINáMICAS EN C BAJO UNIX
Autor:  javier torero
Quiero crear librerías dinámicas en C bajo Unix. Sé que se pueden generar librerías con el conmando ar.
  Respuesta:  Oscar Medina
Con el comando ar generas librerias estaticas que cuando linkeas quedan en tu ejecutable, para crear una dinamica usas el mismo linker que estes usando pero con la opcion -b, lee por las dudas el man por si necesitas otras cosas como ser el parametro -Z o -z.

|<  <<  33 34 35 36 37 38 39 40 41 42 43  >>  >|