• Viernes 8 de Noviembre de 2024, 13:45

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - salomon_ve

Páginas: [1]
1
C++ Builder / Re: C++ Builder (linux)
« en: Martes 17 de Octubre de 2006, 04:24 »
Ni modo man usa WINDOWS  :lol:

Sencillamente Superior ;)

2
C++ Builder / Re: Leer El Puerto Serie
« en: Lunes 16 de Octubre de 2006, 08:57 »
el numero 25 se representa de la siguiente manera en codigo Ascii

50=2

53=5

osea que en binario seria:


0011 0010 =2 ascii ->32 hex  -> 50 dec
0011 0101 =5 ascii  ->35 hex  -> 53 dec


0010 0101 = % que en HEX es igual a 25 osea que no estas enviando 25 decimal, sino 37 decimal y 25 hexadecimal



espero haberte ayudado, ya el problema esta mas facil de solucionar


salu2

3
C++ Builder / Re: Algun Equivalente De La Funcion Chr() De Vb
« en: Lunes 16 de Octubre de 2006, 08:39 »
Muchas gracias, tu solucion es efectiva ;)

habia resuelto hacerlo de esta manera:


usaba el editor hexworkshop y llenaba el buffer con los bytes que queria enviar y lo guardaba como un txt en este caso "Untitled.txt" luego lo abria con fstream y llenaba un vector de tipo caracter con cada letra del archivo....


            fstream archivo;
             int k=0;
                 archivo.open("Untitled.txt",ios::in);

                 if(!archivo)
                 {

                 MessageBox(NULL,"Archivo Fallo","Info",0);
                 }else
                 {
                   //MessageBox(NULL,"Archivo Abrio","Info",0);

              while(!archivo.eof())
              {
                    envio[k]=archivo.get();  //aca le paso cada letra al vector uno a uno
                    k++;
              }

              }



      bool estado=GetCommState(hCom, &dcb) ;  //true = abierto, False = cerrado

      if(!estado)
      {
           Label1->Caption="Puerto Cerrado";
      }
      else
      {


           WriteFile(hCom,&envio,k-1,&bytes,NULL); //donde k-1 es el total de bytes que quiero enviar, y como &envio apunta a la direccion de mi primer caracter, el envia todos los k-1 bytes

      }



muchas gracias, estoy acostumbrandome a C++Builder, ya llevo 4 dias y creo q voy bien, ahora tengo otro problemita por resolver :s pero intentare resolverlo primero antes de preguntar, muchas Gracias.



Graciassssssssss



salu2

4
C++ Builder / Re: Algun Equivalente De La Funcion Chr() De Vb
« en: Lunes 16 de Octubre de 2006, 06:22 »
[C++ Warning] programa.cpp(11): W8017 Redefinition of 'NULL' is not identical


no sirve :P, ademas eso de "Sumar" cadenas en C++Builder no es como "sumar" cadenas en VB, hay que usar strcat, pero el problema esta en que las cadenas no me permiten el uso del caracter nulo intercalado.


alguien que me eche una mano con manejo de archivos en binario??




o alguna otra idea?


salu2

5
C++ Builder / Re: Algun Equivalente De La Funcion Chr() De Vb
« en: Lunes 16 de Octubre de 2006, 05:48 »
Bueno les explico: lo que quiero es enviar por puerto serial esto:


A + B + C + NULL + C + B + A + NULL

en ascii seria algo asi (tomese cada espacio como separador de cada byte)


65 66 67 00 67 66 65 00

osea el 00 que esta en negrita necesito enviarlo intercalado tal cual y como esta...

parte del codigo, ya el puerto COM1 esta abierto y estoy usando WriteFile para el envio de Datos..


     unsigned long bytes;  //variable que contendra el numero de bytes enviados
            char *envio="ABC";  //aca es donde quiero intecalar NULL algo como *envio="ABC" + NULL + "CBA";


      bool estado=GetCommState(hCom, &dcb) ;  //true = abierto, False = cerrado

      if(!estado)
      {
           Label1->Caption="Puerto Cerrado";
      }
      else
      {

           WriteFile(hCom,envio,strlen(envio),&bytes,NULL);
           
      }

en la salida por el puerto hay esto:

#65#66#67   (visto con el espia de puerto serial ASDL (advanced serial data logger) en modo decimal)

pero no logro enviar caracter nulo, creo haber oido que debo trabajar en binario, pero no tengo idea de como hacerlo...



PD:  la funcion  chr()  en c++ no la toma, debo incluir alguna libreria??


salu2

6
C++ Builder / Re: Algun Equivalente De La Funcion Chr() De Vb
« en: Domingo 15 de Octubre de 2006, 03:07 »
Creo que te acercaste bastante

si coloco:


 dato=(char)65;

     Label1->Caption=dato;

en el label me aparece   "A"


pero si coloco:

 dato=(char)65 + (char)66;

     Label1->Caption=dato;

en el label me aparece 130  :( , pareciera que los suma, alli mas bien me haria falta concatenar pero requiere mucho codigo, ya mas o menos con tu ayuda lo consegui... solo que ahora el caracter NULL no logro introducirlo!!

tendre que trabajar en Binario :S

7
C++ Builder / Re: Algun Equivalente De La Funcion Chr() De Vb
« en: Sábado 14 de Octubre de 2006, 23:52 »
Hola primero que nada Gracias por tu respuesta pero no es lo que estoy buscando


lo que necesito es convertir de numeracion ascii al caracter correspondiente, no convertir 65 de tipo entero a "65" de tipo caracter... lo que busco es convertir el 65 entero a la "A" correspondiente...


por ejemplo:

Label1->Caption= Funcion(65) + Funcion(66)


entonces :


Label1->Caption= "AB"

Donde "Funcion" es la funcion que necesito encontrar en sustitucion de Chr() de VB



salu2

8
C++ Builder / Algun Equivalente De La Funcion Chr() De Vb
« en: Sábado 14 de Octubre de 2006, 07:08 »
en visual basic con la funcion Chr(65) se retorna un caracter segun sea su codigo ascii, siempre lo usaba para programas que se comunican por el puerto serial con algun dispositivo, ahora estoy trabajando con C++Builder 6.0 y todo es muy bien pero no encuentro la manera de hacer lo mismo que hacia en VB


por ejemplo:

VB:

   Dato = Chr(65) + Chr(66) + Chr(67)

entonces Dato= "ABC"


pero en C++Builder solo puedo hacer algo asi:

AnsiString Dato;
Dato=65;

entonces Dato= "A" ... no puedo hacer igual qe en VB

.... no puedo concatenar de la misma manera que con VB para enviar varios caracteres en una misma linea...

alguna idea??


he leido la ayuda en busca de una respuesta pero no encuetro nada util para ese problemita



salu2

Páginas: [1]