Se han encontrado 2654 coincidencias. | << >> |
C/Visual C |
Pregunta: | 45063 - 驴C贸MO ABRIR UN ARCHIVO EN UNA RUTA CON ESPACIOS? |
Autor: | fasto g |
Hola,
estoy usando el Visual C++ 6.0 y en una de las funciones, me necesita abrir un archivo (en realidad lo crea porque antes no existe) y utiliza la funci贸n: fopen("..\\dat\\archivo.html","w"); es una ruta din谩mica porque necesito poder copiarlo donde sea el programa y que funcione, claro pero en los dos puntitos hay una ruta con espacios "c:\Documents and Settings" y me responde el programa diciendo que no se puede encontrar la ruta "c:\Documents"; 驴C贸mo puedo evitar ese problema sin cambiar de ruta? 驴Existe alguna funci贸n? 驴alguna sugerencia? Muchas gracias |
Respuesta: | cracksant dk |
simplemente averiguate la forma de obtener nombres cortos
de directorios.. en el caso de documents and setting es:DOCUME~1 QUE SEA DE PROVECHO...! |
Respuesta: | fasto g |
Eso s铆 lo sab铆a. El problema es que, por lo visto, en Visual C++ (supongo que en c tambi茅n) no me deja poner una ruta que contenga espacios, como "c:\documents and settings". Al final, he cambiado de ruta y punto pero ya es m谩s curiosidad cient铆fica y cabezoner铆a.
El ejecutable est谩 en una carpeta "bin" y el archivo html en otra distinta, y necesito que sea as铆. Por eso le pongo ..\\dat\\archivo.html: necesito que salga de la carpeta "bin" y entre en la carpeta "dat". La soluci贸n ser铆a, creo, "enga帽ar" a c de alguna forma para poder poner esa ruta. Hab铆a pensado que quiz谩s haya alguna manera de coger la ruta de ms-dos, que no hay problema, y actuar a partir de ella pero no s茅 si eso es factible. 驴Alguna otra sugerencia? Muchas gracias de todas formas! |
Respuesta: | Yadisnel |
Hola, creo que lo que le sucede a tu aplicaci贸n es que pierde la ruta pues si lo que quieres es que se ejecute en cualquier parte que lo copies debe hacer lo siguiente:
en ves de: fopen("..\\dat\\archivo.html","w"); pon: fopen(".\\archivo.html","w"); esto hace que busque el fichero donde tienes el ejectable de la aplicaci贸n. Si tienes el ejecutable en una carpeta de esta forma: carpeta de la aplicaci贸n\ carpeta de datos y en lacarpeta de la aplicaci贸n tienes el ejecutable debes poner: fopen(".\\carpeta de datos\\archivo.html","w"); esto hace que a partir de donde est谩 el ejecutable busque carpeta del archivo.html(carpeta de datos) y lo lea. en esencia " .\\" busca a partir del ejecutable. Dime si te funciona o que error te pueda dar. Salu2s ...Yadisnel. |
Pregunta: | 45112 - NECESITO RESPALDAR UNA BD DESDE C++ BUILDER |
Autor: | Josue Murillo |
hola espero y me ayuden, estoy utilizando microsoft sql server 2000 y borland c++ builder 6 en visual, necesoto hacer respaldos desde mi programa en c++ a un dispositivo que no sea el hdd. gracias |
Respuesta: | Alberto Martinez |
Hola Josue,
MSSQL Server es una plataforma muy solida, pero como todos los productos de esta marca, siempre tienen un pero, y una dependencia uno de los otros. En fin, antes de darte la solucion, te recomiendo que migres a MySQL que es mucho mejor, sobre todo si programas con C++ Builder. Existe una aplicacion, que puedes descargar en la pagina oficial de forma gratuita, que se llama "SQL Server Database Publishing Wizard" que te ayudara a generar los scripts que necesitas y guardarlos en archivos. Suerte. |
Pregunta: | 46038 - COMO SUMAR UN MES A UNA FECHA |
Autor: | daniel trejo |
tengo que hacer un programa en visual c++ que genere flujos de tasas y para eso necesito que sume un periodo de tiempo determinado a una fecha, por ejemplo 3 meses, trat茅 de ver si las funciones de ctime o ctimespan me podrian ayudar pero lo maximo que llegan es a dias, y no es lo mismo sumarle a una fecha 30 dias que 1 mes. por lo tanto debo de programar mi propia clase o ya existe una clase que lo haga (por ejemplo la funcion dateadd() de visual basic)? de antemano muchas gracias |
Respuesta: | H茅ctor Murcia |
/* date.h */ #include <cstdlib> class Date { int dia, mes, anio; public: Date() {}; Date(int, int, int); Date add_to_date(Date, char, int); void print(); }; /* Un a帽o es bisiesto si es divisible entre 4, a menos que sea divisible entre 100. Sin embargo, si un a帽o es divisible entre 100 y adem谩s es divisible entre 400, tambi茅n resulta bisiesto. Obviamente, esto elimina los a帽os finiseculares (煤ltimos de cada siglo, que ha de terminar en 00) cuyo siglo no es m煤ltiplo de 4. */ int bisiesto(int year) { return year % 4 == 0 && year % 100 != 0 || year % 400 == 0; // return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); } Date::Date(int d, int m, int y) { dia = d; mes = m; anio = y; } Date Date::add_to_date(Date date, char um, int hm) { int dias[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; Date dr = date; switch(tolower(um)) { case 'y': dr.anio += hm; break; case 'm': dr.mes += hm; dr.anio += dr.mes / 12; dr.mes = dr.mes % 12; break; case 'd': dr.dia += hm; break; default: dr.dia += hm; } dias[1] = (bisiesto(dr.anio) ? 29 : 28); // Febrero tiene 29 dias cuando a帽o es bisiesto. while (dr.dia > dias[dr.mes - 1]) { std::cout << '+'; dr.dia -= dias[dr.mes - 1]; dr.mes++; if (dr.mes > 12) { dr.mes = 1; dr.anio++; dias[1] = (bisiesto(dr.anio) ? 29 : 28); // Febrero tiene 29 dias cuando a帽o es bisiesto. } } if (abs(dr.mes) > 12) { dr.anio += dr.mes / 12; dr.mes = dr.mes % 12; } return dr; } void Date::print() { std::cout << dia << '/' << mes << '/' << anio; } /* D E M O */ #include <iostream> #include "date.h" using namespace std; int main() { Date myb(28, 3, 1962), today; today = myb.add_to_date(myb, 'd', 366); today.print(); } |
Pregunta: | 46212 - PASANDO CHAR* A UNA FUNCI贸N VISUAL BASIC |
Autor: | Jes煤s Trujillo G贸mez |
Hola a todos. Mi duda no deber铆a de ser demasiado dif铆cil, pero es que estoy un poco desesperado jejeje.
Tengo una dll externa hecha en visual basic, con una funci贸n definida como: void create_net ( char *sFicheroPatrones, int iNumPatterns, char* sFichDisplay) Llamando funciones desde builder c++ de esta dll me doy cuenta que todas aquellas a las que les paso una cadena de texto \"hola.txt\" o BSTR(\"hola.txt\") me da errores. Alguien sabe como quiere Visual basic que le pase la cadena char* que hace menci贸n al fichero de patrones??Saludos y gracias por adelantado!!! |
Respuesta: | Fernando G贸mez |
VB no sabe nada de char*'s. VB entiende solo las cadenas de tipo BSTR. Pero un BSTR no lo creas as铆 como quieres. Tienes que emplear las funciones del API SysAllocString y SysFreeString para asignar y desasignar una cadena. Puedes emplear la clase _b_str para facilitarte la labor.
Saludos. |
Pregunta: | 47155 - EJECUTABLE CON PAR谩METROS |
Autor: | Glos Hern谩ndez |
Hola:
Tengo un problema, necesito correr un ejecutable dentro de un proyecto en visual C++, lo hice con la funci贸n WinExec, ahora necesito mandarle ciertos par谩metros, pero no tengo ni idea de c贸mo hacerlo. Es decir quiero usar al ejecutable como si fuera una funci贸n. Se puede hacer? Alguien podr铆a ayudarme? Les agradezco mucho |
Respuesta: | Eider Mauricio Aristizabal Erazo |
puedes invocar el programa con los parametros seguidos y separados por espacios pej.
system(c:\miprograma.exe parm1 parm2 parmx); la otra forma seria investigar y crear una dll. |
Pregunta: | 47768 - PASO DE PAR谩METROS PARA UNA APLICACI贸N VISUAL MFC |
Autor: | Cristina C. Aguado |
Hola a todos, estoy intentando hacer una aplicaci贸n en Visual C++ 6.0, utilizando las librerias de MFC. He conseguido hacer bastantes cosas pero no se como pasarle par谩metros de entrada a la aplicaci贸n por ejemplo el nombre de un fichero. 驴Alguien sabe como se hace? Muchas gracias. |
Respuesta: | Andr茅s D铆ez |
En la funci贸n :
BOOL CVideoApp::InitInstance() { LPTSTR linea = theApp.m_lpCmdLine; CString slinea(linea) AfxMessageBox(slinea); } En parametros tendras los parametros enviados por linea de comandos. Por ejemplo, si haces C:>aplicacion.exe parametro1, tendras parametro1 en la variable linea o parametros |
Respuesta: | Paul Manjarres |
Hola,
no estoy muy seguro sobre lo que necesitas. Si te refieres a pasarle parametros al programa cuando se inicie, creo que no es posible. Si te refieres a la captura de datos por teclado, puedes utilizar los controles "Edit Box", luego utilizas el class wizard para asignarle una variable. Para obtener los datos que sean introducidos en el edit box, simplemente debes manejar un evento que indique que quieres pasar los datos al programa (por ejemplo un boton). En el codigo del evento utilizas la funcion this->UpdateData(TRUE) cuando quieras pasar la informacion del edit box a la variable, y utilizas FALSE en vez de TRUE (aunque no estoy muy seguro el orden) cuando quieras pasar informacion de la variable al Edit box. Es una forma de comunicacion en dos vias!. Espero haber ayudado. Att Paul Manjarres Colombia |
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: | 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: | 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. |
Pregunta: | 51293 - TENIENDO EL NOMBRE DE UN HOST, COMO OBTENGO SU IP |
Autor: | Jose Ramon Perez Rubio |
Hola,
quiero hacer un programa en Visual C++, que lea el nombre de un host y a partir de ahi que saque su direccion IP. Muchas gracias |
Respuesta: | Jose Ramon Perez Rubio |
Ya he encontrado la respuesta, se har铆a as铆:
char* getIPbyHostName (char * hostName) { char * hostIP; struct hostent *hostInfo; //Se optiene la informaci贸n del host hostInfo = gethostbyname(hostName); hostIP = inet_ntoa(*((struct in_addr *)hostInfo->h_addr)); return hostIP; } |
|< << 26 27 28 29 30 31 32 33 34 35 36 >> >| |