Noticias Weblogs Código

RecorteX

682 usuarios y 239 recortes de código
Usuario

Contraseña
Crear cuenta
asp csharp css fechas Flash html imagenes java javascript linux mysql oracle php sql SQLServer url vbnet web xhtml xml
Top Usuarios
fjmp76 (36)
albin (31)
josuebasurto (31)
juanjo (30)
pedrocaro (9)
stanz (8)
AndiXTRM (7)
Joserra (7)
miiglesi (6)
aplyca (5)
Top Etiquetas
php (38)
vbnet (27)
javascript (26)
html (25)
java (24)
sql (18)
csharp (18)
xml (13)
mysql (13)
css (10)
xhtml (7)
Flash (7)
imagenes (7)
asp (6)
linux (6)
fechas (6)
web (5)
SQLServer (5)
oracle (5)
url (5)
RecorteX es un repositorio público de código.
Puedes crear tu colección personal de recortes y compartirlos con todo el mundo.
Regístrate y participa.

llamando form con jquery en symfony2

esta parte va en el view

 
 
<h3>Manejo Bodega</h3>
 
<form id='formBodega' action="{{ path(action,{'id': idPro}) }}" method="post">
        {{ form_widget(form) }}
        <input type="submit" value="Guardar" class="symfony-button-ajax"/>
    </form>
 
 
<script type="text/javascript">
            {# añadirmos una función al evento click de todos los enlaces a.notice_link, para
usar AJAX en vez de su comportamiento por defecto #}
$(document).ready(function(){
    $('input.symfony-button-ajax').click(function(event){
        event.preventDefault(); //cancela el comportamiento por defecto
        
        //alert("lol");
        
        $.ajax({
            type: "POST",
            url: $('#formBodega').attr('action'),
            data: $('#formBodega').serialize(),
            //cache: false,
            success: function(data){
                //$('#index-response').load($(this).attr('href'));
                $('#index-response').html(data);
                //alert("Success!");
                // Output something                  
            }});
        
        
        //$('#index-response').load($(this).attr('href')); //carga por ajax a la capa "notice_viewer"
    });
});
{# añadirmos una función al evento click de todos los enlaces a.notice_link, para
usar AJAX en vez de su comportamiento por defecto #}
       
            </script>
 

Ver foreign keys en la bd

Escribe aquí el texto

 
  
SELECT f.name AS ForeignKey,
OBJECT_NAME(f.parent_object_id) AS TableName,
COL_NAME(fc.parent_object_id,
fc.parent_column_id) AS ColumnName,
OBJECT_NAME (f.referenced_object_id) AS ReferenceTableName,
COL_NAME(fc.referenced_object_id,
fc.referenced_column_id) AS ReferenceColumnName
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc
ON f.OBJECT_ID = fc.constraint_object_id
 

Arrancar JVM con debug remoto activado

Se debe utilizar el siguiente parámetro de arranque:


  -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n

Edit Contacts Android

 
package com.uned.contacts;
 
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds;
import android.view.View;
import android.widget.AdapterView;
import android.widget.SimpleCursorAdapter;
 
/**
 * Muestra una lista de todas las entradas de contactos de la base de datos.
 * Pulsando en cada contacto podremos añadir una nueva dirección de correo (se
 * añadirá la dirección 'ejemplo@email.com' por defecto).
 * 
 * <p>
 * Permisos necesarios: &lt;uses-permission
 * android:name="android.permission.READ_CONTACTS" /> &lt;uses-permission
 * android:name="android.permission.WRITE_CONTACTS" />
 * </p>
 */
public class ContactsEditActivity extends ListActivity implements
		AdapterView.OnItemClickListener, DialogInterface.OnClickListener {
 
	private static final String TEST_EMAIL = "ejemplo@email.com";
	private Cursor contactsCursor, emailCursor;
	private int selectedId;
	private static int i = 1;
 
	/*
	 * (non-Javadoc)
	 * 
	 * @see android.app.Activity#onCreate(android.os.Bundle)
	 */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
 
		// Campos de proyección de la query, nombre que se muestra en la agenda
		String[] projection = new String[] { ContactsContract.Contacts._ID,
				ContactsContract.Contacts.DISPLAY_NAME };
 
		// Devolverá todos los contactos ordenados por su DISPLAY_NAME.
		// Con la claúsula IN_VISIBLE_GROUP = 1 limitaremos el resultado a los
		// contactos visibles al usuario
		contactsCursor = managedQuery(ContactsContract.Contacts.CONTENT_URI,
				projection,
				ContactsContract.Contacts.IN_VISIBLE_GROUP + " = 1", null,
				ContactsContract.Contacts.DISPLAY_NAME);
 
		// Con SimpleCursosAdaptar 'adaptamos' el cursor 'contactsCursor'
		// obtenido de la consulta anterior para mostrarse como una ListView
		// básica
		SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this,
				android.R.layout.simple_list_item_1, contactsCursor,
				new String[] { ContactsContract.Contacts.DISPLAY_NAME },
				new int[] { android.R.id.text1 });
		setListAdapter(mAdapter);
 
		// Listener de acción cuando se pulsa en un contacto
		getListView().setOnItemClickListener(this);
	}
 
	/*
	 * Acción cuando se pulsa en un contacto. Se mostrará un diálogo con
	 * información del contacto seleccionado.
	 * 
	 * @see
	 * android.widget.AdapterView.OnItemClickListener#onItemClick(android.widget
	 * .AdapterView, android.view.View, int, long)
	 */
	@Override
	public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
 
		// Movemos el cursor a la posición del contacto seleccionado
		if (contactsCursor.moveToPosition(position)) {
			selectedId = contactsCursor.getInt(0); // columna _ID
 
			// Obtenemos los emails del contacto; consulta a la tabla de
			// Email 'CommonDataKinds.Email.DATA'
			emailCursor = getContentResolver().query(
					CommonDataKinds.Email.CONTENT_URI,
					new String[] { ContactsContract.Data._ID,
							CommonDataKinds.Email.DATA },
					ContactsContract.Data.CONTACT_ID + " = " + selectedId,
					null, null);
 
			// Construimos el diálogo con los diferentes emails del cursos
			// obtenido
			AlertDialog.Builder builder = new AlertDialog.Builder(this);
			builder.setTitle("Emails");
			builder.setCursor(emailCursor, this,
					ContactsContract.CommonDataKinds.Email.DATA);
			builder.setPositiveButton("Añadir", this);
			builder.setNegativeButton("Cancelar", null);
			builder.create().show();
		}
	}
 
	/*
	 * Acción cuando se pulsa en el botón de añadir del diálogo del emails del
	 * contacto.
	 * 
	 * @see
	 * android.content.DialogInterface.OnClickListener#onClick(android.content
	 * .DialogInterface, int)
	 */
	@Override
	public void onClick(DialogInterface dialog, int which) {
 
		// Un 'Contacto' conceptualmente representa una persona; estará
		// compuesto por todos los RawContacts que Android identifique que
		// representan a la misma persona.
 
		// Un 'RawContacts' representa una colección de 'Data' almacenados en el
		// dispositivo y asociados a una cuenta (generalmente Gmail)
 
		// 'Data' son las piexas de información asociadas a cada 'RawContact'
		// como el email, número de teléfono,...
 
		// Para añadir un dato nuevo, email en esta caso, se debe añadir a un
		// RAWContact
		// Por ello primero obtenemos el id del primer RawContact del contacto
		// seleccionado
		try {
			Cursor raw = getContentResolver().query(
					ContactsContract.RawContacts.CONTENT_URI,
					new String[] { ContactsContract.Contacts._ID },
					ContactsContract.Data.CONTACT_ID + " = " + selectedId,
					null, null);
			if (!raw.moveToFirst()) {
				return;
			}
			// Id del primer RawContact
			int rawContactId = raw.getInt(0);
 
			// ContentValues nos servirá para construir el dato a añadir o
			// modificar
			ContentValues values = new ContentValues();
			switch (which) {
			case DialogInterface.BUTTON_POSITIVE:
				// Se pulsa el botón aceptar para añadir un nuevo email
 
				// Asociado al RawContact del contacto seleccionado
				values.put(
						ContactsContract.CommonDataKinds.Email.RAW_CONTACT_ID,
						rawContactId);
 
				// Especificamos el MIMETYPE
				values.put(
						ContactsContract.Data.MIMETYPE,
						ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
				// El tipo de dato y el valor a añadir
				values.put(ContactsContract.CommonDataKinds.Email.DATA,
						TEST_EMAIL);
				values.put(ContactsContract.CommonDataKinds.Email.TYPE,
						ContactsContract.CommonDataKinds.Email.TYPE_OTHER);
				// URI de inserción y modificación (diferente de la de lecutura
				// ContactsContract.Contacts.CONTENT_URI)
				getContentResolver().insert(ContactsContract.Data.CONTENT_URI,
						values);
				break;
			default:
				// Si se pulsa sobre la dirección simplemente la actualizamos
				// con otro valor.
 
				values.put(ContactsContract.CommonDataKinds.Email.DATA, (i++)
						+ TEST_EMAIL);
				values.put(ContactsContract.CommonDataKinds.Email.TYPE,
						ContactsContract.CommonDataKinds.Email.TYPE_OTHER);
				getContentResolver().update(
						ContactsContract.Data.CONTENT_URI,
						values,
						ContactsContract.Data._ID + " = "
								+ emailCursor.getInt(0), null);
				break;
			}
 
		} finally {
			// Cerramos el cursor
			emailCursor.close();
		}
	}
}
 

List contacts android

 
package com.uned.contacts;
 
import android.app.AlertDialog;
import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds;
import android.view.View;
import android.widget.AdapterView;
import android.widget.SimpleCursorAdapter;
 
/**
 * Muestra una lista de todas las entradas de contactos de la base de datos.
 * Pulsando en cada contacto podremos ver información más detallada de cada uno,
 * en concreto, email's, números de teléfono y direcciones.
 * 
 * <p>
 * Permisos necesarios: &lt;uses-permission
 * android:name="android.permission.READ_CONTACTS" />
 * </p>
 */
public class ContactsActivity extends ListActivity implements
		AdapterView.OnItemClickListener {
	Cursor contactsCursor;
 
	/*
	 * (non-Javadoc)
	 * 
	 * @see android.app.Activity#onCreate(android.os.Bundle)
	 */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
 
		// Campos de proyección de la query, nombre que se muestra en la agenda
		String[] projection = new String[] { ContactsContract.Contacts._ID,
				ContactsContract.Contacts.DISPLAY_NAME };
 
		// Devolverá todos los contactos ordenados por su DISPLAY_NAME.
		// Con la claúsula IN_VISIBLE_GROUP = 1 limitaremos el resultado a los
		// contactos visibles al usuario
		contactsCursor = managedQuery(ContactsContract.Contacts.CONTENT_URI,
				projection,
				ContactsContract.Contacts.IN_VISIBLE_GROUP + " = 1", null,
				ContactsContract.Contacts.DISPLAY_NAME);
 
		// Con SimpleCursosAdaptar 'adaptamos' el cursor 'contactsCursor'
		// obtenido de la consulta anterior para mostrarse como una ListView
		// básica
		SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this,
				android.R.layout.simple_list_item_1, contactsCursor,
				new String[] { ContactsContract.Contacts.DISPLAY_NAME },
				new int[] { android.R.id.text1 });
		setListAdapter(mAdapter);
 
		// Listener de acción cuando se pulsa en un contacto
		getListView().setOnItemClickListener(this);
	}
 
	/*
	 * Acción cuando se pulsa en un contacto. Se mostrará un diálogo con
	 * información del contacto seleccionado.
	 * 
	 * @see
	 * android.widget.AdapterView.OnItemClickListener#onItemClick(android.widget
	 * .AdapterView, android.view.View, int, long)
	 */
	@Override
	public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
 
		// Movemos el cursor a la posición del contacto seleccionado
		if (contactsCursor.moveToPosition(position)) {
 
			// Cursores de la información que vamos a obtener del contacto
			// seleccionado
			Cursor emailCursor = null;
			Cursor phoneCursor = null;
			Cursor addressCursor = null;
 
			try {
				int selectedId = contactsCursor.getInt(0); // columna _ID
 
				// Obtenemos los emails del contacto; consulta a la tabla de
				// Email 'CommonDataKinds.Email.DATA'
				emailCursor = getContentResolver().query(
						CommonDataKinds.Email.CONTENT_URI,
						new String[] { CommonDataKinds.Email.DATA },
						ContactsContract.Data.CONTACT_ID + " = " + selectedId,
						null, null);
 
				// Obtenemos los números de teléfono del contacto; consulta a la
				// tabla de Phone 'CommonDataKinds.Phone.NUMBER'
				phoneCursor = getContentResolver().query(
						CommonDataKinds.Phone.CONTENT_URI,
						new String[] { CommonDataKinds.Phone.NUMBER },
						ContactsContract.Data.CONTACT_ID + " = " + selectedId,
						null, null);
 
				// Obtenemos las direcciones del contacto; consulta a la
				// tabla de StructuredPostal
				// 'CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS'
				addressCursor = getContentResolver()
						.query(CommonDataKinds.StructuredPostal.CONTENT_URI,
								new String[] { CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS },
								ContactsContract.Data.CONTACT_ID + " = "
										+ selectedId, null, null);
 
				// Construimos la información a mostrar en el diálogo
				StringBuilder sb = new StringBuilder();
				// Número de emails
				sb.append(emailCursor.getCount() + " Emails\n");
				// Emails
				if (emailCursor.moveToFirst()) {
					do {
						sb.append("Email: " + emailCursor.getString(0));
						sb.append('\n');
					} while (emailCursor.moveToNext());
					sb.append('\n');
				}
				// Número de teléfonos
				sb.append(phoneCursor.getCount() + " Teléfonos\n");
				// Teléfonos
				if (phoneCursor.moveToFirst()) {
					do {
						sb.append("Teléfono: " + phoneCursor.getString(0));
						sb.append('\n');
					} while (phoneCursor.moveToNext());
					sb.append('\n');
				}
				// Direcciones
				sb.append(addressCursor.getCount() + " Direcciones\n");
				// Dirección
				if (addressCursor.moveToFirst()) {
					do {
						sb.append("Dirección:\n" + addressCursor.getString(0));
					} while (addressCursor.moveToNext());
					sb.append('\n');
				}
 
				// Construimos el diálogo con la información del contacto
				// seleccionado
				AlertDialog.Builder builder = new AlertDialog.Builder(this);
				builder.setTitle(contactsCursor.getString(1)); // DISPLAY_NAME
				builder.setMessage(sb.toString());
				builder.setPositiveButton("Aceptar", null);
				builder.create().show();
 
			} finally {
				// Cerramos los cursores utilizados
				emailCursor.close();
				phoneCursor.close();
				addressCursor.close();
			}
		}
	}
}
 

Web Reference dinamico C# VS2010

Me topé con el problema siguiente.

Yo hice un producto (web service) que dependia de un web service previamente instalado (Creado por otro desarrollador en otro momento) que es prerequisito de mi webservice.

El chiste es que lo habia tomado de un url, pero cuando cambió al reconfigurar el web.config no tomo el cambio ya que se habia quedado hardcoded.

aparte de hacer lo de la siguiente solucion:
http://www.codeproject.com/Articles/12317/How-to-make-your-Web-Reference-proxy-URL-dynamic
lo que hice fue agregarle este codigo en Resources.cs (Codigo autogenerado).

WEB.CONFIG

 
<?xml version="1.0"?>
<configuration>
  ...
  <appSettings>
    ...
    <add key="LLAVE" value="http://servidor/carpeta/webservice.dll/soap/IProceso"/>
    ...
  </appSettings>
</configuration>
 

REFERENCE.CS

 
 
        protected static string GetApplicationSettings(string sKey)
        {
            string sValue = null;
            //check if the AppSettings section has items
            if (System.Web.Configuration.WebConfigurationManager.AppSettings.Count > 0)
            {
                sValue = System.Web.Configuration.WebConfigurationManager.AppSettings[sKey];
            }
            return sValue;
        }
 
        /// <remarks/>
        public IProcesosWSservice() {
            string TressProcesos = GetApplicationSettings("LLAVE");
            this.Url = TressProcesos;
            if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
                this.UseDefaultCredentials = true;
                this.useDefaultCredentialsSetExplicitly = false;
            }
            else {
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
 

Mini mensaje de navidad en consola en Python

Mini mensaje de navidad en consola en Python

 
mensajes=['','Hola ','','Este mensaje en Python es para desearte FELIZ NAVIDAD.', \
     '','','','                                   Josue Basurto', \
     '                                   @josuebasurto', \
     '                                   josuebasurto.com']
nombre=raw_input('Ingresa tu nombre: ')
for i in range(len(mensajes)):
     if i == 1: print mensajes[i] + nombre.upper
     else: print mensajes[i]
 

Descargar documento de una URL y pasar a byte[]

Una vez tenemos el documento un array de bytes podremos hacer lo que queramos con él.

 
	public static byte[] leerDocumento(URL url) throws IOException {
		URLConnection connection = url.openConnection();
		InputStream in = null;
		try {
			in = connection.getInputStream();
		} catch (FileNotFoundException e) {
			return null;
		} catch (ConnectException e) {
			e.printStackTrace();
			return null;
		}
		int contentLength = connection.getContentLength();
		ByteArrayOutputStream tmpOut;
		if (contentLength != -1) {
			tmpOut = new ByteArrayOutputStream(contentLength);
		} else {
			tmpOut = new ByteArrayOutputStream(16384);
		}
		byte[] buf = new byte[512];
		while (true) {
			int len = in.read(buf);
			if (len == -1) {
				break;
			}
			tmpOut.write(buf, 0, len);
		}
		in.close();
		tmpOut.close();
		byte[] array = tmpOut.toByteArray();
		return array;
	}
 

Busca columna en Base (SQL server)

solo tienes que reemplazar la ‘a’ por el texto que buscas, ejemplo ‘nombreusuario’ o ‘usuario’

 
DECLARE @txt VARCHAR(20)
SET @txt = 'a'
SELECT     O.name + '.' + C.name AS Nombre, C.column_id AS NumeroColumna, sys.types.name AS TipoDeDato, sys.types.max_length TamanoMaximo, sys.types.PRECISION AS PRECISION, sys.types.scale AS Escala, 
                      sys.types.is_nullable AS Nullable, sys.types.is_user_defined AS DefinidoPorUsuario
FROM         sys.columns AS C INNER JOIN
                      sys.objects AS O ON C.OBJECT_ID = O.OBJECT_ID INNER JOIN
                      sys.types ON C.user_type_id = sys.types.user_type_id AND C.system_type_id = sys.types.system_type_id
WHERE     (C.name LIKE N'%' + @txt + '%')
ORDER BY O.name, NumeroColumna
 

Una clase para simular (en parte) el objeto My de Visual Basic 2005

Una clase para simular (en parte) el objeto My de Visual Basic 2005

 
// Una clase para simular (en parte) el objeto My de Visual Basic 2005
static class My
{
    public static Properties.Settings Settings
    {
        get
        {
            return Properties.Settings.Default;
        }
    }
}
 
info@recortex.com - Proyecto: Juanjo Navarro, 2006 - Diseño: Albin - Información legal y técnica