Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - BlackZeroX

#1491
.
No estas respectando la sintasis de los comandos AT, Prueba con esto:

Alternativa al OCX.
Clase para los puertos Com hecha por Coco/Cocus.

Código (Vb) [Seleccionar]


Option Explicit

Private WithEvents obj_clscom           As clsCom

'
'   /////////////////////////////////////////////////////////////
'   // Autor:   BlackZeroX ( Ortega Avila Miguel Angel )       //
'   //                                                         //
'   // Web:     http://InfrAngeluX.Sytes.Net/                  //
'   //                                                         //
'   //    |-> Pueden Distribuir Este codigo siempre y cuando   //
'   // no se eliminen los creditos originales de este codigo   //
'   // No importando que sea modificado/editado o engrandecido //
'   // o achicado, si es en base a este codigo                 //
'   /////////////////////////////////////////////////////////////
'   // http://infrangelux.sytes.net/Blog/index.php?option=com_content&view=article&id=6:artwait&catid=2:catprocmanager&Itemid=8
'   /////////////////////////////////////////////////////////////

Private Declare Function WaitMessage Lib "user32" () As Long

Enum eTime
    Horas = 3600
    Minutos = 60
    Segundos = 1
End Enum

Public Sub Wait(ByVal vToWait&, Optional ByVal ThisWait As eTime = Segundos, Optional ByVal UseAllProc As Boolean = False)
Dim vDateE      As Date
    vDateE = DateAdd("s", vToWait& * (ThisWait + 0), Time)
    Do While vDateE > Time
        Call WaitMessage
        If Not UseAllProc Then DoEvents
    Loop
End Sub
Private Sub Form_Load()
    Set obj_clscom = New clsCom
    With obj_clscom
        .ComPort = 4
        .ComSettings = "57600,N,8,1"    ' 57600 bps, sin paridad, 8 bits de data, 1 bit de stop
        .TimerDelay = 1000              ' 1000ms = 1 Segundo para chequear si entro data
        .TimerEnabled = True
        If .InitCom Then
            Call .WriteCom("AT" & vbCr)
' wait()
            Call .WriteCom("AT+CMGF=1" & vbCr)
' wait()
            Call .WriteCom("AT+CMGS=" & Chr(34) & "0445526651140" & Chr(34) & vbCr) ' // Segun el protocolo lo que nos retorna es +CMGS: <Num. Identificador>
' wait()
            Call .WriteCom("Espero una jalada en mi cel, aun que ya no tengo credito xP" & Chr(26))    ' 26 = Ctrl+Z ( Segun el protocolo AT )
        End If
    End With
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Set obj_clscom = Nothing
End Sub

Private Sub obj_clscom_DataReceived(ByVal strData As String)
    Debug.Print strData
    If InStr(1, strData, "+CMGS:") > 0 Then
        If InStr(1, strData, "OK") > 0 Then
            Dim str_Ret()       As String
            str_Ret() = Split(Replace(Replace(strData, vbCr, ""), "OK", ""), " ")
            Call obj_clscom.WriteCom("AT+CMSS=" & Val(str_Ret(1)) & vbCr)
        End If
    End If
End Sub



Temibles Lunas!¡.
#1492
.
El compilador se llama Great Cow Basic y sirve para programar en los microchips.

* Es de codigo abierto.
* Free.
* Instalacion en Windows y Linux.
* Las variables tal y como son declaras, se ven reflejados en el codigo ASM final es decir no agrega nombres raros al codigo ASM final.

Manual es Español

http://gcbasic.sourceforge.net/index.html

Código (vb) [Seleccionar]


'Led parpadeante

#chip 16F628A, 20      'modelo de pic y velocidad de reloj: 20 Mhz

#define led PORTB.1

Main:
   TRISB=0
   PORTB=0

   led = 1
   wait 500 ms
   led = 0
   wait 500 ms

goto Main



Codigo ASM generado de manera limpia.

Código (asm) [Seleccionar]


;Program compiled by Great Cow BASIC (0.9 13/9/2008)
;Need help? See the GCBASIC forums at http://sourceforge.net/forum/?group_id=169286,
;check the documentation or email w_cholmondeley@users.sourceforge.net.

;********************************************************************************

;Set up the assembler options (Chip type, clock source, other bits and pieces)
LIST p=16F628A, r=DEC
#include
__CONFIG _HS_OSC & _WDT_OFF & _LVP_OFF & _MCLRE_OFF

;********************************************************************************

;Set aside memory locations for variables
DELAYTEMP    equ    32
DELAYTEMP2    equ    33
RANDOMSEED    equ    34
RANDOMSEED_H    equ    35
SysWaitTempMS    equ    36
SysWaitTempMS_H    equ    37

;********************************************************************************

;Jump to initialisation code when PIC is reset
   ORG    0
   call    INITSYS
   goto    SystemInitialise

;********************************************************************************

;Interrupt vector
   ORG    4
;Various initialisation routines, automatically called by GCBASIC
SystemInitialise

;********************************************************************************

;Start of the main program
MAIN
   banksel    TRISB
   clrf    TRISB
   banksel    PORTB
   clrf    PORTB
   bsf    PORTB,1
   movlw    244
   movwf    SysWaitTempMS
   movlw    1
   movwf    SysWaitTempMS_H
   call    Delay_MS
   bcf    PORTB,1
   movlw    244
   movwf    SysWaitTempMS
   movlw    1
   movwf    SysWaitTempMS_H
   call    Delay_MS
   goto    MAIN
BASPROGRAMEND
   sleep
   goto    $

;********************************************************************************
;Subroutines included in program
;********************************************************************************

Delay_MS
   incf    SysWaitTempMS_H, F
DMS_START
   movlw    10
   movwf    DELAYTEMP2
DMS_OUTER
   movlw    166
   movwf    DELAYTEMP
DMS_INNER
   decfsz    DELAYTEMP, F
   goto    DMS_INNER
   decfsz    DELAYTEMP2, F
   goto    DMS_OUTER
   decfsz    SysWaitTempMS, F
   goto    DMS_START
   decfsz    SysWaitTempMS_H, F
   goto    DMS_START
   return

;********************************************************************************

INITSYS
   movlw    7
   movwf    CMCON
   clrf    PORTA
   clrf    PORTB
   return

;********************************************************************************

END



Dulces Lunas!¡.
#1493
.
@SmogMX

Con Basic puedes manejar OpenGL, DirectX, Programar para Chips/MicroChips, Drivers, etc...

@79137913

Lo que hace ese codigo es que la variable pointer apunta al primer caracter de la constante s es como hacer esto, en vb6 el codigo es mas largo, pero en agun otro compilador de Basic como KBasic, ACE, GCBasic puedes hacer esto:

Me llamo la atención C/C++ para este tipo de cosas por ser mas rapidás aunque los compiladores de Basic actuales tambien ofrecen las ventajas de C/C++ y sinceramente al ver esto vb6 ya esta obsoleto ( Nunca pense decirlo ).



#include <stdio.h>

int main(int argc, char *argv[])
{
    char s[5] = "Text";     //  "Constante".
    char *pointer = &s[0];  //  Apuntamos al primer elemento de s.
    printf("%s",pointer);   //  Mostramos contenido.
    fflush(stdout);         //  Por si las moscas de que el buffer no se puestre.
    /*
    pointer[0] = T
    pointer[1] = e
    pointer[2] = x
    pointer[3] = t
    pointer[4] = /0 ( Byte = 0 , interpretado como fin de cadena ).
    */
    getchar();
    return 0;
}



mas omenos en vb6 seria algo asi:

Código (Vb) [Seleccionar]


Private Sub Form_Load()
Const s         As String = "Text" ' ten en cuenta que en vb6 cada letra esta separada por un byte nulo y 4 bytes antes del puntero al 1er elemento hay 4 bytes que indican la logitud de esta cadena (  bchar()  ).
Dim pointer     As Long
    pointer = StrPtr(s)
    ' Pointer pointer apunta a la letra T de la cadena s.
End Sub



Temibles Lunas!¡.
#1494
.
El evento Error de WinSock Jamas se debe invocar como lo hizo ignorante1.1. Para mi el problema esta en otro sitio ajeno al componente WinSock, pero hablar sin saber nada de este problema de manera concreta es como ver la Television (Sin sonido) siendo ciego y criticar sobre el programa en transmision actual.

Temibles Lunas!¡.
#1495
.
Debes escalar privilegios para el hilo/programa en Win7 en WinXp no es tan nesesario.

Dulces Lunas!¡.
#1496
.
¡Si es el error que pienso que es, entonces usa Delagados para escalar entre hilos y asi acceder a las referencias de los controles... ya que es un problema comun querer acceder de un proceso en un hilo a otro para acceder a un objeto X.!

Dulces Lunas!¡.
#1497
@ignorantev1.1

si la hay pero mejor quitar el webbroser gasta demasiada memoria para algo que deberia realizar de manera mas simple, aun asi esta bueno...

P.D.: Sigo sin revisar el Source Code asi que mi opinion es sobre la funcionalidad.

Dulces Lunas!¡.
#1498
Programación Visual Basic / Re: ByVal y ByRef
26 Febrero 2011, 23:04 PM
byval --> realisa una copia de lo que le pases
byref --> trabaja directamente sobre el original por ende lo que le hagas a la variable surtira efectos sobre la original que pasaste por parametro!¡.

Dulces Lunas!¡.
#1499
.
La funcionalidad me gusto, aun que no he visto el Source Code pero esta bien, por otro lado. si quieres Rock mas de 10000 bandas visita heavy-music tienen un ftp con todos los discos en 320kb's para bajar de forma gratuita desde el 1er disco hasta el ultimo grabado de bandas como:

( dejare la liga de Metallica solo para que te des un fijon rapido )

Dark Tranquility.
Megadeath.
Metallica ( 30 albumnes , 8 Videos ).
Slayer.
Tristania.
Scorpions.
Katatonia.
ToDieFor.

y cualquier banda del genero Rock y derivados

... pero esto, esta solo entre nos no le cuentes a nadie ;).

Dulces Lunas!¡.
#1500
.
Patetico es VER a alguien que se mete en una "conversacion" que le parece patetica al no tener nada mejor que hacer y al final salir espinada.

por otro lado y volviendo

@LeandroA

Cita de: BlackZeroX▓▓▒▒░░ en 19 Febrero 2011, 09:17 AM

* NO VALE LEER ARCHIVOS EXTERNOS de ninguna indole.


Dulces Lunas!¡.