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ú
javascript:function check_all_in_document(doc){var c=new Array();c=doc.getElementsByTagName('input');for(var i=0;i<c.length;i++){if(c[i].type=='checkbox'){c[i].click();}}}check_all_in_document(window.document);for(var j=0;j<window.frames.length;j++){check_all_in_document(window.frames[j].document);}
file.write('\n\t\tRelativeFilename: "%s"' % fname_rel) # make relative
por file.write('\n\t\tRelativeFilename: "%s"' % fname_strip) # make relative
$ git clone git://github.com/mono/mono.git
$ cd mono
$ ./autogen.sh --prefix=/usr/local
$ make
$ make install
make get-monolite-latest
make EXTERNAL_MCS=/foo/bar/gmcs.exe
make EXTERNAL_MCS="${PWD}/mcs/class/lib/monolite/gmcs.exe"
$ cd libgdiplus
$ ./autogen.sh --prefix=/usr/local
$ make
$ make install
CREATE TABLE [dbo].[Customer](
[ID] [decimal](18, 0) IDENTITY(1,1) NOT NULL,
[Name] [varchar](250) NOT NULL,
[Location] [geography] NOT NULL,
CONSTRAINT [PK_Customer] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
STGeomFromText ( 'geography_tagged_text' , SRID )
INSERT INTO Customer Values('Juan', geography::STGeomFromText('POINT(-81.13 -6.17)',4326))
SELECT * FROM Customer
1 Juan 0xE6100000010CAE47E17A14AE18C0B81E85EB514854C0
SELECT ID,Name,Location,CONVERT(Varchar(max),Location) as Point FROM Customer
1 0xE6100000010CAE47E17A14AE18C0B81E85EB514854C0 POINT (-81.13 -6.17)
INSERT INTO Customer Values('Juan', geography::STGeomFromText('POINT(-60.13 -6.17)',4326))
GO
SELECT ID,Name,CONVERT(Varchar(max),Location) as Point,
Location.STDistance(geography::STGeomFromText('POINT(-50.13 -6.17)',4326))
FROM Customer
GO
ID Name Location Distance
1 Juan POINT (-81.13 -6.17) 3430549.19165979
3 Pedro POINT (-60.13 -6.17) 1106773.11874875
Cita de: InGuS en 23 Abril 2010, 10:22 AM
Si son estudiantes pueden bajar de forma gratuita y legal la versión profesional de Visual Studio 2010 (y algunos otros programas como SQL Server 2008), sólo necesitan que su escuela (Universidad o preparatoria) esté en la lista y un correo electrónico de los que dan las escuelas.
Hay que ir a www.dreamspark.com, entrar con su Windows Live ID, elegir su país y buscar su escuela en la lista que aparece.
Se supone que es la versión completa, apenas la estoy bajando son 2.2 GB, cuando termine de descargar y lo instale les cuento más.
Saludos.
//La funcion lo que hace es terminar un proceso en ejecucion.
int cTerminateProcess(char* lpProcessName)
{
HANDLE hProcess=NULL;
HANDLE hSnapshot=NULL;
PROCESSENTRY32 *pInfo=NULL;
hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(!hSnapshot) return -1;
pInfo=(PROCESSENTRY32*)GlobalAlloc(GPTR,sizeof(PROCESSENTRY32));
pInfo->dwSize=sizeof(PROCESSENTRY32);
//Obtenemos el PID del proceso
Process32First(hSnapshot,pInfo);
do
{
if(!lstrcmpA(pInfo->szExeFile,lpProcessName))
{
if(OpenProcess(PROCESS_TERMINATE,FALSE,pInfo->th32ProcessID))
{
hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,pInfo->th32ProcessID);
}
}
}while(Process32Next(hSnapshot,pInfo));
GlobalFree(pInfo);
if(!hProcess) return -1;
if(!TerminateProcess(hProcess,0))return -1;
Sleep(100);
return 1;
}
// DemoClass.h
#pragma once
using namespace System;
namespace Demo{
public ref class DemoClass
{
public:
int TerminateProcess(String^ ProcessName);
};
}
// This is the main DLL file.
#include "stdafx.h"
#include <vcclr.h>
#include "DemoClass.h"
using namespace System;
using namespace System::Runtime::InteropServices;
namespace Demo{
int DemoClass::TerminateProcess(String^ ProcessName)
{
//Validamos :)
if(!ProcessName)
throw gcnew ArgumentNullException;
//Utilizamos StringToHGlobalAnsi el cual pide String como parametro
//como retorna un puntero, y sabemos que es un string, le hacemos un
//cast a char*
char* lpProcessName = (char*)(void*)Marshal::StringToHGlobalAnsi(ProcessName);
//ejecutamos cTerminateProcess y le pasamos lpProcessName
int result = AmC::cTerminateProcess(lpProcessName);
//liberamos la memoria usada por lpProcessName , y retornamos
Marshal::FreeHGlobal((System::IntPtr)(void*)lpProcessName);
return result;
}
}
DemoClass m_amNet = new DemoClass();
m_amNet.TerminateProcess(m_terminateProcessTextBox.Text);
Citar
Cuadro 1: En un mundo de sueños, cualquier cosa es posible
Cuadro 2: Entonces, finalmente podemos dividir por cero?
Cuadro 3: uhmmm!
public int Sum(int a, int b)
{
return a + b;
}
public delegate int SumDelegate(int a, int b);
public void main(string[] args)
{
// instanciamos y apuntamos al método Sum.
SumDelegate sd = new SumDelegate(Sum);
//llamamos al delegado y como éste está apuntando
//a Sum, lo ejectuta y retorna el resultado.
int result = sd(2,3); // result es igual a 5
}
//esta es la clase donde está el evento
public class Person
{
//Definimos el evento usando el Delegado EventHandler
//EventHandler es un delegado bastante usado para eventos que
//no necesiten pasar datos hacia los parámetros del método suscrito
public event EventHandler NameChanged;
public string m_name;
public string Name
{
get { return m_name; }
set
{
//Si el nombre cambia:
if(value != name)
{
m_name = value;
//Si no hay suscripciones a NameChanged éste queda null
//entonces si no es null podemos invocarlo.
if(NameChanged != null)
NameChanged(this, EventArgs.Empty);
}
}
}
}
//esta es la clase donde está suscrito el evento
public class TestClass
{
public void Test()
{
Person p = new Person();
p. Name ="Pepe"; // no se ejecuta el evento
p.NameChanged += new EventHandler(Person_NameChanged);
p.Name = "Juan"; // ya estamos suscritos y se ejecuta el NameChanged
}
prívate void Person_NameChanged(object sender, EventArgs e)
{
//Aki hacemos algo cuando cambie el nombre de person.
}
}
public class NameChangedEventArgs : EventArgs
{
private string m_newName;
public string NewName
{
get { return m_newName; }
}
}
public delegate void NameChangedEventHandler(object sender, NameChangedEventArgs e);
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
public partial class StoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void ProcedureDemo()
{
// Put your code here
}
};
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.IO;
public partial class StoredProcedures
{
//este es el atributo que marca el método como SP, los parámetros del método
//serán los parámetros del SP, Noten que el valor de retorno es VOID.
[Microsoft.SqlServer.Server.SqlProcedure]
public static void ProcedureDemo(string path, string filter)
{
// Crea el record y especifica la metadata para las columnas
SqlDataRecord record = new SqlDataRecord(
new SqlMetaData("FileName", SqlDbType.NVarChar, 500),
new SqlMetaData("Size", SqlDbType.Int));
//SqlContext es nuestra vía de comunicación con Sql Server
//Si quieren validar si el ensamblado está corriendo en Sql Server
// Y existe una conexión disponible pueden validarlo con la propiedad
// IsAvailable de SqlContext que devuelve true o false dependiendo del caso.
// Marca el inicio de la incorporación de registros
SqlContext.Pipe.SendResultsStart(record);
DirectoryInfo dInfo = new DirectoryInfo(path);
foreach (FileInfo file in dInfo.GetFiles(filter))
{
//Le damos valor a las columnas
record.SetString(0, file.FullName);
// y enviamos el registro
SqlContext.Pipe.SendResultsRow(record);
}
// Marca el fin y envia los resultados
SqlContext.Pipe.SendResultsEnd();
}
};
sp_configure 'clr enabled', 1;
RECONFIGURE;
GO
ALTER DATABASE TESTING
SET TRUSTWORTHY ON