Silenceway Notas y apuntes de a ratos…

29Abr/111

Usar un UIAlertView para solicitar usuario y contraseña

A veces es necesario, al desarrollar una aplicación para iphone, hacer un inicio de sesión para poder mostrar la información de una ventana.

Con esta clase es posible mostrar un UIAlertView con dos campos de texto que se encargan de solicitar un usuario y una contraseña y lo entrega a la vista que lo está mostrando para su procesamiento.

SilLoginPrompt.h

//
// SilLoginPrompt.h
// Alert login window
//
// Created by Byron Herrera on 4/20/11.
// Copyright 2011 Silencesoft. All rights reserved.
//

#import < Foundation/Foundation.h>

@interface SilLoginPrompt : UIAlertView
{
UITextField * textUser;
UITextField * textPassword;
}

@property (nonatomic, retain) UITextField * textUser;
@property (nonatomic, retain) UITextField * textPassword;
@property (readonly) NSString * userName;
@property (readonly) NSString * userPassword;

- (id) initWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle okButtonTitle:(NSString *)okButtonTitle;

@end


SilLoginPrompt.m

//
// SilLoginPrompt.m
// Alert login window
//
// Created by Byron Herrera on 4/20/11.
// Copyright 2011 Silencesoft. All rights reserved.
//

#import "SilLoginPrompt.h"
// #import < QuartzCore/QuartzCore.h>

@implementation SilLoginPrompt

@synthesize textUser, textPassword;
@synthesize userName, userPassword;

-(id) initWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle okButtonTitle:(NSString *)okButtonTitle {
if (self = [super initWithTitle:title message:message delegate:delegate cancelButtonTitle:cancelButtonTitle otherButtonTitles:okButtonTitle, nil])
{

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 70.0, 260.0, 25.0)];
[textField setBackgroundColor:[UIColor whiteColor]];
[textField setPlaceholder:@"Username"];
textField.autocorrectionType = UITextAutocorrectionTypeNo;
/*
textField.textAlignment = UITextAlignmentCenter;
textField.backgroundColor = [UIColor whiteColor];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.layer.cornerRadius = 8.0f;
textField.layer.masksToBounds = YES;
textField.layer.borderColor = [[UIColor blackColor] CGColor];
textField.layer.borderWidth = 1.0f;
*/
[textField setBorderStyle:UITextBorderStyleRoundedRect];
[textField setBackgroundColor:[UIColor clearColor]];
[self addSubview:textField];
self.textUser = textField;
[textField release];

textField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 95.0, 260.0, 25.0)];
[textField setBackgroundColor:[UIColor whiteColor]];
[textField setPlaceholder:@"Password"];
[textField setSecureTextEntry:YES];
[textField setBorderStyle:UITextBorderStyleRoundedRect];
[textField setBackgroundColor:[UIColor clearColor]];
[self addSubview:textField];
self.textPassword = textField;
[textField release];
self.message = [NSString stringWithFormat:@"%@\n\n\n", message];

}
return self;
}

- (void)show
{
[textUser becomeFirstResponder];
[super show];
}

- (NSString *)userName
{
return textUser.text;
}

- (NSString *)userPassword
{
return textPassword.text;
}

- (void)dealloc
{
[textUser release];
[textPassword release];
[super dealloc];
}

@end

Para usarla:

SilLoginPrompt *newPrompt = [[SilLoginPrompt alloc] initWithTitle:@"Test"
message:@"Message..."
delegate:self
cancelButtonTitle:@"cancel"
okButtonTitle:@"login"];
[newPrompt show];
[newPrompt release];

Y para recibir la información ingresada con el delegado:

#pragma mark -
- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
{
if (buttonIndex != [alertView cancelButtonIndex])
{
if ([alertView isKindOfClass:[SilLoginPrompt class]]) {
NSString * userName = [(SilLoginPrompt *)alertView userName];
NSString * userPassword = [(SilLoginPrompt *)alertView userPassword];
NSLog(@"Entered information: %@ - %@", userName, userPassword);
}
}
}

La información comentada se refiere a personalización del campo de texto hecha con QuartzCore.

Imprimir Imprimir
Etiquetado con: , , , 1 Comentario
15Ene/11Off

Abrir documentos desde un proyector de flash

Hace poco estaba diseñando una multimedia en flash que requería abrir algunos documentos externos: algunos archivos pdf, imágenes y archivos doc entre otros.
Leyendo un artículo de Northcode llamado Conquering FSCommand EXEC Part 1 : Proxy que habla sobre las restricciones existentes en el comando exec de flash y haciendo pruebas con el proxy.exe que está publicado en la página, me di cuenta que para uno o dos archivos es suficiente, pero la multimedia en que estaba trabajando tenía una documentación mucho mayor y quería, además, poder organizarla en directorios.
Así que decidí crear una aplicación que me permitiera abrir archivos usando como puente el portapapeles de windows.
Es fácil de usar ya que es sólo crear en el actionscript de la película:

var cmd = "myfile.pdf";
System.setClipboard(cmd);
fscommand("exec", "execClip.exe");

Y es suficiente ya que el execClip carga un archivo de procesamiento por lotes (BAT) que se encarga de enviar la llamada al sistema operativo para ejecutar la aplicación asociada con ese documento.
Se puede usar navegación en directorios usando:

var cmd = "....\\docs\\myfile.pdf";

La aplicación está publicada en Silencesoft:
execClip.
También hay un ejemplo de publicación en formato CS3.

Imprimir Imprimir
18Jun/100

Aplicaciones en Iphone

Por estos días leyendo sobre el diseño de aplicaciones para iphone y este es un buen documento de 37 páginas para guiarse en este desarrollo:

Building PhotoKast: Creating an iPhone app in one month

Imprimir Imprimir
25Oct/090

Slitaz 2.0, una buena alternativa de Sistema Operativo

Slitaz es una distribuciòn linux diseñada para equipos con poca capacidad que puede ser iniciado desde un cd o una usb.
El archivo que se descarga para ejecutar el sistema operativo completo pesa sòlo 29 megas y es bastante completo.
Actualmente lo estoy usando en un Compaq Evo N200 y corre muy bien, no es complicado de instalar y tiene un amplio listado de paquetes para utilizar.
Viene con so

Imprimir Imprimir
21Jul/090

Publicado Formpress 0.4 pre

Después de dedicarle tiempo a la actualización y a añadirle nuevas características al plugin Formpress de WordPress, hoy subí esta versión en línea para las primeras pruebas.
Falta agregarle bastante documentación, pero aún estoy trabajando en código así que cuando termine me pondré a organizar toda esa parte.
Igual tiene por ahí algunos "echo" que no debería, pero estoy en depuración :D
En WordPress
Zip

Imprimir Imprimir
19Feb/090

Silencesoft

Changed the silencesoft url.
Now is silencesoft.net
:)

Imprimir Imprimir
25Jun/080

KMLite beta 3

Hay una nueva versión de descarga de KMLite que se ha convertido en mi navegador predeterminado.
Esta beta 3 tiene algunas correcciones de bugs como la de bookmarks que no permitía abrir el navegador.
Para ver la información debe pertenecer al grupo the true underground en Google groups.

Descargar KMLite beta 3.
Si al iniciar muestra un error de dll faltantes: Instalador de MSVCP71.dll y MSVCR71.dll.

Ya lodescargué y lo instalé.
:)

Imprimir Imprimir
16Dic/070

Optimizar Firefox en Memoria

Leyendo Mi Super BLog,me encontré con una entrada acerca de un software que optimiza el uso de Firefox en memoria.
Firefox Ultimate Optimizer.

Firefox: Aplicación Para no Ocupar Casi Nada Ram y Más Extensiones.

Imprimir Imprimir
27Nov/070

Entrevista a Linus Torvalds sobre Linux en el 2008

Information Week hizo una entrevista por correo electrònico a Linus Torvalds sobre linux para el 2008. Esta entrevista fue traducida en La Tercera Opciòn.

Gracias a Barrapunto.

Imprimir Imprimir
12Nov/070

Y más entregas…

Y más violetCMS SWF Version.
Una nueva versión con mejoras y plugins ya fucionando. (La versión 0.7).
Así que pronto podré subir para la descarga de usuarios este Administrador de Contenido (CMS).

Sitio Web:
Corporación Sueños de Libertad.
corporacionsuenosdelibertad_com

Imprimir Imprimir
Page 1 of 3123