PREGUNTAS CONTESTADAS - C/Visual C

 Hay un total de 745 Preguntas.<<  >> 

    Pregunta:  4042 - VARIABLES TIPO VARIANT. COMO CONVERTIR A STRING?
Autor:  Nuria Dieguez Navarra
Alguien de vosotros sabe como acceder al contenido de una variable tipo VARIANT?
Tengo una variable de este tipo, con datos dentro y no se como acceder a su contenido para poder compararlo con otro valor. El contenido de la Variant es un array de caracteres y necesito acceder a uno de los caracteres para compararlo con otro caracter.
Hay alguna forma de convertir una Variant a formato String o CString?
  Respuesta:  Giancarlo Molina
_variant_t vtFlt,
CString strValue;
vtFld.ChangeType(VT_BSTR);
strValue = vtFld.bstrVal;
  Respuesta:  nuria dieguez navarra
Yo misma he encontrado la respuesta, por si a alguien le puede interesar.
ejemplo:

CString str;
Variant valor;
// hay diversas formas de llenar la variable Variant valor, pero no es el objectivo
// de la pregunta.

str = valor.bstrVal //es un campo de la variable tipo Variant.

// De esta forma, el contenido de la variant (si es un string de caracteres) se copia en
// el CString str.

    Pregunta:  4049 - PROBLEMAS CON C
Autor:  Emilia Mireles M
Saludos desde México, mi pregunta es la siguiente: qué función puedo utilizar para verificar que un archivo ya exista. Muchas gracias por su ayuda.
  Respuesta:  javi_v
Prueba con 'access' o '_access' según compilador

if (access("PEP.TXT",00))
printf ("No Existe pepe.txt");
else
printf ("Existe");
  Respuesta:  manolo martin
bueno no creo que exista una funcion predefinida para ello, asi que la tendras que crear tu mismo
pero no te preocupes no te sera dificil: (CODIGO)
FILE *fic;
fic=fopen ("pepe.txt","r");
if (fic==NULL)
printf ("No Existe pepe.txt");
else
printf ("Existe");

Bueno lo he expresado de la manera mas facil posible intenta practicar y intenta por ejemplo que dicha funcion devuelva un valor dependiendo de si existe o no el archivo en cuestion que en este caso es pepe.txt....Si te sirve para sacarte de dudas genial!!!! si tienes algun problema me mandas un e-mail y si no tambien y me cuentas algunas dudas mas.

    Pregunta:  4056 - USO DEL GETCH() EN C++
Autor:  Enrique Ramírez Santiago
Deseo que me indiquen porque en la versión de C++ 5.02 de Borland, al hacer un programa que lea un caracter o una cadena , se ejecuta un enter automáticamente:

Por ejemplo:
// Solicito pulsar una letra A,B,C,S
cOpc=getch();
switch(cOpc)
{
case ´A´: cout << "Clave.."
cin >> iClave
.
.
.
}

Ya en ejecución:
Cuando entra el programa al case del switch(), entonces en la línea que pido la clave, aparece la letra A automáticamente. Yo no deseo que aparezca esa A, si lo que voy a capturar es un dato de tipo entero. Tengo que borrar esa letra A,
y eso no es correcto en captura.

Esta operación la hace bién el C++ ver. 3.0
  Respuesta:  Daniel Azkona Coya
Hola,

Prueba a usar la función getche() en vez de getch().
Por definición getch muestar el caracter recogido por pantalla, pero getche no.

    Pregunta:  4058 - DLL EN TURBO C O C++
Autor:  Leonardo Diego Zulli
Me gustaría que alguien me envíe un código de ejemplo o explicarme como puedo generar una DLL que contenga funciones en Turbo C para DOS.
  Respuesta:  Fabián Andrés Sierra Carvajal
No se puede. Las DLLs son características de Windows, y no trabajan en modo DOS.
Sí puedes crear una biblioteca de enlace estático (.lib). Para eso, haz un programa que no tenga main (es decir, cólo funciones) , compílalo (genera código objeto, con alt+F9) y luego usa la utilidad de construción de librerías incorporada a TurboC.
¡Suerte!

    Pregunta:  4086 - ¿COMO OBTENGO LA DIRECCIÓN MAC DE UN PC?
Autor:  Yavir Robles Ortiz
Hola, Quiero desarrollar un programa para unas validaciones en una red, pero necesito que este obtenga la dirección MAC de la PC en la que se encuentre (Dirección única de la tarjeta de red), sé que existe una función que hace eso o una interrupción, Como puedo hacer eso? Gracias.
  Respuesta:  Víctor Espino
Depende de la plataforma que estés usando para programar, si estas basado en una plataforma que funcione en base a una maquina vitral como Java habrá que usar funciones nativas para info del hardware, por favor dime que plataforma estas usando para enviarte el código
  Respuesta:  Jose Angel Cañas Martinez
En VC++ existe la funcion Netbios() para obtener datos de la configuracion de red del equipo. Para obtener la direccion MAC, el comando es NCBASTAT y la direccion la devuelve en adapter_address
  Respuesta:  Fabián Andrés Sierra arvajal
Mediante un truco.
Llama a la función system para que el sistema operativo la obtenga, así:

system("nbtstat -A direccion_ip_del_equipo >temporal");
Ahora tienes n archivo, llamado temporal, donde, entre otras cosas,
está la dirección MAC del equipo. Es cosa de que la saques de ahí.
¡Suerte!

    Pregunta:  4088 - LIBRERIAS DE C EN VC Y COMO EJECUTO UNA ESTRUCTURA DE C EN V
Autor:  jose perez eliosa
Que librerias de C no son ejecutables en Visual C y como ejecuto una estructura de C en Visual C
  Respuesta:  MAEP
ESPERO HABER ENTENDIDO BIEN TU PREGUNTA.

1ro. LAS LIBRERIAS DE C (C++) TAMBIEN SE PUEDEN EJECUTAR EN VC++, SOLO QUE C++ ES UN LENGUAJE ORIENTADO A OBJETOS, Y V++ ES UN LENGUAJE ORIENTADO A EVENTOS, ES DECIR, TODO LO QUE TU HAGAS EN VC++ TIENE QUE SER CON CLASES Y OBJETOS, NO COMO EN C++.

SI QUIERES EJECUTAR UN PROGRAMA DE C++ TIENES QUE CAMBIAR SU ESTRUCTURA A UNA DE TIPO CLASE PARA QUE EL VC++ LO COMPILE Y EJECUTE, PERO NO TE LO RECOMIENDO..

    Pregunta:  4089 - PUERTO PARALELO
Autor:  Nancy Patricia Espinel Pérez
Estoy trabajando con Borland C++ versión 3.1 para windows, quiero comparar un apuntador tipo far con un valor xxx; en este apuntador estoy capturando la dirección del puerto disponible en el PC. Al momento de compilarlo no genera ningún error pero al ejecutarlo genera el error por volcado de pila.

Nota: El programa funciona perfectamente bajo Borland C++ 3.1 para DOS.

Gracias por su colaboración
  Respuesta:  MAEP
Espero haber entendido bien tu pregunta, ya verificaste el tamaño que le da el Bc++ al Segmento de Pila, tal vez no es la suficiente para tu programa, intenta cambiarla..

    Pregunta:  4106 - COMO SALIR DE UN SCANF PRESIONANDO UNA TECLA (POR EJ ESC)
Autor:  Horacio Filippi
Quisiera saber como hacer para salir de un scanf en cualquier momento presionando la tecla ESC en Borland C (DOS). Desde ya muchas gracias.
  Respuesta:  Armando Nava
Es un poquito complicado pero se puede hacer, lo que yo hago es crear una funcion que lea un caracter a la vez por medio de

char t, datos[80];
t= inport(0x60); //Lee una tecla valor numerico
//para ESC t=1

Asi entonces

int i=0;
while( ((t=inport(0x60))!=1) ){
//Por ejemplo leer una cadena
datos[i]=getch();
i++;
}

Lo malo de este metodo (inport(0x60))es que lees el valor todas las teclas, y no ejecutas su funcion.
Tengo un programa ya hecho, si te interesa escribeme a [email protected]

Hasta luego
  Respuesta:  Ricarditopicaron
¿Por qué no te haces una función scanf() para vos con getch() -> conio.h?
getch() no espera al enter, una vez que la tecla es apretada vuelve la atención de la computadora a tu programa. Para las teclas de función recivís dos carácteres el 0 y haciendo otro getch() el caracter ´tecla función´
ej:
int getcadena(char cadena[]){
int cont, halloesc, halloenter;
for(cont=0; ; ++cont){
if(0==(cadena[cont]=getch())){
if(´ch enter´==(cadena[cont]=getch()))
return ++cont;
else if (´ch esc´==cadena[cont])
return -1;
--cont;
}
}
hacer un programa y averiguar ´ch enter´ y ´ch esc´
  Respuesta:  Manuel Ramirez
No estoy seguro, pero una opción de cancelar o salirse de la corrida de un programa antes de su total ejecución es presionando las teclas
Ctrl+Break o un teclado en español Ctrl+Pausa.
Espero que esta sea la solucion a tu requerimiento
de lo contrario disculpame que de todas maneras voy a investigar para asegurarme.

    Pregunta:  4130 - LECTURA DE SECTORES ABSOLUTOS DE DISCO EN VISULA C++ 6
Autor:  VICTOR MANUEL MEDINA MENESES
¿Como puedo leer un bloque de disco en Visual C++ 6? Algo como lo siguiente:
#include <stdio.h>

void main( void )
{
int nsec;
int bxs;
int cabezas;
int tracks;
int secxtrack;
int secxcabeza;
char buffer[512];

__asm
{
mov ah, 02
mov al, 01
mov ch, 00
mov cl, 01
mov dh, 00
mov dl, 00
mov bx, OFFSET buffer
mov es, SEG buffer
int 13h
}
secxtrack=(buffer[24]&0xff)+(buffer[25]&0xff)*256;
cabezas=(buffer[26]&0xff)+(buffer[27]&0xff)*256;
nsec=(buffer[19]&0xff)+(buffer[20]&0xff)*256;
bxs=(buffer[11]&0xff)+(buffer[12]&0xff)*256;
tracks=nsec/cabezas/secxtrack;
secxcabeza=nsec/cabezas;
printf("\nSectores: %d",nsec);
printf("\nBytes por sector: %d",bxs);
printf("\nCabezas: %d",cabezas);
printf ("\ntracks: %d",tracks);
printf("\nSectores por track: %d\n",secxtrack);

}
  Respuesta:  Melchor Viso
Desgraciadamente, el manejo de las rutinas de la BIOS (int13, etc)
ya no pueden utilizarse en Windows (a menos que uno quierra seguir utilizando la lenta emulación MSDOS, mediante un compilador antiguo)
La respuesta es larga, pero existe solución. Se debe utilizar la funcion OpenFile, para abrir el dispositivo físico (¡Esta funcion es diferente en Windows 9x y en NT!). Recomiendo consultar esta funcion en la MSDN.

    Pregunta:  4134 - ¿COMO LEO EN VC UNA DLL GENERADA EN VB?
Autor:  Yavir Robles
Hola, hice una DLL con Visual Basic 6.0 y ya la probé en ese mismo lenguaje y si funciona, pero quiero hacer un programa en Visual C 6.0 que la lea, ya la agregué en Priyect/Settings y use el comando "extern" para declararla pero no la reconoce, ¿Como puedo hacer esto?. Gracias
  Respuesta:  Fabián Andrés Sierra arvajal
No necesitas agregarla al proyecto ni usar extern. Existen dos maneras de hacerlo: cargarla en forma dinámica usando LoadLibrary y GetProcAddress
(lo que requiere manejar punteros a función, pero por lo demás es muy sencillo)
o cargarla mediante un archivo de definición donde diga:
IMPORTS
nombre_funcion=NOMBRE_DLL.nombre_funcion

Y debería bastar. Te recomiendo la carga dinámica.

|<  <<  14 15 16 17 18 19 20 21 22 23 24  >>  >|