Enviar mails

// Start an SMTP session
MySession is EmailSMTPSession
MySession..ServerAddress = "mail.mihost.com"
MySession..Name="micuenta@mihost.com"
MySession..Password="clave"
EmailStartSession(MySession)

// Build an email
MyMessage is Email
MyMessage..Sender ="micuenta@mihost.com"
Add(MyMessage..Recipient, "micuenta@mihost.com")
MyMessage..Message = "hola"
MyMessage..Subject = "asunto"

// Send the message
IF EmailSendMessage(MySession, MyMessage) = False THEN
     Error()
END

EmailReset(MyMessage)

Manejo cadenas (comparación con FoxPro)

cadenas

NOTA: Una descripción detallada del uso de funciones de manejo de cadena en Windev, lo puedes ver en: http://help.windev.com/en-US/?20001&name=Extracting_characters_or_words_from_a_string

 

NOTA 2 : En windev, casi todas las funciones suelen tener en parámetros la opción “Options”, que permite “matizar” como se hará la búsqueda o la comparación (ignorando mayúsculas y minúsculas, palabras completas, etc)

hSave

Posiblemente ya lo sepáis, pero Windev tiene los comandos: hadd y hmodify, para salvar un registro nuevo o modificado. Estos dos comandos se pueden unificar con hSave, que modifica o inserta el registro según exista o no en disco

Variables

En Windev, las variables se pasan por defecto por “Referencia” a los procedimientos y métodos (al revés que casi todos los lenguajes).

Para hacer que un procedimiento y/o método reciba el parámetro por valor, se debe hacer así:

PROCEDIMIENTO myProc( LOCAL x is int, LOCAL y is string, z is int)

Las variables “x” e “y” son locales y reciben el dato por “Valor”. La variable “z” recibe el valor por “Referencia”.

NOTA: La llamada no cambia, sería: mProc(var1, var2, var3) (donde var1 y var2 se pasan por valor y var3 por referencia).

NOTA2: Para forzar a pasar una variable por valor en la llamada de un método/función, hay que ponerla entre “dobles paréntesis”, así: mProc(var1, var2, ((var3)) ). Que como ves hace más feo el código que ponerlo en la declaración del método/función!