Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con lector de caracteres (https://www.clubdelphi.com/foros/showthread.php?t=82956)

bigguntm 27-04-2013 21:13:28

Ayuda con lector de caracteres
 
Hola a todos, hoy traigo un problemita, en un listbox tengo miles de caracteres cada linea contiene algo distinto, y quisiera que en un edit se leyera los primeros caracteres antes del espacio,

ejemplo..

clubdelphi 2.0

cuando haga click en clubdelphi 2.0, el edit fuera igual a 'clubdelphi' nada mas y que no le prestara atencion a el '2.0'

uso esto para leer la cantidad de caracteres que quiera, pero noc modificarlo para que solo lea los caracteres antes del espacio!

Código Delphi [-]
Edit.text := copy(micadena,2,45);

Saludos!!

Casimiro Notevi 27-04-2013 21:21:58

Tienes muchas formas de hacerlo, por ejemplo:
Código Delphi [-]
edit1.text =  copy(micadena,1,pos(' ')-1)
Lee: http://www.delphibasics.co.uk/RTL.asp?Name=Copy

bigguntm 27-04-2013 22:28:20

Cita:

Empezado por Casimiro Notevi (Mensaje 459444)
Tienes muchas formas de hacerlo, por ejemplo:
Código Delphi [-]edit1.text = copy(micadena,1,pos(' ')-1)

Lee: http://www.delphibasics.co.uk/RTL.asp?Name=Copy

Hola mi pana, gracias por responder,

Código Delphi [-]
var 
micadena : string; 
begin 
micadena := LstBOX.Items[LstBOX.Itemindex];
 Edit5.text := copy(micadena,1,pos(' ')-1);


pero me dice 'Missing operator or semicolon' Saludos

ecfisa 27-04-2013 22:36:56

Hola bigguntm.

Código Delphi [-]
 Edit5.text := Copy(micadena, 1, Pos(' ', micadena)-1);

Saludos.

Casimiro Notevi 27-04-2013 22:37:07

Cita:

Empezado por bigguntm (Mensaje 459452)
pero me dice 'Missing operator or semicolon' Saludos

Cierto, aunque no tenías más que mirar la sintaxis de la función Pos, que para eso te he pasado el enlace a delphibasics.co.uk ;)
Código Delphi [-]
edit5.text := copy(micadena,1,pos(' ',micadena)-1)


EDITO: tal y como ha hecho ecfisa

ecfisa 27-04-2013 22:43:04

Cita:

Empezado por Casimiro Notevi (Mensaje 459455)
Cierto, aunque no tenías más que mirar la sintaxis de la función Pos, que para eso te he pasado el enlace a delphibasics.co.uk ;)

Es así, es el resultado de copiar y pegar sin comprender lo que se está haciendo...

Saludos. :)

Casimiro Notevi 27-04-2013 22:48:17

Cita:

Empezado por ecfisa (Mensaje 459456)
Es así, es el resultado de copiar y pegar sin comprender lo que se está haciendo...
Saludos. :)

Es el método perfecto para no aprender :rolleyes:

bigguntm 30-04-2013 20:19:28

Cita:

Empezado por ecfisa (Mensaje 459456)
Es así, es el resultado de copiar y pegar sin comprender lo que se está haciendo...

Saludos. :)

Hola Ecfisa

El problema no es porque no lo haya leido, todo lo contrario, he leido ese tema y varios mas, pero el detalle persiste,

Código Delphi [-]
Const   Espacio = ' ';  Var   ItemSelect,p : String;
begin
ItemSelect := LstBOX.Items[LstBOX.itemindex];
p : pos(Espacio, Itemselect);

Edit5.text := copy(ItemSelect,1,p-1);

todo esta correctamente escrito y verificado, pero el error 'Missing Operator or Semicolon' persiste, noc si algo le pasa a mi proyecto, pero me dice que no reconoce la operacion
Código Delphi [-]
p : pos(Espacio, Itemselect); o p : pos(' ', Itemselect);

Saludos

Al González 30-04-2013 20:23:21

Operador de asignación:
Código Delphi [-]
:=
Y la variable p debe ser un entero, no un String. ;)

nlsgarcia 30-04-2013 21:45:42

bigguntm,

Cita:

Empezado por bigguntm
...todo esta correctamente escrito y verificado...el error 'Missing Operator or Semicolon' persiste...

Hasta el presente no he visto el primer compilador que se equivoque en ningún lenguaje.

Te sugiero seguir las recomendaciones del Msg #9.

Espero sea útil :)

Nelson.

ecfisa 30-04-2013 22:43:40

Cita:

Empezado por bigguntm (Mensaje 459606)
Hola Ecfisa

El problema no es porque no lo haya leido, todo lo contrario, he leido ese tema y varios mas, pero el detalle persiste,

Entonces te pido que aceptes mis disculpas por apresurarme en el juicio.



En este código:
Cita:

Empezado por bigguntm (Mensaje 459606)
Código Delphi [-]
Const   Espacio = ' ';  Var   ItemSelect,p : String;
begin
  ItemSelect := LstBOX.Items[LstBOX.itemindex];
  p : pos(Espacio, Itemselect);
  Edit5.text := copy(ItemSelect,1,p-1);

Es incorrecta la sintáxis de asignación a la variable p mediante los dos puntos (:) y también es incorrecto el tipo declarado, como bién te han señalado. La sintáxis correcta es la que realizas en la línea siguiente usando: :=

Saludos. :)

bigguntm 01-05-2013 00:44:13

Solucionado!
 
Ok, les pido perdon porque ahi me comi el '=', aunque ese no era el error, el problema era que en el project estaba
Código Delphi [-]
Pos : Integer;

el error : Incompatible types : 'Integer' and 'String' ..

y el codigo quedo asi!

Código Delphi [-]
var
ItemSelect: String;
begin
ItemSelect := LstBOX.Items[LstBOX.Itemindex];
Edit5.Text := copy(ItemSelect,1, pos(' ', ItemSelect)-1);

Saludos, gracias por responder y perdonen por la confusion!! ^\||/


La franja horaria es GMT +2. Ahora son las 02:44:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi