Ir al contenido


Foto

[RESUELTO] Incompatible types: 'TStrings' and 'string'


  • Por favor identifícate para responder
5 respuestas en este tema

#1 root

root

    MR.

  • Miembro Platino
  • PipPipPip
  • 534 mensajes
  • LocationMexico D.F:

Escrito 14 octubre 2011 - 10:08

hola a todos


salu2


nuevamente yo


duda


por que se generan estos errores ?


Incompatible types: 'TStrings' and 'string' ??


les paso el ejemplo de codigo que estoy usando






delphi
  1. procedure TForm2.Button1Click(Sender: TObject);
  2. var pass, usuario, user, comillas : string ;
  3. var contador : integer ;
  4. begin
  5. comillas := '"' ;
  6. user := edit1.text ;
  7. zquery1.close ;
  8. zquery1.SQL := 'select usuarios.pass, usuarios.nombre from usuarios where usuarios.usuario = ' + comillas + user + comillas ;
  9. zquery1.Open      ;
  10. pass := (ZQuery1.Fields[0].Text) ;
  11. zquery1.Close ;
  12. contador := contador + 1 ;
  13. if pass = edit2.Text then
  14.   begin
  15.   usuario := (ZQuery1.Fields[1].Text) ;
  16.   Application.MessageBox( 'Acceso Autorizado', 'ACCESO' , MB_ICONINFORMATION ) ;
  17.   form2.Visible:= false ;
  18.   end
  19. else
  20. Application.MessageBox( 'Acceso DENEGADO', 'ACCESO' , MB_ICONSTOP ) ;
  21. edit1.text := '' ;
  22. edit2.text := '' ;
  23. end;


  • 0

#2 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 14 octubre 2011 - 10:24

Aunque no trabajo con Zeos, debe ser porque la propiedad SQL de zquery1 es de tipo TStrings, por lo tanto lo que debes hacer es colocar:


zquery1.SQL.Add('Tu consulta)


saludos



  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.469 mensajes
  • LocationMéxico

Escrito 14 octubre 2011 - 10:30



delphi
  1. zquery1.SQL.text := 'select usuarios.pass, usuarios.nombre from usuarios where usuarios.usuario = ' + comillas + user + comillas ;



Salud OS
  • 0

#4 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 14 octubre 2011 - 10:31

Yo haría esto:


delphi
  1. procedure TForm2.Button1Click(Sender: TObject);
  2. var pass, usuario, user: string ;
  3. var contador : integer ;
  4. begin
  5. user := edit1.text ;
  6. zquery1.close ;
  7. zquery1.SQL.Text := 'select usuarios.pass, usuarios.nombre from usuarios where usuarios.usuario = ' + QuotedStr(user);
  8. zquery1.Open;
  9. pass := ZQuery1.Fields[0].asString ;
  10. zquery1.Close ;
  11. contador := contador + 1 ; //?
  12. if pass = edit2.Text then
  13.   begin
  14.   usuario := ZQuery1.Fields[1].asString; //?
  15.   Application.MessageBox( 'Acceso Autorizado', 'ACCESO' , MB_ICONINFORMATION ) ;
  16.   form2.Visible:= false ;
  17.   end
  18. else
  19. Application.MessageBox( 'Acceso DENEGADO', 'ACCESO' , MB_ICONSTOP ) ;
  20. edit1.text := '' ;
  21. edit2.text := '' ;
  22. end;




Me pregunto es para que se usan las dos lineas que marque, "contador" no hace nada, "usuario" tampoco.


Saludos!
  • 0

#5 root

root

    MR.

  • Miembro Platino
  • PipPipPip
  • 534 mensajes
  • LocationMexico D.F:

Escrito 14 octubre 2011 - 10:36

apenas estoy haciendo la función la idea de contador es hacer que si lo intenta 3 veces y falla se cierre el programa
y el de usuario es para que cuando se cierre la ventana de validación de usuario, me ponga el nombre en una variable,
para generar registro de las actividades de los usuarios.

algo así como

el usuario modifico un registro
el usuario genero una cita
el usuario genero ......

así, si algo esta mal
que nos diga quien la cag....
  • 0

#6 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 14 octubre 2011 - 10:42

Entendido (y)


Saludos!
  • 0




IP.Board spam blocked by CleanTalk.