PDA

Ver la Versión Completa : Ayuda con lector de caracteres


bigguntm
27-04-2013, 21:13:28
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!


Edit.text := copy(micadena,2,45);

Saludos!!

Casimiro Notevi
27-04-2013, 21:21:58
Tienes muchas formas de hacerlo, por ejemplo:
edit1.text = copy(micadena,1,pos(' ')-1)
Lee: http://www.delphibasics.co.uk/RTL.asp?Name=Copy

bigguntm
27-04-2013, 22:28:20
Tienes muchas formas de hacerlo, por ejemplo:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)edit1.text = copy(micadena,1,pos(' ')-1)

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

Hola mi pana, gracias por responder,

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.

Edit5.text := Copy(micadena, 1, Pos(' ', micadena)-1);

Saludos.

Casimiro Notevi
27-04-2013, 22:37:07
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 ;)
edit5.text := copy(micadena,1,pos(' ',micadena)-1)


EDITO: tal y como ha hecho ecfisa

ecfisa
27-04-2013, 22:43:04
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
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
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,


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

p : pos(Espacio, Itemselect); o p : pos(' ', Itemselect);

Saludos

Al González
30-04-2013, 20:23:21
Operador de asignación: := Y la variable p debe ser un entero, no un String. ;)

nlsgarcia
30-04-2013, 21:45:42
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
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:


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
Ok, les pido perdon porque ahi me comi el '=', aunque ese no era el error, el problema era que en el project estaba

Pos : Integer;


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

y el codigo quedo asi!


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!! ^\||/