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 - NecBalaam

#1
Desarrollo Web / Ayuda con CakePHP
28 Octubre 2011, 16:49 PM
Saludos mi problema es que no me esta reconociendo mi aplicación... estoy haciendo un videotutorial de youtube... para aprender este frame... pero me he atorado en algo.. ya instale y ya tengo mi localhost (wamp)...

Tengo mi controlador:

Citartareas_controller.php:

<?php
class TareasController extends AppController{
var $name ='Tareas';

function index(){
$this->set('tareas', $this->Tarea->find('all'));
}

}
?>

Tengo mi modelo:
Citartarea.php:

<?php
class Tarea extends AppModel {
var $name ='Tarea';
}
?>

Tengo mi vista (con error):
Citarindex.ctp:

<h2>Tareas</h2>
<?php if (empty($tareas)): ?>
No hay tareas en esta lista
<?php else: ?>
<table>
<tr>
<th>Titulo</th>
<th>Estatus</th>
<th>Creado</th>
<th>Modificado</th>
<th>Acciones</th>
</tr>
<?php foreach($tareas as $tarea): ?>
<tr>
<td>
<?php echo $tarea['Tarea']['titulo'] ?>
</td>
<td>
<?php
if ($tarea['Tarea']['hecha']) echo "Hecha";
else echo "Pendiente";
?>
</td>
<td>
<?php echo $tarea ['Tarea']['creado'] ?>
</td>
<td>
<?php echo $tarea ['Tarea']['modificado'] ?>
</td>
<td>
<!-- acciones en las tareas seran añadidas mas tarde -->
</td>
</tr>
<?php endforeach; ?>
</table>
<?php endif: ?>
<?php echo $html->link('Agregar Tarea', array('action'=>'add')); ?>

y cuando abro mi http://localhost/listatareas/tareas/index
me sale este error:

Citar

y mis carpetas las tengo bien distribuidas:

Citar
#2
Desarrollo Web / Problema con mi ligthbox
23 Octubre 2011, 19:44 PM
Primero buenas tardes/noches/dias a todos :)... estoy intentando hacer este efecto:

http://www.lokeshdhakar.com/projects/lightbox2/

pero... u.u

Segun hice todas las indicaciones que me van diciendo en el lightbox, pero una mis imagenes se van para atras... cuando descomento esta etiqueta comentada "hasta el final claro":
<!--<div id="Layer1"><img src="FondoIndex.png" alt="1007x649" width="1007"

y cuando la comento le doy clic en la imagen y solamente me abre otra ventana donde esta la imagen... que si tengo bien acomodadas mis carpetas? si.. estan todas en una sola carpeta... "Pruebas: las imagenes del final de este post."

Espero que me puedan a ayudar a solucionar mi problema :(...

Citar
Código (HTLM) [Seleccionar]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
left:0px;
top:0px;
width:44px;
height:24px;
z-index:1;
}
#Layer2 {
position:absolute;
left:139px;
top:73px;
width:218px;
height:32px;
z-index:2;
}
.Estilo1 {color: #FFFFFF}
#Layer5 { position:absolute;
left:724px;
top:534px;
width:75px;
height:30px;
z-index:16;
}
#Layer3 {
position:absolute;
left:147px;
top:162px;
width:590px;
height:64px;
z-index:17;
}
-->
</style>
<script type="text/javascript">
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



<style type="text/css">
<!--
#Layer4 {
position:absolute;
left:170px;
top:463px;
width:439px;
height:63px;
z-index:18;
}

-->
</style>
//-->
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>

</script>

<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
</head>


<body onload="MM_preloadImages('Button1.png')" link="#FFFFFF" vlink="#FFFFFF" alink="#00CCFF">

<!--<div id="Layer1"><img src="FondoIndex.png" alt="1007x649" width="1007" height="649" longdesc="BackGroundIndex" /></div>
<div id="Layer2">
  <h1 align="center" class="Estilo1">&iquest;Que es el Cyberpunk?</h1>
</div>
<div id="Layer5"><a href="Index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image2','','Button1.png',1)"><img src="Button2.png" alt="ButtonAtras" name="Image2" width="150" height="25" border="0" id="Image2" /></a></div>
<div id="Layer3">
  <p class="Estilo1"> El termino Cyberpunk fue originalmente acu&ntilde;ado por Bruce Bethke como titulo de una relato corto, publicado en 1983. </p>
  <p class="Estilo1">El<em> cyberpunk</em> es un subg&eacute;nero que toma su nombre de la combinaci&oacute;n de <em>cibern&eacute;tica</em> y <em>punk</em>,   con lo cual podr&iacute;a definirse como un mix de ciencia avanzada,   tecnolog&iacute;as de la informaci&oacute;n y cibern&eacute;tica, a lo que a&ntilde;adir&iacute;amos un   grado de desintegraci&oacute;n o cambio radical en el orden social.</p>
  <p class="Estilo1"> Seg&uacute;n <em>Lawrence Person</em>, <em>los</em> <em>cyberpunk</em>s <em>son   seres marginados, alejados, solitarios, que viven al margen de la   sociedad, generalmente en futuros dist&oacute;picos donde la vida diaria es   impactada por el r&aacute;pido cambio tecnol&oacute;gico, una atm&oacute;sfera de informaci&oacute;n   computarizada ubicua y la modificaci&oacute;n invasiva del cuerpo humano</em>.   </p>
  </div>-->
 
  <!--¡Imagenes! con framework-->
<div id="Layer4"><a href="Cyber1.jpg" rel="lightbox[roadtrip]"><img src="Cyber1.jpg" width="75" height="95" longdesc="Image#1" /></a>

<a href="Cyber2.jpg" rel="lightbox[roadtrip]"><img src="Cyber2.jpg" width="75" height="95"longdesc="Image#2" /></a>

<a href="Cyber3.jpg" rel="lightbox[roadtrip]"><img src="Cyber3.jpg" width="75" height="95" longdesc="Image#3" /></a></div>

</body>
</html>


Citar
#3
Cita de: Carluís en  1 Octubre 2011, 19:40 PM
¿Si fueras burrito rebusnaras mas? debes editar las opciones en configuración del blog, ve a la opción formato y hay editas, muy simple...

De ninguna de las 2 maneras logre corregir :/
#4
Programación General / Dudas con mi Micro Z80
29 Septiembre 2011, 07:23 AM
Disculpen me estoy basando de este libro para hacer mi I.S.A. del micro Z80: www.zilog.com/docs/z80/um0080.pdf
Tengo este codigo inicial, para poder empezar a programar mis instrucciones:

Obviamente lo estoy haciendo en pascal, tengo muchas malas espinas, siento que me falta algo o siento que estoy mal en algo, espero me puedan decir, que me falta para poder empezar a programar mis instrucciones...

Y si de paso tienen algun material que me pueda facilitar el programado de mi I.S.A. micro se los agradeceria.

Citar
Código (PASCAL) [Seleccionar]
{$inline on}
{$define DEBUG}

program emulador8080;

{$ifdef DEBUG}
uses
  crt    //Necesaria para el procedimiento clrscr
  ;
{$endif}

const
  MAXMEM = $FFFF;
  MAXPUERTOS= $FF;
  VECTOR_RESET = $0000;

type
  TDirMem = 0..MAXMEM;
  TDirPuertos = 0..MAXPUERTOS;
 
  TMemoria = array[TDirMem] of byte;
  TPuertos = array[TDirPuertos] of byte;
 
  TPSW = record
    S,   
    Z,
    H, {Half Carry}
    P, {Parity/Overflow}
    N, {Add/Substract}
    C {Carry} : boolean;
  end;
 
var
  Mem : TMemoria;
  Puertos : TPuertos;
  PSW : TPSW;
  {General Purpose Register}
  {Main Register Set}
  A,
  B,C,
  D,E,
  H,L,   
  {Alternate Register Set}
  A1,
  B1,C1,
  D1,E1,
  H1,L1    : byte;
  {Special Purpose Register}
  IX,IY,SP,PC: word;
  {I= Interruptor, R= Refresh}
  I,R    : byte;

  INTE  : boolean;
  Halt  : boolean; 

{=============================================================================
Interfaz de control del Emulador =============================================================================}

{$IFDEF DEBUG}

function Desensamblado(I: byte): string;
  function NombreRegistro(r : byte): string; inline;
  var
    op  : string;
  begin
    case r of
    0: op := 'B';
    1: op := 'C';
    2: op := 'D';
    3: op := 'E';
    4: op := 'H';
    5: op := 'L';
    6: op := '[HL]';
    7: op := 'A';
    end;
    NombreRegistro := op;
  end;

begin
    case I of        {Decodify}
    $00:  Desensamblado := 'NOP';        {Execute}
  end;
end;

procedure Interfaz_CargarContenidoMemoria;
var
  F : file of byte;
  Nombre : string;
  i     : word;
  b     : byte;
begin
  write('Nombre del archivo: '); readln(Nombre);
  assign(F, Nombre);
  system.reset(F);
  i := 0;
  while not eof(F) do
  begin
    read(F,b);
    Mem[i] := b;
    i := i + 1;
  end;
  close(F);
end;

procedure Interfaz_GuardarContenidoMemoria;
var
  F : file of byte;
  Nombre : string;
  i     : word;
begin
  write('Nombre del archivo: '); readln(Nombre);
  assign(F, Nombre);
  system.rewrite(F);
  for i := 0 to MAXMEM do
    write(F,Mem[i]);
  close(F);
end;

procedure Interfaz_Desplegar;
  procedure DesplegarPSW;
  begin
    with PSW do
    begin
      if S then write('S(X)') else write('S( )');
      if Z  then write(' Z(X)') else write(' Z( )');
      if H  then write(' H(X)') else write(' H( )');
      if P  then write(' P(X)') else write(' P( )');
      if N  then write(' N(X)') else write(' N( )');
      if C  then writeln(' C(X)') else writeln(' C( )');
    end;
  end;
var
  S,s2 : char;
  valor : byte;
  valor16 : word;
begin
  clrscr;
  DesplegarPSW;
  writeln('A= ', A);
  write('B= ', B);    writeln(' C= ', C);
  write('D= ', D);    writeln(' E= ', E);
  write('H= ', H);    writeln(' L= ', L);
  writeln('IX= ', IX);
  writeln('IY= ', IY);
  writeln('SP= ', SP);
  writeln('PC= ', PC);
  write('I= ', I); writeln(' : ', Desensamblado(i));
  write('Q=salir, [ABCDEHL]=regs, F=PSW, M=mem, X=IX, Y=IY, P=PC, S=SP, R=leer, W=escribir, ENTER=continuar: ');
  readln(S);
  S := upcase(S);
  case S of
  'Q': Halt := true;
  'A': begin
          write('A= '); readln(valor);
          A := valor;
       end;
  'B': begin
          write('B= '); readln(valor);
          B := valor;
       end;
  'C': begin
          write('C= '); readln(valor);
          C := valor;
       end;
  'D': begin
          write('D= '); readln(valor);
          D := valor;
       end;
  'E': begin
          write('E= '); readln(valor);
          E := valor;
       end;
  'F': begin
          write('Bandera [SZHPNC]'); readln(S2);
          S2 := upcase(S2);
          case S2 of
          'S':    PSW.S  := not PSW.S;
          'Z':    PSW.Z  := not PSW.Z;
          'H':    PSW.H  := not PSW.H;
          'P':    PSW.P  := not PSW.P;
          'N':    PSW.N  := not PSW.N;
          'C':  PSW.C  := not PSW.C;
          end;
       end;
  'H': begin
          write('H= '); readln(valor);
          H := valor;
       end;
  'L': begin
          write('L= '); readln(valor);
          L := valor;
       end;
  'P': begin
          write('PC= '); readln(valor16);
          PC := valor16;
       end;
  'S': begin
          write('SP= '); readln(valor16);
          SP := valor16;
       end;
  'M': begin
          write('Dir= '); readln(valor16);
          write('valor= '); readln(valor);
          Mem[valor16] := valor;
       end;
  'R': Interfaz_CargarContenidoMemoria;
  'X': begin
          write('IX= '); readln(valor16);
          IX := valor16;
       end;
  'Y': begin
          write('IY= '); readln(valor16);
          IY := valor16;
       end;
  'W': Interfaz_GuardarContenidoMemoria;
  end;
end;

{$ENDIF}

{=============================================================================
Funciones relativas al PSW  =============================================================================}

function PSW_ParidadPar: boolean; inline;
var
  conta : byte;    //Número de 1's presentes en A
  i     : byte;
begin
  conta := 0;
  for i := 0 to 7 do
    conta := conta + (A shr i) and $01;
  PSW_ParidadPar := (conta mod 2) = 0;
end;

procedure PSW_ActualizarLogico(temp  : byte); inline;
begin
  with PSW do
  begin
    S  := (temp and $80) = $80;   
    Z  := temp = $00;   
    H := false;
    P  := PSW_ParidadPar;   
    C  := false;
  end;
end;

procedure PSW_ActualizarAritmetico(r1, r2 : byte; temp : word); inline;
begin
  with PSW do
  begin
    S  := (temp and $80) = $80;
    Z  := temp = $00;
    PSW.H := ((temp xor r1 xor r2) and $10) = $10;
    P  := PSW_ParidadPar;
    PSW.C  := temp > 255;
  end;
end;

{=============================================================================
Funciones relativas a la ALU  =============================================================================}

function ALU_add(r1, r2, Cin : byte): byte; inline; {ADD}
var
  temp : word;
begin
  temp   := r1 + r2 + Cin;
  PSW_ActualizarAritmetico(r1, r2, temp);
  ALU_add := temp;
end;

function ALU_sub(r1, r2, Bin : byte): byte; inline; {Subtract}
var
  temp : word;
begin
  temp   := r1 - r2 - Bin;
  PSW_ActualizarAritmetico(r1, r2, temp);
  ALU_sub := temp;
end;


function ALU_and(r1, r2 : byte): byte; inline;  {Logical AND}
var
  temp : byte;
begin
  temp := r1 and r2;
  PSW_ActualizarLogico(temp);
  ALU_and := temp;
end;

function ALU_or(r1, r2 : byte): byte; inline; {Logical OR}
var
  temp : byte;
begin
  temp := r1 or r2;
  PSW_ActualizarLogico(temp);
  ALU_or := temp;
end;

function ALU_xor(r1, r2 : byte): byte; inline; {Logical Exclusive OR}
var
  temp : byte;
begin
  temp := r1 xor r2;
  PSW_ActualizarLogico(temp);
  ALU_xor := temp;
end;

function ALU_bcd(r : byte): byte; inline;
var
temp:byte;
begin
  temp:=(r and $0f);
  ALU_bcd:=((r shr 4)*16)+temp;
end;

{=============================================================================
Funciones relativas a la Unidad de Control =============================================================================}

procedure CPU_VerificarInterrupciones;
begin
end;

procedure CPU_Reset;
begin
  A := $00;
  B := $00;    C := $00;
  D := $00;    E := $00;
  H := $00;    L := $00;
  with PSW do
  begin
    S := false;   
    Z := true;
    H := false;   
    P  := false;    //NOTA : Checar     
    C := false;
  end;
  SP := MAXMEM;
  PC := VECTOR_RESET;
  Halt := false;
  INTE := true; {NOTA: Los estudiante deben verificar esto.}
end;

{=============================================================================
Funciones relativas a la Memoria =============================================================================}

function Memoria_Leer(d : word): byte; inline;
begin
  Memoria_Leer := Mem[d];
end;

procedure Memoria_Escribir(d : word; b : byte); inline;
begin
  Mem[d] := b;
end;

function Memoria_DecodificarDirecto: word; inline;
begin
  Memoria_DecodificarDirecto := (Memoria_Leer(PC+2) shl 8) or Memoria_Leer(PC+1);
end;

function Memoria_LeerInmediato: byte; inline;
begin
  Memoria_LeerInmediato := Memoria_Leer(PC+1);
end;

function Memoria_LeerDirecto: byte; inline;
begin
  Memoria_LeerDirecto := Memoria_Leer( Memoria_DecodificarDirecto );
end;

procedure Memoria_EscribirDirecto(v : byte);
begin
  Memoria_Escribir( Memoria_DecodificarDirecto, v );
end;

function Memoria_LeerPila: word; inline;
var
  alto, bajo : byte;
begin
  bajo := Memoria_Leer(SP);
  SP := SP + 1;
  alto := Memoria_Leer(SP);
  SP := SP + 1;
  Memoria_LeerPila := (alto shl 8) or bajo;
end;

procedure Memoria_EscribirPila(v : word);
begin
  SP := SP - 2;
  Memoria_Escribir(SP, v and $00FF);
  Memoria_Escribir(SP+1, (v shr 8) and $00FF);
end;

{=============================================================================
Funciones relativas a los Registros
=============================================================================}

procedure Registros_Escribir(r : byte; v : byte);
begin
  case r of
  $00: B := v;
  $01: C := v;
  $02: D := v;
  $03: E := v;
  $04: H := v;
  $05: L := v;
  $06: Mem[(H shl 8) or L] := v;
  $07: A := v;
  end;
end;

function Registros_Leer(r : byte): byte; inline;
var
  op  : byte;
begin
  case r of
  0: op := B;
  1: op := C;
  2: op := D;
  3: op := E;
  4: op := H;
  5: op := L;
  6: op := Mem[(H shl 8) or L];
  7: op := A;
  end;
  Registros_Leer := op;
end;

function Registros_LeerPar(I : byte): word; inline;
var
  r : byte;
  temp : word;
begin
  r := (I and $30) shr 4;
  case r of
  $00: temp := (B shl 8) or C;
  $01: temp := (D shl 8) or E;
  $02: temp := (H shl 8) or L;
  $03: temp := SP;
  end;
  Registros_LeerPar := temp;
end;

procedure Registros_EscribirPar(I: byte; v : word);
var
  r : byte;
begin
  r := (I and $30) shr 4;
  case r of
  $00: begin
        B := (v and $FF00) shr 8;
        C := (v and $00FF);
      end;
  $01: begin
        D := (v and $FF00) shr 8;
        E := (v and $00FF);
      end;

  $02: begin
        H := (v and $FF00) shr 8;
        L := (v and $00FF);
      end;

  $03: SP := v;
  end;
end;

procedure IXIY(Registro : boolean);
var
Reg: word;
begin
      if Registro= true then
      Reg:=IX
      else Reg:=IY;
    PC:=PC+1;
    I:=Mem[PC];
end;

{=============================================================================
Instrucciones del Procesador  Z80 =============================================================================}

procedure InstruccionDesconocida( ByteCode : byte);
begin
  writeln(stderr, 'Instrucción desconocida: ', ByteCode);
  PC := PC + 1;
end;

procedure NOP;
begin
  PC := PC + 1;
end;

{=============================================================================
R U T I N A   P R I N C I P A L   D E L   E M U L A D O R   
=============================================================================}
begin
  {Arranque de la máquina (RESET)}
  CPU_Reset;
  {Ciclo de Instrucción}
  repeat
    I := Mem[PC];    {Fetch}
    case I of        {Decodify}
    $00:  NOP;        {Execute}
    else
      InstruccionDesconocida(I);
    end;
    if INTE then
      CPU_VerificarInterrupciones;
{$ifdef DEBUG}
    Interfaz_Desplegar;
{$endif}
  until Halt;
end.
#5
Desarrollo Web / Problemas con las entradas de mi blog
29 Septiembre 2011, 00:10 AM
Se supone que en mi blog estE: www.editado.blogspot.com
tengo puesto que me salgan 5 entradas pero me sale solo una entrada...

Ya me he ido a Diseño > Entradas del Blog > Editar >(Opciones de la página principal)
Número de entradas en la página principal.

Y le cambio el numero a 5 y en el combobox ya prove con las 2 opciones: Dias de entrada y entradas, y mis demas opciones las tengo asi como se daran cuenta en mi imagen:

Citar
#6
Creen que podrian ayudarme mas... "para no tener que crear temas nuevos..."

Tengo el boton de Editar...

"connection must be valid and open" me sale ese error...
con el siguiente codigo en el boton Editar :S:

Citartxt_apellido.Enabled = True
        txt_nombre.Enabled = True
        txt_telefono.Enabled = True

        'Dim cmd As MySqlCommand
        Dim lectura As MySqlDataReader
        Dim cmd As MySqlCommand = New MySqlCommand("Select *  from usuarios where id=" & cmb_id.Text.ToString)
        Try
            cmd.Connection = conexion.Mysqlcon

            lectura = cmd.ExecuteReader
            lectura.Read()

            conexion.iniciar()
            conexion.Mysqlcon.Open()
            cmd = New MySqlCommand("UPDATE usuarios SET nombre= '" + txt_nombre.Text + "',apellido='" + txt_apellido.Text + "', telefono='" + txt_telefono.Text + "' WHERE id=" & cmd.ToString)
            MsgBox(cmd)
            cmd.ExecuteNonQuery()
            MsgBox("Se ha Actualizado satisfactoriamente", MsgBoxStyle.Information)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

Saben porque me sale ese error? :S
#7
Cita de: .mokk. en 24 Septiembre 2011, 21:58 PM
Bueno tambien veo que ahi pones

da.Fill(ds)

intenta poniendo antes de eso
ds = new DataSet()
da.Fill(ds)

Bueno talvez te funcione algo asi me sucedia a mi antes, pero lo arreglue algo asi, no recuerdo bien jeje

:O bendito seas .mokk! gracias :) me funciono :)
#8
Cita de: seba123neo en 24 Septiembre 2011, 21:47 PM
lo que pasa es que vos estas relacionando el combo con un origen de datos, en este caso es un datatable con registros, para usar el clear() debes cargar los items recorriendo el datatable e insertando los registros con Combo.Items.Add, pero para cuando tenes relacionado un datatable creeria que con hacer Combo1.Datasource = Nothing se te limpia el combo.

saludos.

lo intento hacer con el
cmb_id.DataSource = Nothing
antes de llamarlo igual no me hace nada :/

me pasa lo mismo...
:(
#9
Cita de: Rudy21 en 24 Septiembre 2011, 21:10 PM
cmb_id.Items.Clear()

Gracias rudy pero mi problema creo que va mas alla que solo un .clear() :(...
ve lo que me sale man :/

Citar

y lo intento hacer con el
cmb_id.DataSource = Nothing
antes de llamarlo igual no me hace nada :/
#10
Saludos, mi problema es con mi combobox... lo cargo con este codigo en el FORM_LOAD:


CitarSub combollenado()
       conexion.iniciar()
       conexion.Mysqlcon.Open()
       'cmb_id.Items.Clear()
       'cmb_id.DataSource = Nothing
       cmd = New MySqlCommand("select id from usuarios", conexion.Mysqlcon)
       da = New MySqlDataAdapter(cmd)
       da.Fill(ds)
       cmb_id.DataSource = ds.Tables(0)
       cmb_id.DisplayMember = ds.Tables(0).Columns(0).Caption.ToString
       conexion.Mysqlcon.Close()
   End Sub

Me lo llena bien

Citar

Y cuando le doy clic en el boton guardar
Me sale de la siguiente manera:

Citar

Alguien podria ayudarme porfavor.... :(